來源:貿澤電子 在上一篇文章中,我們簡要介紹了更高層次的問題,這些問題為優化加速器的需求奠定了基礎。作為一個尖銳的問題提醒,現在讓我們通過一個非常簡單的圖像分類算法,來看一看與之相關聯的計算成本與功耗。 利用Mark Horowitz提供的數據點,我們可以考慮圖像分類器在不同空間限制下的相對功耗。雖然您會注意到Mark的能耗估計是針對45nm節點的,但業界專家建議,這些數據點將繼續按當前的半導體工藝尺寸進行調整。也就是說,無論工藝尺寸是45nm還是16nm,與FP32運算相比,INT8運算的能量成本仍然低一個數量級。 Cadence 嵌入式神經網絡峰會,2017年2月1日 數據來源:Bill Dally(斯坦福) 功耗可按以下方式進行計算: 功耗=能量(J)/運算*運算/s 從這個等式中我們可以看出,只有兩種方法能夠降低功耗:要么減少執行特定運算所需的功耗,要么減少運算的次數,或者一起減少。 對于我們的圖像分類器,我們將選擇ResNet50作為一個目標。ResNet提供了近乎最先進的圖像分類性能,同時與眾多具有類似性能的可比網絡相比,它所需的參數(權重)更少,這便是它的另一大優勢。 為了部署ResNet50,我們每次推斷必需大約77億運算的算力。這意味著,對于每一幅我們想要分類的圖像,我們將產生7.7*10E9的“計算成本”。 現在,讓我們考慮一個相對高容量的推斷應用,在該應用中,我們可能希望每秒對1000幅圖像進行分類。堅持沿用Mark的45nm能量估算,我們得出以下結論: 功耗=4pJ+0.4pJ/運算*7.7B運算/圖像*1000圖像/s=33.88W 作為創新的第一維度,我們可以將網絡FP32量化到8位整數運算。這將功耗降低了一個數量級以上。雖然在訓練期間FP32的精度有利于反向傳輸,但它在像素數據的推斷時間幾乎沒有創造價值。大量研究和論文已經表明,在眾多應用中,可以分析每一層的權重分布并對該分布進行量化,同時將預量化的預測精度保持在非常合理的范圍內。 此外,量化研究還表明,8位整數值對于像素數據來說是很好的“通用”解決方案,并且對于典型網絡的許多內層,可以將其量化到3-4位,而在預測精度上損失最小。由Michaela Blott領導的賽靈思研究實驗室團隊多年來一直致力于二進制神經網絡(BNN)的研究與部署,并取得了一些令人矚目的成果。 如今,我們與DNNDK的重點是將網絡推斷量化至INT8。現代賽靈思FPGA 中的單個DSP片可以在單個時鐘周期內計算兩個8位乘法運算,這并非巧合。在16nm UltraScale+MPSoC器件系列中,我們擁有超過15種不同的器件變型,從數百個DSP片擴展到數千個DSP片,同時保持應用和/OS兼容性。16nm DSP片的最大fCLK峰值為891MHz。因此,中型MPSoC器件是功能強大的計算加速器。 現在,讓我們考慮一下從FP32遷移到INT8的數學含義: 功耗=0.2pJ+0.03pJ/運算*7.7B運算/圖像*1000圖像/s=1.771W Mark在演講中,提出了一個解決計算效率問題的方法,那就是使用專門構建的專用加速器。他的觀點適用于機器學習推斷。 上述分析沒有考慮到的是,我們還將看到FP32的外部DDR流量至少減少四倍。正如您可能預料到的那樣,與外部存儲器訪問相關的功耗成本比內部存儲器高得多,這也是事實。如果我們簡單地利用Mark的數據點,我們會發現訪問DRAM的能量成本大約是1.3-2.6nJ,而訪問L1存儲器的能量成本可能是10-100pJ。看起來,與訪問內部存儲器(如賽靈思SoC中發現的BlockRAM和UltraRAM)的能量成本相比,外部DRAM訪問的能量成本至少高出一個數量級。 除了量化所提供的優勢以外,我們還可以使用網絡剪枝技術來減少推斷所需的計算工作負載。使用賽靈思Vitis AI優化器工具,可以將在 ILSCVR2012(ImageNet 1000類)上訓練的圖像分類模型的計算工作負載減少30-40%,精度損失不到1%。再者,如果我們減少預測類的數量,我們可以進一步增加這些性能提升。現實情況是,大多數現實中的圖像分類網絡都是在有限數量的類別上進行訓練的,這使得超出這種水印的剪枝成為可能。作為參考,我們其中一個經過剪枝的VGG-SSD實現方案在四個類別上進行訓練,需要17個GOP(與原始網絡需要117個GOP相比),在精度上沒有損失!誰說VGG沒有內存效率? 然而,如果我們簡單地假設我們在ILSCVR2012上訓練我們的分類器,就會發現我們通常可以通過剪枝減少大約30%的計算工作負載。考慮到這一點,我們得出以下結論: 功耗=0.2pJ+0.03pJ/運算*7.7B運算/圖像0.7*1000圖像/s=1.2397W 將此值與FP32推斷的原始估計值33.88W進行比較。 雖然這種分析沒有考慮到多種變量(混合因素),但顯然存在一個重要的優化機會。因此,當我們繼續尋找遙遙無期的“解決計算飽和的靈丹妙藥”時,考慮一下吳恩達斷言“AI是新電能”的背景。我認為他并不是在建議AI需要更多的電能,只是想表明AI具有極高的價值和巨大的影響力。所以,讓我們對ML推斷保持冷靜的頭腦。對待機器學習推斷應保持冷靜思考,既不必貿然跟風,也無需針對高性能推斷設計采用液態冷卻散熱。 |