百度引入Ring Allreduce算法,大規模提升模型訓練速度

2020-12-27 雷鋒網

雷鋒網消息,美國西部時間2月21日,百度矽谷人工智慧實驗室(SVAIL)宣布將Ring Allreduce算法引進深度學習領域,這讓基於GPU訓練的神經網絡模型的訓練速度顯著提高。

Ring Allreduce是高性能計算(HPC)領域內一個眾所周知的算法,但在深度學習領域內的應用相對較少。而百度SVAIL實驗室研究員Andrew Gibiansky也錄製了一個視頻介紹了關於Ring Allreduce的基本情況。

   

高效並行訓練的需求

隨著神經網絡參數越來越龐大,從幾億個參數與到數十億參數,所需的GPU運算節點也在增加。然而,節點數量越多,整個系統的效率就會降低。

深度學習在多個GPU上訓練神經網絡通常比較困難,因為大家普遍採用的方法是,讓多個GPU把數據發送給一個reducer GPU上,這會造成一種通信瓶頸,整個訓練速度會因此拖慢。而且要訓練的數據越多,則帶寬瓶頸問題就顯得越嚴重。

而ring allreduce算法移除了這種瓶頸,減少GPU發送數據花費的時間,而把時間更多用在處理有用工作上。SVAIL發布的博文中這樣說道:

「ring allreduce 是這樣一種算法——其通信成本是恆定的,與系統中的 GPU 的數量無關,並且僅由系統中的 GPU 之間的最慢連接來確定。事實上,如果在通信成本上你只考慮帶寬這一因素(並忽略延遲),那麼 ring allreduce 就是一個最佳的通信算法 。


算法的進行分兩步:第一步,scatter-reduce;第二步,allgather。在第一步中,GPU 將交換數據,使得每個 GPU 最終都有一個最終結果的數據塊。在第二步中,GPU 將交換那些塊,使得所有 GPU 最終得到完整的最後結果。「

Ring Allreduce 中的 GPU 被布置在一個邏輯環路(logical ring)之中。每個 GPU 左右兩個各有一個 GPU,並且只從左邊的 GPU 接收數據,再把數據發送至右邊的 GPU。

Ring Allreduce在接受採訪時說道:

「Ring allreduce可以讓我們在多設備和多節點的情況下,更加有效地平均梯度。在訓練中使用這個帶寬優化的算法,你可以顯著減少通信開銷,並由此擴展到更多的設備上,同時仍然保留同步隨機梯度下降的確定性和可預測的收斂性。」

百度已經用這個算法來訓練其語音識別模型,實驗證明,與使用一個單獨的reducer GPU相比,ring allreduce 可以將一個神經網絡在40個GPU上的訓練速度提升31倍。

百度也將這算法分享出來,發布了一個演示該 allreduce 算法的 C 語言庫,也將該 allreduce 以補丁的形式整合到 TensorFlow 中。

另一個HPC與機器學習結合的例子

雷鋒網此前也報導過,最近日本東京技術研究院宣布,將在今年夏天啟動日本「最快的AI超級計算機」項目,這個超級計算機名為Tsubame3.0,使用的是英偉達GPU加速晶片,使其性能較以往提升2倍。HPC市場與快速興起的AI市場有很大不一樣,超級計算機以往被用於例如天氣預測、氣候建模、太空和核模擬等領域,而針對AI優化的晶片開始將這兩個領域結合起來。而百度這次,則將HPC領域的軟體技術應用於深度學習領域,看起來,HPC和機器學習這兩個領域,正在以非常快的速度融合。

Via Tomshardware

更多雷鋒網(公眾號:雷鋒網)相關文章:

三星計劃投入 10 億美元收購 AI 公司

AI加持,計算機要擁有嗅覺了

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

相關焦點

  • 百度將高性能計算引入深度學習:可高效實現模型的大規模擴展(附資源)
    在百度的矽谷人工智慧實驗室(SVAIL),我們已經成功地使用這些技術訓練了當前最先進的語音識別模型。我們很高興以庫和 TensorFlow 軟體補丁的形式推出 Ring Allreduce 的實現。我們也希望通過發布這些庫可以使深度學習社區更有效地擴展他們的模型。
  • 百度預訓練模型ERNIE榮登榜首
    GLUE排行榜的效果,在一定程度上成為了衡量各機構自然語言處理預訓練技術水平最重要的指標之一。此次能夠超越國際頂尖公司及高校榮登榜首,背後是百度NLP技術的長足積累。2018年底以來,以BERT為代表的預訓練模型大幅提升了自然語言處理任務的基準效果,取得了顯著技術突破,基於大規模數據的預訓練技術在自然語言處理領域變得至關重要。
  • 百度預訓練模型ERNIE榮登榜首
    GLUE排行榜的效果,在一定程度上成為了衡量各機構自然語言處理預訓練技術水平最重要的指標之一。2018年底以來,以BERT為代表的預訓練模型大幅提升了自然語言處理任務的基準效果,取得了顯著技術突破,基於大規模數據的預訓練技術在自然語言處理領域變得至關重要。眾AI公司紛紛發力預訓練領域,相繼發布了XLNet、RoBERTa、ALBERT、T5等預訓練模型。
  • 百度發布全球首個大規模隱變量對話模型PLATO
    百度於去年10月公布的通用領域對話生成預訓練模型PLATO,最近已正式被ACL 2020接收。PLATO是業界首個基於隱空間(Latent Space)的端到端預訓練對話生成模型。據悉,該模型利用隱向量來表示對話的潛在方向,從而達到對話內容豐富度和流暢度的顯著提升。
  • PLATO:百度發布首個大規模隱變量對話模型
    PLATO 是業界首個基於隱空間(Latent Space)的端到端的預訓練對話生成模型。據悉,該模型利用隱向量來表示對話的潛在方向,從而達到對話內容豐富度和流暢度的顯著提升。針對具體的對話任務,基於PLATO可以用少量數據訓練得到非常流暢的對話系統。
  • 引入Powerball 與動量技術,新SGD優化算法收斂速度與泛化效果雙...
    另一方面,因為冪係數 γ∈[0,1),根據冪函數的作用原理,不難發現,通過引入作用於梯度的冪係數,可以有效地改善梯度消失的現象。對於離散時間模型(優化算法)在有限時間內收斂性的推導是非常困難的。正是這一點促使[1]中作者提出了優化方法的連續時間模型,並分析了它們在有限時間內的收斂性。此外,[1]中指出了對於給定的優化問題,如何選取最優的γ在理論上是開放的。
  • 精度45.9%,推理速度72.9FPS,百度飛槳推出工業級目標檢測模型 PP...
    飛槳目標檢測套件PaddleDetection的研發團隊也為了讓YOLOv3模型在工業實際應用場景擁有更優異的精度與推理速度,以儘量不增加模型計算量和推理開銷為前提,探索出了一整套更深度的算法優化秘籍,將原先YOLOv3模型的精度(在COCO test-dev2017數據集)從33.0%提升了12.9個絕對百分點,達到45.9%,處於業界領先行列!
  • 2048塊GPU再次加速SGD:富士通74.7秒完成ResNet-50 訓練
    這一次,來自富士通的研究人員用上了 2048 塊 GPU,以 81,920 的批量大小用 74.7 秒完成了 ResNet-50 訓練。在大規模數據集上訓練的深度神經網絡(DNN)在目標檢測、語言翻譯等多個領域取得了令人印象深刻的結果。但是,隨著 DNN 模型和數據集規模不斷增加,DNN 訓練的計算成本也隨之增長。
  • 效果提升18%!百度EasyDL自研數據增強服務加持AI模型開發
    在 AI 模型開發的過程中,許多開發者被不夠充足的訓練數據擋住了提升模型效果的腳步,一個擁有出色效果的深度學習模型,支撐它的通常是一個龐大的標註數據集。因此,提升模型的效果的通用方法是增加數據的數量和多樣性。但在實踐中,收集數目龐大的高質量數據並不容易,在某些特定領域與應用場景甚至難以獲取大量數據。那麼如何能在有限數據的情況下提升模型的效果呢?
  • 單機訓練速度提升 640 倍!獨家解讀快手商業廣告模型 GPU 訓練平臺...
    一、GPU分布式運算加速模型訓練效率近年來,GPU訓練已在圖像識別、文字處理等應用上取得巨大成功。GPU訓練以其在卷積等數學運算上的獨特效率優勢,極大地提升了訓練機器學習模型,尤其是深度神經網絡的速度。
  • 精度45.9%,推理速度72.9FPS,百度飛槳推出工業級目標檢測模型
    飛槳目標檢測套件PaddleDetection的研發團隊也為了讓YOLOv3模型在工業實際應用場景擁有更優異的精度與推理速度,以儘量不增加模型計算量和推理開銷為前提,探索出了一整套更深度的算法優化秘籍,將原先YOLOv3模型的精度(在COCO test-dev2017數據集)從33.0%提升了12.9個絕對百分點,達到45.9%,處於業界領先行列!
  • 百度何中軍:機器翻譯——從設想到大規模應用
    此後,隨著技術不斷更迭,算力大幅提升,以及網際網路帶來的數據井噴式增長,機器翻譯質量持續提高。尤其近年來神經網絡機器翻譯的出現及快速發展,使得機器翻譯水平大幅躍升,在人們的生產生活中得到了廣泛應用。本報告結合百度機器翻譯大規模工業化實踐,介紹機器翻譯技術進展、主要產品形式及應用,最後對未來發展進行展望。
  • DeepMind視頻行為分類競賽,百度IDL獲第一,新算法披露 | 百度開發者中心
    其中,Kinetics是ActivityNet今年最新推出的一個大規模視頻分類任務,本次Kinetics視頻行為分類比賽由DeepMind主辦,有400個動作類別,24萬訓練語料,每個視頻長10秒左右,一個視頻就是一個完整的類別,是迄今為止開放視頻內容的最大視頻分類數據集。
  • 26億參數,智源、清華開源中文大規模預訓練模型
    機器之心報導機器之心編輯部近日,北京智源人工智慧研究院和清華大學研究團隊聯合發布了以中文為核心的大規模預訓練語言模型 CPM-LM,參數規模達 26 億,預訓練中文數據規模 100 GB。
  • 一種具有混合精度的高度可擴展的深度學習訓練系統
    雖然這種做法可以利用系統的總吞吐量和較少的模型更新來加速訓練,但它也存在兩個不可忽視的問題: 較大的mini-batch由於存在泛化誤差,會導致較低的測試精度: 如果增加mini-batch裡的樣本個數,我們確實可以通過計算平均值來減少梯度變化,從而提供更準確的梯度估計,此時模型採用的步長更大,優化算法速度也更快。
  • InsightFace: 用OneFlow輕鬆實現超大規模人臉識別模型
    >設置SBP屬性後,Oneflow框架會根據其SBP屬性及內在的Boxing機制,在後續前向反向的過程自動完成模型切分、數據的同步、以及內在的調用集合通信源語來完成broadcast、allreduce相關操作。
  • 提升12倍!香港浸會大學與MassGrid發布低帶寬高效AI訓練新算法
    數據並行的分布式同步隨機梯度下降(S-SGD)方法是訓練大規模神經網絡常用的優化器之一。與單節點的SGD相比,S-SGD將工作負載分配給多個計算節點以加速訓練,但它也引入了在每次迭代中交換模型參數或梯度的通信開銷。