IBM的8位浮點精度深度神經網絡模型解析

2020-12-25 電子產品世界

  在12月初舉辦的NeurIPS會議上,IBM展示了一款新型人工智慧晶片。

本文引用地址:http://www.eepw.com.cn/article/201901/396743.htm

  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將面臨很多競爭。這些競爭不僅僅來自將相應調整自己的處理器平臺的英特爾和英偉達等行業巨頭,它們還來自似乎每天都在湧現的人工智慧晶片初創公司。在一個如此飛速變化的環境中,成功將青睞於最靈活變通的參與者。


相關焦點

  • 模型壓縮一半,精度幾乎無損,TensorFlow半精度浮點工具包來啦
    魚羊 發自 凹非寺量子位 報導 | 公眾號 QbitAI近日,TensorFlow模型優化工具包又添一員大將,訓練後的半精度浮點量化(float16 quantization)工具。壓縮大小,不減精度雙精度是64位,單精度是32位,所謂的半精度浮點數就是使用2個字節(16位)來存儲。比起8位或16位整數,半精度浮點數具有動態範圍高的優點;而與單精度浮點數相比,它能節省一半的儲存空間和帶寬。
  • 8-Bit實現零損耗
    本文包含了以下重點內容:• 一種新的8-Bit浮點格式,結合了DNN(深度神經網絡)訓練的見解,實現了一般矩陣算法(GEMM)在深度學習中模型精度的零損耗。• 一種叫作「基塊計算」的新技術。在分層應用中,僅使用了8-bit乘法和16-bit加法(代替了16-bit和32-bit的獨立計算)進行矩陣和卷積計算。• 在權重更新過程中應用了浮點隨機捨入,實現了用16-bit精度進行更新(而不是32-bit)。• 從綜合效果來看,這項技術廣泛適用於整套深度學習模型和數據集,同時完全保證精度。 這種方法的根基是近似計算。
  • 工程之道,深度學習的工業級模型量化實戰
    來源:新浪證券背景近年來隨著邊緣計算和物聯網的興起與發展,許多移動終端(比如手機)成為了深度學習應用的承載平臺,甚至出現了各式各樣專用的神經網絡計算晶片。由於這些設備往往對計算資源和能耗有較大限制,因此在高性能伺服器上訓練得到的神經網絡模型需要進行裁剪以縮小內存佔用、提升計算速度後,才能較好地在這些平臺上運行。
  • TensorFlow 模型優化工具包:模型大小減半,精度幾乎不變!
    這套工具包括了:在計算中,半精度是二進位浮點計算機數字格式,佔用計算機存儲器中的 16 位。在 IEEE 754-2008 標準中,16 位 base-2 格式稱為 binary16。它用於在高精度對於執行算術計算不是必需的應用中存儲浮點值,並且 IEEE 754 標準將 binary16 指定為具有以下格式:
  • 單精度浮點加法器的FPGA實現
    >浮點的存儲格式,設計出一種適合在FPGA上實現單精度浮點加法運算的算法處理流程,依據此算法處理流程劃分的各個處理模塊便於流水設計的實現。所以這裡所介紹的單精度浮點加法器具有很強的運算處理能力。關鍵詞:IEEE 754;單精度浮點;加法運算;FPGA本文引用地址:http://www.eepw.com.cn/article/192020.htm 圖像處理通常採用軟體或者數位訊號處理器(DSP)實現。
  • 基於深度神經網絡的脫硫系統預測模型及應用
    但上述改進仍未考慮脫硫系統大慣性的特點,FU J 等使的用 LSTM 網絡,就能實現信息在時序上傳遞。不過因其設計的網絡只使用了 LSTM 一種結構,神經網絡在結構設計上還有改進空間。基於上述分析,本文採用多種網絡結構和數據處理技術設計深度神經網絡模型,模型預測誤差水平和訓練代價顯著下降。
  • 有問有答:什麼是單精度雙精度浮點?
    熟悉本站的讀者應該經常會在我們的新聞、評測中看到如下的幾個名詞或單位:單精度浮點、FP32、雙精度浮點、FP64、FLOPS……那麼浮點究竟是什麼
  • 淺析浮點數精度問題
    很多開發人員因浮點數難以掌控的精度問題而儘量避免使用浮點數。本文從浮點數的表示方法入手,淺析浮點數的精度問題,希望可以加深大家對浮點數的理解。常用的浮點數有單精度浮點數(float)和雙精度浮點數(double),本文主要以單精度浮點數為例,雙精度浮點數原理相同。通常使用IEEE754標準存儲和表示浮點數。IEEE754標準用以下形式來表示一個浮點數。
  • ICLR oral:清華提出離散化架構WAGE,神經網絡訓練推理合二為一
    該報告主要探討如何實現對全離散化深度神經網絡進行訓練和推理,便於部署到嵌入式設備中。 論文地址:https://openreview.net/forum?id=HJGXzmspb ICLR 是深度學習領域的頂會,更被譽為深度學習的 「無冕之王」,得到了 google, Facebook, DeepMind, Amazon,IBM 等眾多高科技公司的高度關注和參與。
  • 神經網絡聲碼器:讓機器人「說人話」
    這裡的關鍵是如何讓神經聲碼器高效地用於序列到序列聲學模型,來提高TTS質量。科學家已經開發出了很多這樣的神經網絡聲碼器,例如WaveNet、Parallel WaveNet、WaveRNN、LPCNet 和 Multiband WaveRNN等,它們各有千秋。
  • 深度學習之卷積神經網絡經典模型
    Alexnet網絡中各個層發揮了不同的作用,ReLU,多個CPU是為了提高訓練速度,重疊pool池化是為了提高精度,且不容易產生過擬合,局部歸一化響應是為了提高精度,而數據增益與dropout是為了減少過擬合。VGG net在ILSVRC-2014中,牛津大學的視覺幾何組提出的VGGNet模型在定位任務第一名和分類任務第一名[[i]]。
  • 浮點精度(二)
    之前有寫過一篇浮點精度的文章,介紹了浮點數能夠精確表示的整數,在整數超過一定大小後,將不能精確被表示,這次來聊一下浮點能表示的小數部分。
  • 8比特數值也能訓練模型?商湯提出訓練加速新算法丨CVPR 2020
    本文提出了用於加速卷積神經網絡訓練過程的INT8訓練技術,採用8比特數值訓練模型,可以極大地提升訓練速度,減少計算損耗,而且訓練精度幾乎無損,該論文也入選了CVPR 2020。如何提升深度學習的訓練速度,一直是人工智慧領域研究的難點,如今卷積神經網絡(CNN)又迎來新突破!
  • 單精度、雙精度和半精度浮點格式之間的區別
    單精度、雙精度和半精度浮點格式之間的區別 strongerHuang 發表於 2020-11-29 09:57:55 我們學過數學,都知道有理數和無理數,然後在有理數中有一類叫浮點數的數字
  • NLP深度學習、神經網絡壓縮成焦點
    兩篇最佳論文分別來自Mila/加拿大蒙特婁大學、微軟蒙特婁研究院和MIT CSAIL,主題分別集中在NLP深度學習模型和神經網絡壓縮。今天,ICLR 2019在官網公布了最佳論文獎!兩篇最佳論文分別來自Mila/加拿大蒙特婁大學、微軟蒙特婁研究院和MIT CSAIL,主題分別集中在NLP深度學習模型和神經網絡壓縮。ICLR 是深度學習領域的頂級會議,素有深度學習頂會 「無冕之王」 之稱。今年的 ICLR 大會從5月6日到5月9日在美國紐奧良市舉行。
  • 通俗理解神經網絡與深度學習
    和十年前相比,我們的生活已經被 AI 和深度學習改變了太多太多,而今年的圖靈獎得主也頒發給了深度學習領域的三位奠基人:2019 年圖靈獎得主,圖片來自紐約時報(The New York Times)正所謂幾家歡喜幾家愁,有人把它們當作賺錢的利器;有人對這類野蠻生長的科技深表憂慮;還有人則只願意安靜地當吃瓜群眾
  • 操縱神經元構造後門,騰訊朱雀實驗室披露AI模型新型攻擊手法
    在工業、農業、醫療、交通等各行業與AI深度融合的今天,如果AI被「攻陷」,後果將不堪設想。這樣的假設並非毫無根據。據騰訊朱雀實驗室介紹,當前人工智慧場景的實現依賴於大量數據樣本,通過算法解析數據並從中學習,從而實現機器對真實世界情況的決策和預測。但數據卻可能被汙染,即「數據投毒,使算法模型出現偏差」。已有大量研究者通過數據投毒的方式,實現了對AI的攻擊模擬。
  • 使用OpenCV深度學習模塊在圖像分類下的應用實踐
    下面為大家梳理一下歷屆ILSVRC大賽中出現的經典網絡結構。自2012年ILSVRC大賽AlexNet奪冠以來,直至2017年最後一屆SENet奪冠,所有冠軍都被各種深度神經網絡所摘得。歷屆ILSVRC大賽的經典網絡結構及其特點如表9-1所示。這些網絡結構不僅可應用在圖像分類中,而且可作為其他計算機視覺任務(如目標檢測、語義分割和視覺風格變換)的骨幹(backbone)網絡,用來提取圖像特徵。
  • 硬剛無限寬神經網絡後,谷歌大腦有了12個新發現
    8、浮點精度限制了超過臨界數據集大小的核方法性能。 9、線性化的CNN-GAP模型由於條件差而表現不佳。 10、正則化的ZCA白化提高了準確率。 11、等變性僅對核機制之外的窄網絡有益。
  • 人工神經網絡
    深度學習是機器學習研究中的一個新的領域,其動機在於建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。深度學習是利用多層神經網絡結構,從大數據中學習現實世界中各類事物能直接用於計算機計算的表示形式,被認為是智能機器可能的「大腦結構」。簡單的說,使用多層神經網絡來進行機器學習。