NVIDIA Ampere架構(gòu)使數(shù)學(xué)運算速度加倍,為各種神經(jīng)網(wǎng)絡(luò)處理提速。
如果你玩過疊疊樂,那么就可以把AI稀疏性(sparsity)想象成是疊疊樂。
游戲參與者首先將積木塊交錯堆疊成一座積木塔。然后,每名玩家輪流取出一塊積木,過程中玩家必須小心翼翼的,不能讓積木塔倒塌。
游戲開始的時候,抽取積木很容易,但越往后進行就會變得越驚險,最后必定會有一名玩家在取出積木時碰倒整個積木塔。
多年來,研究人員們一直在研究如何通過稀疏性加速AI,其過程就像是在玩兒數(shù)字版的“疊疊樂”。他們嘗試著盡可能多地從神經(jīng)網(wǎng)絡(luò)中抽出多余參數(shù),同時又不破壞AI的超高精度。
這樣做是為了減少深度學(xué)習(xí)所需的矩陣乘法堆,從而縮短取得準(zhǔn)確結(jié)果的時間。但到目前為止,還沒有出現(xiàn)“大贏家”。
過去,研究人員嘗試了多種技術(shù),抽出部分的權(quán)重甚至達到了神經(jīng)網(wǎng)絡(luò)的95%。但是,在整個過程中,他們所花的時間要遠多于他們所節(jié)省的時間,而且他們還需要付出巨大的努力來彌補精簡后的模型精度。此外,適用于一種模型的精簡方法往往并不適用于其他模型。
但如今,這一問題得到了解決。
數(shù)字稀疏
NVIDIA Ampere架構(gòu)為NVIDIA A100 GPU帶來了第三代Tensor Core核心,其可以充分利用網(wǎng)絡(luò)權(quán)值下的細粒度稀疏優(yōu)勢。相較于稠密數(shù)學(xué)計算(dense math),最大吞吐量提高了2倍,而且不會犧牲深度學(xué)習(xí)的矩陣乘法累加任務(wù)的精度。
測試表明,這種稀疏方法在許多AI任務(wù)(包括圖像分類、對象檢測和語言翻譯)中使用,都能保持與使用稠密數(shù)學(xué)計算相同的精度。該方法還已在卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)以及基于attention的transformer上進行了測試。
A100使用稀疏矩陣加速AI推理任務(wù)
內(nèi)部數(shù)學(xué)加速能夠?qū)?yīng)用層面產(chǎn)生重大影響。A100 GPU可以利用稀疏性運行BERT(BERT是最新的自然語言處理模型),其運行速度比稠密數(shù)學(xué)計算快50%。
NVIDIA Ampere架構(gòu)利用了神經(jīng)網(wǎng)絡(luò)中小值的普遍性,讓盡可能多的AI應(yīng)用受益。具體而言,該架構(gòu)定義了一種可以減少一半權(quán)值(50%稀疏)來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的方法。
少即是多,但前提是正確
一些研究人員使用粗粒度的剪枝方法從神經(jīng)網(wǎng)絡(luò)層中切斷整個通道,這往往會降低網(wǎng)絡(luò)精度。而NVIDIA Ampere架構(gòu)中的方法采用了結(jié)構(gòu)化稀疏和細粒度修剪技術(shù),因此不會明顯降低精度,用戶可以在重訓(xùn)練模型時進行驗證。
在將網(wǎng)絡(luò)修剪到合適狀態(tài)后,A100 GPU將自動完成其余工作。
A100 GPU中的Tensor Core核心能夠有效地壓縮稀疏矩陣以實現(xiàn)合適的稠密數(shù)學(xué)計算。跳過矩陣中的實際值為零的位置能夠減少計算量,從而節(jié)省功耗和時間。壓縮稀疏矩陣還可以減少占用寶貴的內(nèi)存和帶寬。
我們對稀疏性的支持是NVIDIA Ampere架構(gòu)中的眾多新功能之一,它將AI和HPC性能推向新的高度。