隨著 AI 系統的快速發展,其能源需求也不斷增加。訓練新系統需要大量的資料集和處理器時間,因此能耗極高。在某些情況下,執行一些訓練好的系統,智慧型手機就能輕鬆勝任。但是,執行的次數太多,能耗也會增加。 幸運的是,有很多方法可以降低後者的能耗。 IBM 和英特爾已經試驗過模仿實際神經元行為設計的處理器。 IBM 也測試了在相變記憶體中執行神經網路運算,以避免重複存取 RAM。 現在,IBM 又推出了另一種方法。該公司的新型 NorthPole 處理器綜合了上述方法的一些理念,並將其與一種非常精簡的計算運行方法相結合,從而創造出一種能高效執行基於推理的神經網路的高能效晶片。在影像分類或音訊轉錄等方面,該晶片的效率是 GPU 的 35 倍。
官方部落格:https://research.ibm.com/blog/northpole-ibm-ai-chip #NorthPole 與傳統的AI 處理器不同
############################## #首先,NorthPole 對訓練神經網路的需求沒有任何幫助,它純粹是為執行而設計的。 ######其次,它不是通用的 AI 處理器,而是專門為以推理為重點的神經網路設計的。所以,如果你想用它來推理、找出圖像或音訊片段的內容等,那麼它就對了。但如果你需要運行一個大型語言模型,這款晶片看起來就沒有什麼太大用處了。 ###############最後,雖然NorthPole 借鑒了神經形態計算晶片的一些理念,但它並不是神經形態硬件,因為它的處理單元執行的是計算,而不是模擬實際神經元使用的脈衝通訊。 ###############NorthPole 和先前的 TrueNorth 一樣,由一個大型運算單元陣列(16×16)組成,每個單元都包含本地記憶體和程式碼執行能力。因此,神經網路中各種連接的所有權重都可以準確地儲存在需要的地方。 ###############他還有一個特點是廣泛的片上網絡,至少有四種不同的網絡。其中一些網路將已完成計算的資訊傳送到下一個需要它們的計算單元。其他網路則用於重新配置整個運算單元陣列,在上一層運算仍在進行時,提供執行一層神經網路所需的神經權重和程式碼。最後,優化相鄰計算單元之間的通訊。這對於在圖像中尋找物體邊緣等情況非常有用。如果在輸入影像時將相鄰像素分配給相鄰的運算單元,它們就能更輕鬆地合作辨識出跨越相鄰像素的特徵。 ###############除此之外,NorthPole 的運算資源也不同尋常。每個單元都經過最佳化,可執行精度較低的計算,精度從 2 bit 到 8 bit 不等。為了保證這些執行單元的使用,它們不能根據變數值執行條件分支。也就是說,使用者的程式碼不能包含 if 語句。這種簡單的執行方式使每個計算單元都能進行大規模並行執行。在 2 bit 精度下,每個單元可並行執行 8000 多次計算。 ##################配套軟體###################由於這些獨特設計,NorthPole 團隊需要開發自己的訓練軟體,以計算出每一層成功運作所需的最低精度等級。在晶片上執行神經網路也是一個相對不尋常的過程。 ###############一旦神經網路的權重和連接被置於晶片上的緩衝區,執行時只需要一個外部控制器上傳它要運行的數據,並告訴它開始運行。其他一切運作都不需要中央處理器參與,這也限制了系統級功耗。 ############
NorthPole 測試晶片採用 12 奈米製程製造,遠遠落後於尖端技術。儘管如此,他們還是成功地在 220 億晶體管上安裝了 256 個計算單元,每個單元擁有 768 KB 的記憶體。當該系統與採用類似製程製造的英偉達 V100 Tensor Core GPU 相比時,可以發現 NorthPole 在相同功耗下的運算能力是後者的 25 倍。 在相同的條件下,NorthPole 的效能比最先進的 GPU 高出約五倍。對該系統的測試表明,它還能高效執行一系列廣泛使用的神經網路任務。 以上是220億晶體管,IBM機器學習專用處理器NorthPole,能源效率25倍提升的詳細內容。更多資訊請關注PHP中文網其他相關文章!