在12月初舉辦的NeurIPS會議上,IBM展示了一款新型人工智能芯片。
IBM的研究人員聲稱,他們已開發出一個更加高效的模型用于處理神經網絡,該模型只需使用8位浮點精度進行訓練,推理(inferencing)時更是僅需4位浮點精度。該研究的成果已于2018年12月初在國際電子元件會議(International Electron Devices Meeting,IEDM)和神經信息處理系統大會(Conference on NeuralInformation Processing Systems,NeurIPS)上發布。
簡而言之,IBM展示了專用于減少精度處理單元的定制硬件,以及能夠利用該硬件進行深度神經網絡(DNN)訓練和推理的新算法。其主要目標在于提高硬件的能效,使其可以應用于范圍更廣泛的人工智能解決方案。
下一代人工智能應用程序需要更快的響應時間、更大的人工智能工作負載以及來自眾多數據流的多模式數據。為了釋放人工智能的全部潛能,我們重新設計了將人工智能考慮在內的硬件:從加速器到用于人工智能工作負載的特定用途硬件(例如我們的新芯片),以及最終用于人工智能的量子計算技術。使用新的硬件解決方案擴展人工智能是IBM研究院(IBM Research)更廣泛努力的一部分,以期從范圍狹窄的人工智能(通常用于處理具體的、界限清楚的任務)轉向范圍廣泛的人工智能(跨越各個學科,可幫助人類解決最迫切的問題)。
具體而言,IBM研究院提出了可提供8位浮點(FP8)精度用于訓練神經網絡的硬件。8位浮點精度是16位浮點精度(FP16)的一半,而16位浮點精度自2015年以來一直是深度神經網絡工作的事實標準。(提議的硬件將依靠FP16來累積點積,而不是現在使用的FP32。)借助于稍后介紹的新算法技術,IBM的研究人員表示,他們可以跨各種深度學習模型保持精確度。事實上,他們記錄在案了使用FP8精度基于圖像、語音和文本數據集對深度神經網絡所進行的訓練,并實現了與基于FP32的訓練相當的模型精確度。
降低精度的模型基于三項軟件創新:一種新的FP8格式,讓用于深度神經網絡訓練的矩陣乘法和卷積計算可在不損失精確度的情況下工作;一種“基于組塊的計算”技術,使得只需使用FP8乘法和FP16加法即可處理神經網絡成為現實;并且在加權更新過程中使用浮點隨機舍入,允許以16位浮點精度(而不是32位浮點精度)計算這些更新。
IBM展示的硬件是一款基于“新式數據流核心”的14納米處理器。該處理器由降低精度的數據流引擎、16位浮點精度組塊加法引擎和核心上內存及內存訪問引擎組成。研究人員聲稱,與現在的平臺相比,這種設計有可能使訓練速度提高2到4倍。其中部分改進是用于訓練模型的位寬減少了2倍的結果,但其余改進則是因為用于利用降低的精度的軟件技術。
也許更重要的是,IBM研究院表示,由于其FP8/FP16模型相較標準FP16/FP32模型而言所需的內存帶寬和存儲空間更少,并且因為其硬件是為處理這些神經網絡而定制的,能效可提高2-4倍以上。研究人員表示,這將使深度神經網絡模型能夠在一些邊緣設備上進行訓練,而不僅僅是在數據中心服務器上進行訓練。
研究人員還發表了一篇關于在多個深度學習應用程序中使用4位浮點精度推理,而同樣不損失精確度的論文(目前,大部分推理基于使用8位浮點精度或更多位浮點精度的計算)。此處的意義在于,位寬的減小將再次提高吞吐量和能效。對降低精度的需求也使得基于在訓練期間優化的位精度構建用于訓練和推理的統一架構更加自然。根據研究人員的說法,由于減少了專用于計算的處理器面積并擁有在內存中保留模型和激活數據的能力,此類硬件可以帶來推理性能的超線性提升。
相關研究領域需要與將這種降低精度的模型應用于模擬芯片相關,模擬芯片天生不如數字芯片精確,但能效卻高得多。IBM的研究人員開發了一種使用相變存儲器(PCM)的8位浮點精度模擬加速器,它可以充當用于處理神經網絡的計算基板和存儲介質。根據2018年早些時候發布的工作成果,IBM研究院已經實施了該技術的創新加成,稱為預測PCM(Projected PCM,Proj-PCM),它可以減少PCM硬件的一些令人煩惱的不精確性。研究團隊認為,該設計可為物聯網(IoT)和邊緣設備等功率受限環境中的人工智能訓練和推理提供高性能水平。
盡管所有這些仍處于研究階段,但IBM顯然對構建自己的人工智能芯片和加速器并將其交付到客戶手中感興趣。他們計劃如何將該技術商業化仍然有待觀察。無論如何,如果降低精度的訓練和推理流行起來,IBM將面臨很多競爭。這些競爭不僅僅來自將相應調整自己的處理器平臺的英特爾和英偉達等行業巨頭,它們還來自似乎每天都在涌現的人工智能芯片初創公司。在一個如此飛速變化的環境中,成功將青睞于最靈活變通的參與者。