Blog

革命性稀疏張量處理技術:為大規模機器學習模型帶來能源和效能突破

Blog Image
革命性稀疏張量處理技術:為大規模機器學習模型帶來能源和效能突破

October 31, 2023

重點摘要:
  1. 研究人員開發了新技術,專門用於加速稀疏張量的處理,這對於大規模機器學習模型和能源效率有顯著改進。
  2. 兩種主要的解決方案包括一種能高效找到稀疏模式中非零值的技術,以及一種能提高緩衝儲存區利用率、減少晶片外儲存流量的方法。
  3. 研究人員還提出了「過度預訂」的概念,這不僅提高了數據處理速度,還減少了硬體需求,並計劃將這一概念應用於計算機架構的其他方面。



新聞內文:
研究人員開發的新技術旨在高效加速稀疏張量的處理,這種數據結構在高性能計算任務中使用。這些互補的技術可能會顯著改進大規模機器學習模型等系統的性能和能源效率,這些模型推動生成式人工智慧。

「張量」是機器學習模型使用的數據結構。這兩種新方法都旨在高效利用張量中的稀疏性(零值)。在處理這些張量時,可以「跳過零值」,從而節省計算和內部儲存。例如,任何數乘以零都是零,所以可以跳過該操作。此外,它還可以壓縮張量(不需要儲存零值),以便更大部分可以儲存在晶片內部儲存中。

然而,利用稀疏性存在幾個挑戰。在大型張量中查找非零值並不容易。現有方法通常限制非零值的位置,透過實施稀疏模式以簡化搜索,但這限制了可以有效處理的稀疏張量的種類。

另一個挑戰是,在張量的不同區域中,非零值的數量可能會有所不同。這使得難以確定不同區域在內部儲存中需要多少空間。為確保區域合適,通常會分配比實際需要更多的空間,這導致緩衝儲存區被低效利用。這增加了晶片外儲存流量,從而增加了能源消耗。

麻省理工學院(MIT)和NVIDIA的研究人員為解決這些問題制定了兩種解決方案。首先,他們開發了一種技術,允許硬體高效地找到更多稀疏模式中的非零值。

另一個解決方案是創造一種處理數據不適合內部儲存的情況的方法,從而提高了緩衝儲存區的利用率,減少了晶片外儲存流量。

這兩種方法都提高了專門設計用於加速稀疏張量處理的硬體加速器的性能並降低了能源需求。

值得注意的是,MIT的研究人員設計的硬體加速器名為「HighLight」,它能夠處理各種稀疏模式,即使在運行沒有零值的模型時仍然表現出色。他們使用一種稱為「分層結構稀疏」的技術,可以有效地表示由幾個簡單稀疏模式組成的各種稀疏模式。這種方法將張量中的值分成較小的塊,其中每個塊都有自己的簡單稀疏模式(例如,一個具有四個值的塊中可能有兩個零和兩個非零)。

然後,他們將這些塊組合成一個層次結構,每個塊的集合也有自己的簡單稀疏模式。這種簡單性使HighLight能夠更有效地查找和跳過零值,從而可以充分利用減少多餘計算的機會。平均而言,他們的加速器設計的能源延遲乘積(與能源效率相關的度量標準)比其他方法好了大約六倍。

這項研究對於改進稀疏張量處理的性能和能源效率具有重要意義,尤其是對於大型機器學習模型。它表明,專門設計的硬體加速器可以在不失去靈活性和適應性的情況下實現高效率,這對於推動人工智慧領域的發展至關重要。

Wu解釋道:「最終,HighLight加速器能夠高效加速密集型模型,因為它不引入太多開銷,同時能夠根據層次結構的稀疏性來利用具有不同零值數量的工作負載」。

在未來,她和她的合作者希望將層次結構的稀疏性應用於更多類型的機器學習模型以及這些模型中的不同類型的張量。

裁縫和Swiftiles:有效地「過度預訂」以加速工作負載

研究人員還可以利用稀疏性更高效地移動和處理計算機晶片上的數據。

由於張量通常比晶片上的內部儲存緩衝區所能儲存的更大,因此晶片一次只能抓取和處理張量的一個塊。這些塊稱為瓷磚。

為了最大程度地利用緩衝區並限制晶片必須訪問晶片外儲存的次數,研究人員尋求使用適合緩衝區的最大瓷磚。

但是,在稀疏張量中,許多數據值都是零,因此甚至可以將更大的瓷磚放入緩衝區中,而不是根據其容量來估計的大小。零值不需要儲存。

但是,不同區域的零值數量可能不同,因此每個瓷磚的零值數量也可能不同。這使得難以確定適合緩衝區的瓷磚大小。因此,現有方法通常保守地假設沒有零值,並選擇較小的瓷磚,導致緩衝區中浪費了空間。

為了應對這種不確定性,研究人員提出了使用「過度預訂」的方法,允許它們增加瓷磚的大小,並找到一種「容忍瓷磚不適合緩衝區」的方法。

就像航空公司會為一趟飛行的機票超額預訂一樣,如果所有乘客都出現,航空公司必須賠償被排除在飛機外的乘客。但通常不是所有乘客都會出現。

在稀疏張量中,可以選擇一個瓷磚大小,通常情況下,這些瓷磚將有足夠的零值,以便大多數仍適應緩衝區。但偶爾,一個瓷磚將具有比緩衝區容納的非零值更多的情況。在這種情況下,這些數據將從緩衝區中排除。

研究人員使硬體只重新提取被排除的數據,而無需再次抓取和處理整個瓷磚。他們修改了緩衝區的「尾部」以處理這個問題,因此這種技術被稱為「Tailors」。

然後,他們還創造了一種用於找到瓷磚大小的方法,利用了過度預訂。這種方法稱為「Swiftiles」,迅速估算出理想的瓷磚大小,以便使用者設定的一定百分比的瓷磚被超額預訂。

「Swiftiles」減少了硬體需要檢查張量以識別理想瓷磚大小的次數,從而節省了計算。「Tailors」和「Swiftiles」的結合使速度翻了一番,同時只需要現有硬體加速器需求的一半,而這些硬體加速器無法處理過度預訂。

Xue說:「『Swiftiles』允許我們估算這些瓷磚需要多大,而不需要多次換代以精煉估算。這只能在支持過度預訂的情況下使用。即使誤差有些大,由於非零值的分佈方式,您仍然可以獲得相當大的加速效果」。

在未來,研究人員希望將過度預訂的想法應用於計算機架構的其他方面,並努力改進估算過度預訂的最佳水平的過程。

這項研究部分由麻省理工學院人工智慧硬體計劃資助。

新聞原址: https://news.mit.edu/2023/new-techniques-efficiently-accelerate-sparse-tensors-1030?ref=futurepedia