百度聯合英偉達發布最新論文:使深度學習效率事半功倍的混合精度...

2021-01-19 雷鋒網

雷鋒網(公眾號:雷鋒網)消息,在10月10日-11日在加拿大蒙特婁召開的Rework Deep Learning Summit會議上,百度高級研究員Greg Diamos介紹了由百度矽谷AI實驗室(SVAIL)與NVIDIA合作的最新成果:一種名為「混合精度訓練」(Mixed Precision Training,簡稱MPT)的深度學習模型。

Greg Diamos在Rework Deep Learning Summit上演講中。

據了解,大多數的深度學習模型使用的是32位單精度浮點數(FP32)來進行訓練,而混合精度訓練的方法則通過16位浮點數(FP16)進行深度學習模型訓練,從而減少了訓練深度學習模型所需的內存,同時由於FP16的運算比FP32運算更快,從而也進一步提高了硬體效率。

通過用半精度運算替代全精度運算來提高效率,這一技術原理聽起來很簡單明了,但將其付諸實施並不像聽起來那麼簡單。此前也有團隊嘗試過使用更低精度進行混合計算(如二進位,甚至4-bit),但問題在於這往往不可避免地造成結果的準確性和在主要網絡變換上的損失,而百度的MPT模型不僅解決了這一問題,更重要的是MPT無需改變網絡超參數(雷鋒網註:超參數指Bayes統計理論先驗分布的參數, 它不像其他的參數可以用統計量估計),並保持與單精度相同的準確性。

在百度研究院博客中,百度進一步解釋了這一模型的原理:

深度學習模型由各種層(Layer)組成,包括完全連接的層,卷積層和反覆層。層與層之間的轉換可以通過通用矩陣乘法(GEMM)來實現,而對深度學習訓練的過程其實很大程度是GEMM計算的過程。

如下圖所示,GEMM操作可以分解為若干個幾個乘法運算和後續的加法運算。

當使用FP16代表神經網絡中的數據時,GEMM操作的輸入矩陣由16位數組成。我們需要可以使用16位計算執行乘法的硬體,但是需要使用32位計算和存儲來執行加法。使用少於32位的加法操作訓練大型深度學習模型會非常困難。

為此,百度不僅與NVIDIA共同解決了硬體支持的問題,雙方還對訓練流程進行了一些修改,模型中的輸入,權重,梯度和激活以FP16格式表示。但是如之前介紹,與FP32數字相比,半精度數字的範圍有限,只是通過簡單地更改存儲格式,某些模型無法達到與單精度相同的精度。為此,NVIDIA和百度採用了兩種關鍵技術:

第一項關鍵技術被稱為「混合精密鑰匙」(mixed precision key)。如下圖所示,在MT模型中仍然保留FP32格式的主副本,將FP16用於正向和反向傳播,優化器中的梯度更新將被添加到主FP32副本當中,該FP32副本被簡化為一個FP16副本在訓練期間使用,這個過程在每次訓練迭代中重複,直至模型收斂且足以恢復損失的精度,從而達到較低內存使用、內存帶寬壓力更低和更快速執行的優點。


深度學習模型的混合精度訓練示意圖


第二種關鍵技術則是「損耗縮放」(loss-scaling)。該技術可以夠恢復一些小數值的梯度。在訓練期間,一些權重梯度具有非常小的指數,其FP16格式可能會變為零。為了克服這個問題,我們使用縮放因子在反向傳播開始時縮放損失,通過連鎖規則,梯度也逐漸擴大,並在FP16中可表示。在將其更新應用於權重之前,梯度確實需要縮小;而為了恢復某些型號的精度損失,必須進行損耗調整。關於這兩種技術的更多細節可以在我們的論文中找到。

百度已使用這種方法使用FP16訓練其DeepSpeech 2模型。結果表明,對於英文和普通話模型和數據集和使用相同的超參數、模型架構進行混合精度訓練實驗,可以得到到FP32訓練的精度。

同時,使用FP16訓練減少了深度學習模型的內存需求,使得百度能夠使用一半的處理器來訓練這些模型,從而有效地加倍了集群大小。此外,FP16算術的峰值性能(如上所述)通常高於單精度計算。

雷鋒網發現,NVIDIA博客也公布了應用混合精度訓練的ImageNet數據集上訓練卷積神經網絡的結果。如果讀者希望了解有關混合精度培訓和全套結果和實驗的更多詳細信息,可點此參閱ArXiv上的論文。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • Google提出移動端新SOTA模型MixNets:用混合深度卷積核提升精度
    基於此觀察,作者提出了一種新的混合深度卷積(Mixed Depthwise Convolution, MDConv),它自然地在單個卷積中混合了多個內核大小。作為普通深度卷積的一種簡單替代,本文的MDConv提升了現有MobileNet在ImageNet圖像分類和COCO目標檢測方面的準確性和性能。
  • 日報| 英偉達發布兩款基於Pascal的深度學習晶片
    英偉達發布兩款基於Pascal的深度學習晶片9 月 13 日,NVIDIA(英偉達)在北京國際飯店會議中心召開 GTC China 2016 大會。同時,Pascal 架構能助推深度學習加速 65 倍,最新一代的架構 Pascal 是首個專為深度學習而設計的 GPU。
  • 更快的計算,更高的內存效率:PyTorch混合精度模型AMP介紹
    只有在我們擁有大量計算資源的情況下,我們才能進行足夠的實驗並充分利用深度學習的潛力。但是我們真的充分利用了現有的計算資源嗎? 我們可以做得更好嗎?這篇文章是關於利用Tensor Cores和自動混合精度來更快地訓練深度學習網絡的。什麼是Tensor Cores?
  • 百度王海峰出席中國認知計算和混合智能學術大會 深度解析「多模態...
    8月25日,為期兩天的首屆中國認知計算和混合智能學術大會(CCHI2018)在西安舉辦,百度高級副總裁、AI技術平臺體系(AIG)總負責人王海峰與中國科學院院士陳霖、蒲慕明等學界知名專家共同研討與交流認知科學、神經科學與人工智慧學科領域交叉融合的最新進展和前沿技術。
  • 百度數據可視化實驗室正式成立,發布深度學習可視化平臺 Visual DL
    企業:百度
  • 百度多篇論文入選NeurIPS 2020,機器學習領先算法、理論「強輸出」
    此次大會中,百度研究院參會並發表了多篇高質量論文,論文聚焦大規模稀疏學習的加速求解、新發現物種數量預測、隨機非凸優化、高維數據判別分析等問題,分別提出了創新算法及理論,突破原有算法在實際應用中泛化效果差、優化效率低等限制,有效提升AI技術在自然生態學、統計學習理論等領域中的應用價值,同時也彰顯出百度在人工智慧與機器學習領域的持續技術創新力。
  • 2019百度AI開發者大會前夕,解讀百度大腦的半年「豹變」
    2016年,百度大腦系統亮相,在最近幾年的時間裡,百度大腦從基礎能力搭建和核心技術初步開放的1.0階段,到形成完整技術體系的2.0階段,再到去年百度開發者大會宣布百度大腦進入「多模態深度語義理解」階段,進化速度堪稱驚人。在今年上半年,百度大腦在技術創新上繼續加速,語音、圖像、語言和知識、深度學習等多個核心技術不斷獲得重大突破,持續「豹變」。
  • AI晶片、框架、語言與知識、量子計算……百度大腦6.0發布
    百度大腦分論壇帶來這些「黑科技」的全面揭秘,展示了百度大腦的技術升級與演進。百度CTO王海峰發布了百度大腦6.0,升級為「AI新型基礎設施」。「知識增強的跨模態深度語義理解」讓百度大腦的理解能力更加強大,飛槳深度學習平臺與百度崑崙晶片的升級則為開發者提供了更優的算法開發平臺和更強大的算力。
  • 全球AI作業系統暗戰:百度飛槳為中國深度學習撐起天空
    本次會議,百度AI技術平臺體系執行總監、深度學習技術及應用國家工程實驗室副主任吳甜為人工智慧領域展示了重磅升級的「飛槳產業級深度學習開源開放平臺」,及其四大領先技術,並首度發布《百度大腦AI技術成果白皮書》10月20日,第六屆世界網際網路大會2019年度領先科技成果大獎揭曉,百度飛槳入選網際網路領先科技成果。
  • 深度學習框架哪家強?國產框架OneFlow做了一份測評報告
    機器之心報導機器之心編輯部近日,國產深度學習框架 OneFlow 發布了人工智慧方向深度學習領域的 DLPerf 測評報告。數據顯示,OneFlow 在 4 機 32 卡下的 ResNet50-v1.5 和 BERT-base 兩個模型中,無論是 Float32 類型還是自動混合精度,在同樣的算法和硬體條件下,吞吐率及加速比均優於其他深度學習框架。
  • CVPR 2020論文收錄揭曉:百度22篇論文入選 涵蓋全視覺領域
    近日,計算機視覺領域「奧斯卡」CVPR 2020官方公布論文收錄結果,伴隨投稿數量激增,接收率開始經歷了一個持續下降的過程。今年,在6656篇有效投稿中,共有1470篇論文被接收,接收率為22%左右,相較去年25%的入選率,同比下降3%。在論文接收率下降的同時,中國科技企業被錄取論文數量卻不降反增,百度作為AI代表企業今年中選22篇,比去年的17篇增加了5篇。
  • 如何科學開啟你的深度學習論文閱讀生涯
    大數據文摘出品編譯:睡不著的iris、Zhifu、Hope、CoolBoy當你閱讀了深度學習相關的書籍或者上過精彩的在線課程後,你將如何深入學習?如何才能夠「自力更生」,獨立地去了解相關領域中最新的研究進展?
  • 「深度學習」這十年:52篇大神級論文再現AI榮與光
    過去十年中有哪些有影響力的深度學習論文?從「深度學習三巨頭」到何愷明,從谷歌到MIT,52篇神級論文帶大家回顧深度學習這十年。戳右邊連結上新智元小程序了解更多! 隨著2020年的到來,人類進入了一個嶄新的十年。回顧過去10年,深度學習領域取得的巨大進步。
  • 機器學習和深度學習引用量最高的20篇論文(2014-2017)
    機器學習,尤其是其子領域深度學習,在近些年來取得了許多驚人的進展。重要的研究論文可能帶來使全球數十億人受益的技術突破。這一領域的研究目前發展非常快,為了幫助你了解進展狀況,我們列出了自 2014 年以來最重要的 20 篇科學論文。
  • 深度學習框架比較,我該選擇哪一個?
    TensorFlow 讓用戶可以快速設計深度學習網絡,將底層細節進行抽象,而不用耗費大量時間編寫底層 CUDA 或 C++ 代碼。TensorFlow 在很多方面擁有優異的表現,比如設計神經網絡結構的代碼的簡潔度,分布式深度學習算法的執行效率,還有部署的便利性(能夠全面地支持各種硬體和作業系統)。
  • CVPR 2018 中國論文分享會 之「深度學習」
    (系列工作)雷鋒網註:[1] CVPR 2018 中國論文宣講研討會由微軟亞洲研究院、清華大學媒體與網絡技術教育部-微軟重點實驗室、商湯科技、中國計算機學會計算機視覺專委會、中國圖象圖形學會視覺大數據專委會合作舉辦,數十位 CVPR 2018 收錄論文的作者在此論壇中分享其最新研究和技術觀點。
  • 從ACM班、百度到亞馬遜,深度學習大牛李沐的開掛人生
    作為深度學習「大神」,李沐的開掛人生經歷並不被所有人熟知。為了加深大家對李沐的了解,我們對其學習、職業和研究生涯做了一個簡單的總結。ACM班、百度、CMU、亞馬遜,李沐的傳奇人生Gluon 為各種水平的深度學習開發人員設計,幫助開發者在雲端、App 和其他設備上設計原型,創建、訓練和部署複雜的深度學習模型。目前,Gluon 已經與深度學習引擎 Apache MXNet 合作,並已支持另一個深度學習引擎——微軟認知工具包(CNTK)。2017 年 10 月 7 日,亞馬遜和華盛頓大學合作發布了開源的端到端深度學習編譯器 NNVM compiler。
  • 百度PaddlePaddle聯手Kubernetes,助力開發者高效訓練深度學習模型
    選自Kubernetes等參與:吳攀、李亞洲、蔣思源2016 年 9 月,百度開源了深度學習框架 PaddlePaddle,今天,百度又宣布實現了這一框架和集群管理系統(cluster management system)Kubernetes 的兼容,從而使 PaddlePaddle 成為了迄今為止唯一一個官方支持 Kubernetes 的框架。
  • 最新技術前沿與產業風向標來了,百度研究院發布2021年十大趨勢
    年底發布的「2020年十大科技趨勢預測」,其準確地預見了新一年的科技與產業變化。面對嶄新的2021,百度研究院又發布了 「2021年十大科技趨勢預測」,既具備科技前瞻性,也是能引領產業發展的一大「寶典」。具體有哪些內容呢?我們一起來看看。1.
  • 22篇入選CVPR 2020,百度 15 篇精選論文詳解
    據悉,FaceScape資料庫和代碼將於近期免費發布,供非商業用途的學術研究使用。為了緩解這些挑戰,百度團隊提出了一種金字塔多樣化注意模塊,以自動和自適應地學習多尺度的多樣化局部表示。更具體地說,開發了金字塔注意力模塊以捕獲多尺度特徵;同時為了鼓勵模型專注於不同的局部塊,開發了多元化的學習方法。其次,為了融合來自低層的局部細節或小尺度面部特徵圖,可以使用分層雙線性池化來代替串聯或添加。