<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 智能計(jì)算 > 業(yè)界動(dòng)態(tài) > IBM的8位浮點(diǎn)精度深度神經(jīng)網(wǎng)絡(luò)模型解析

          IBM的8位浮點(diǎn)精度深度神經(jīng)網(wǎng)絡(luò)模型解析

          作者: 時(shí)間:2019-01-15 來(lái)源:網(wǎng)絡(luò) 收藏

            在12月初舉辦的NeurIPS會(huì)議上,展示了一款新型人工智能芯片。

          本文引用地址:http://www.ex-cimer.com/article/201901/396743.htm

            的研究人員聲稱,他們已開(kāi)發(fā)出一個(gè)更加高效的模型用于處理神經(jīng)網(wǎng)絡(luò),該模型只需使用8位浮點(diǎn)精度進(jìn)行訓(xùn)練,推理(inferencing)時(shí)更是僅需4位浮點(diǎn)精度。該研究的成果已于2018年12月初在國(guó)際電子元件會(huì)議(International Electron Devices Meeting,IEDM)和神經(jīng)信息處理系統(tǒng)大會(huì)(Conference on NeuralInformation Processing Systems,NeurIPS)上發(fā)布。

            簡(jiǎn)而言之,展示了專用于減少精度處理單元的定制硬件,以及能夠利用該硬件進(jìn)行(DNN)訓(xùn)練和推理的新算法。其主要目標(biāo)在于提高硬件的能效,使其可以應(yīng)用于范圍更廣泛的人工智能解決方案。

            下一代人工智能應(yīng)用程序需要更快的響應(yīng)時(shí)間、更大的人工智能工作負(fù)載以及來(lái)自眾多數(shù)據(jù)流的多模式數(shù)據(jù)。為了釋放人工智能的全部潛能,我們重新設(shè)計(jì)了將人工智能考慮在內(nèi)的硬件:從加速器到用于人工智能工作負(fù)載的特定用途硬件(例如我們的新芯片),以及最終用于人工智能的量子計(jì)算技術(shù)。使用新的硬件解決方案擴(kuò)展人工智能是IBM研究院(IBM Research)更廣泛努力的一部分,以期從范圍狹窄的人工智能(通常用于處理具體的、界限清楚的任務(wù))轉(zhuǎn)向范圍廣泛的人工智能(跨越各個(gè)學(xué)科,可幫助人類解決最迫切的問(wèn)題)。

            具體而言,IBM研究院提出了可提供8位浮點(diǎn)(FP8)精度用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的硬件。8位浮點(diǎn)精度是16位浮點(diǎn)精度(FP16)的一半,而16位浮點(diǎn)精度自2015年以來(lái)一直是工作的事實(shí)標(biāo)準(zhǔn)。(提議的硬件將依靠FP16來(lái)累積點(diǎn)積,而不是現(xiàn)在使用的FP32。)借助于稍后介紹的新算法技術(shù),IBM的研究人員表示,他們可以跨各種深度學(xué)習(xí)模型保持精確度。事實(shí)上,他們記錄在案了使用FP8精度基于圖像、語(yǔ)音和文本數(shù)據(jù)集對(duì)所進(jìn)行的訓(xùn)練,并實(shí)現(xiàn)了與基于FP32的訓(xùn)練相當(dāng)?shù)哪P途_度。

            降低精度的模型基于三項(xiàng)軟件創(chuàng)新:一種新的FP8格式,讓用于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的矩陣乘法和卷積計(jì)算可在不損失精確度的情況下工作;一種“基于組塊的計(jì)算”技術(shù),使得只需使用FP8乘法和FP16加法即可處理神經(jīng)網(wǎng)絡(luò)成為現(xiàn)實(shí);并且在加權(quán)更新過(guò)程中使用浮點(diǎn)隨機(jī)舍入,允許以16位浮點(diǎn)精度(而不是32位浮點(diǎn)精度)計(jì)算這些更新。

            IBM展示的硬件是一款基于“新式數(shù)據(jù)流核心”的14納米處理器。該處理器由降低精度的數(shù)據(jù)流引擎、16位浮點(diǎn)精度組塊加法引擎和核心上內(nèi)存及內(nèi)存訪問(wèn)引擎組成。研究人員聲稱,與現(xiàn)在的平臺(tái)相比,這種設(shè)計(jì)有可能使訓(xùn)練速度提高2到4倍。其中部分改進(jìn)是用于訓(xùn)練模型的位寬減少了2倍的結(jié)果,但其余改進(jìn)則是因?yàn)橛糜诶媒档偷木鹊能浖夹g(shù)。

            也許更重要的是,IBM研究院表示,由于其FP8/FP16模型相較標(biāo)準(zhǔn)FP16/FP32模型而言所需的內(nèi)存帶寬和存儲(chǔ)空間更少,并且因?yàn)槠溆布菫樘幚磉@些神經(jīng)網(wǎng)絡(luò)而定制的,能效可提高2-4倍以上。研究人員表示,這將使深度神經(jīng)網(wǎng)絡(luò)模型能夠在一些邊緣設(shè)備上進(jìn)行訓(xùn)練,而不僅僅是在數(shù)據(jù)中心服務(wù)器上進(jìn)行訓(xùn)練。

            研究人員還發(fā)表了一篇關(guān)于在多個(gè)深度學(xué)習(xí)應(yīng)用程序中使用4位浮點(diǎn)精度推理,而同樣不損失精確度的論文(目前,大部分推理基于使用8位浮點(diǎn)精度或更多位浮點(diǎn)精度的計(jì)算)。此處的意義在于,位寬的減小將再次提高吞吐量和能效。對(duì)降低精度的需求也使得基于在訓(xùn)練期間優(yōu)化的位精度構(gòu)建用于訓(xùn)練和推理的統(tǒng)一架構(gòu)更加自然。根據(jù)研究人員的說(shuō)法,由于減少了專用于計(jì)算的處理器面積并擁有在內(nèi)存中保留模型和激活數(shù)據(jù)的能力,此類硬件可以帶來(lái)推理性能的超線性提升。

            相關(guān)研究領(lǐng)域需要與將這種降低精度的模型應(yīng)用于模擬芯片相關(guān),模擬芯片天生不如數(shù)字芯片精確,但能效卻高得多。IBM的研究人員開(kāi)發(fā)了一種使用相變存儲(chǔ)器(PCM)的8位浮點(diǎn)精度模擬加速器,它可以充當(dāng)用于處理神經(jīng)網(wǎng)絡(luò)的計(jì)算基板和存儲(chǔ)介質(zhì)。根據(jù)2018年早些時(shí)候發(fā)布的工作成果,IBM研究院已經(jīng)實(shí)施了該技術(shù)的創(chuàng)新加成,稱為預(yù)測(cè)PCM(Projected PCM,Proj-PCM),它可以減少PCM硬件的一些令人煩惱的不精確性。研究團(tuán)隊(duì)認(rèn)為,該設(shè)計(jì)可為物聯(lián)網(wǎng)(IoT)和邊緣設(shè)備等功率受限環(huán)境中的人工智能訓(xùn)練和推理提供高性能水平。

            盡管所有這些仍處于研究階段,但I(xiàn)BM顯然對(duì)構(gòu)建自己的人工智能芯片和加速器并將其交付到客戶手中感興趣。他們計(jì)劃如何將該技術(shù)商業(yè)化仍然有待觀察。無(wú)論如何,如果降低精度的訓(xùn)練和推理流行起來(lái),IBM將面臨很多競(jìng)爭(zhēng)。這些競(jìng)爭(zhēng)不僅僅來(lái)自將相應(yīng)調(diào)整自己的處理器平臺(tái)的英特爾和英偉達(dá)等行業(yè)巨頭,它們還來(lái)自似乎每天都在涌現(xiàn)的人工智能芯片初創(chuàng)公司。在一個(gè)如此飛速變化的環(huán)境中,成功將青睞于最靈活變通的參與者。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();