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