220億晶體管,IBM機器學習專用處理器NorthPole,能效25倍提升
IBM 再度發力。
隨著 AI 系統的飛速發展,其能源需求也在不斷增加。訓練新系統需要大量的數據集和處理器時間,因此能耗極高。在某些情況下,執行一些訓練好的系統,智能手機就能輕松勝任。但是,執行的次數太多,能耗也會增加。
幸運的是,有很多方法可以降低后者的能耗。IBM 和英特爾已經試驗過模仿實際神經元行為設計的處理器。IBM 還測試了在相變存儲器中執行神經網絡計算,以避免重復訪問 RAM。
現在,IBM 又推出了另一種方法。該公司的新型 NorthPole 處理器綜合了上述方法的一些理念,并將其與一種非常精簡的計算運行方法相結合,從而創造出一種能高效執行基于推理的神經網絡的高能效芯片。在圖像分類或音頻轉錄等方面,該芯片的效率是 GPU 的 35 倍。
NorthPole 的不同之處
NorthPole 與傳統的 AI 處理器不同
首先,NorthPole 對訓練神經網絡的需求沒有任何幫助,它純粹是為執行而設計的。其次,它不是通用的 AI 處理器,而是專門為以推理為重點的神經網絡設計的。所以,如果你想用它推理、找出圖像或音頻片段的內容等,那么它就對了。但如果你需要運行一個大型語言模型,這款芯片看起來就沒有什么太大用處了。
最后,雖然 NorthPole 借鑒了神經形態計算芯片的一些理念,但它并不是神經形態硬件,因為它的處理單元執行的是計算,而不是模擬實際神經元使用的脈沖通信。
NorthPole 和之前的 TrueNorth 一樣,由一個大型計算單元陣列(16×16)組成,每個單元都包含本地內存和代碼執行能力。因此,神經網絡中各種連接的所有權重都可以準確地存儲在需要的地方。
他還有一個特點是廣泛的片上網絡,至少有四種不同的網絡。其中一些網絡將已完成計算的信息傳送到下一個需要它們的計算單元。其他網絡則用于重新配置整個計算單元陣列,在上一層計算仍在進行時,提供執行一層神經網絡所需的神經權重和代碼。最后,優化相鄰計算單元之間的通信。這對于在圖像中尋找物體邊緣等情況非常有用。如果在輸入圖像時將相鄰像素分配給相鄰的計算單元,它們就能更輕松地合作識別出跨越相鄰像素的特征。
除此之外,NorthPole 的計算資源也不同尋常。每個單元都經過優化,可執行精度較低的計算,精度從 2 bit 到 8 bit 不等。為了保證這些執行單元的使用,它們不能根據變量值執行條件分支。也就是說,使用者的代碼不能包含 if 語句。這種簡單的執行方式使每個計算單元都能進行大規模并行執行。在 2 bit 精度下,每個單元可并行執行 8000 多次計算。
配套軟件
由于這些獨特設計,NorthPole 團隊需要開發自己的訓練軟件,以計算出每一層成功運行所需的最低精度水平。在芯片上執行神經網絡也是一個相對不尋常的過程。
一旦神經網絡的權重和連接被置于芯片上的緩沖區,執行時只需要一個外部控制器上傳它要運行的數據,并告訴它開始運行。其他一切運行都無需中央處理器參與,這也限制了系統級功耗。
在相同的條件下,NorthPole 的性能比最先進的 GPU 高出約五倍。對該系統的測試表明,它還能高效執行一系列廣泛使用的神經網絡任務。
相關推薦
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。