博客專欄

EEPW首頁 > 博客 > 登頂全球最權(quán)威AI性能基準評測,百度飛槳給分布式訓練創(chuàng)造了標桿

登頂全球最權(quán)威AI性能基準評測,百度飛槳給分布式訓練創(chuàng)造了標桿

發(fā)布人:機器之心 時間:2022-11-19 來源:工程師 發(fā)布文章

大模型時代,飛槳產(chǎn)業(yè)級平臺的優(yōu)勢開始顯現(xiàn)。

從問答、翻譯、作畫再到寫論文,最近一段時間,實現(xiàn)各種神奇能力的 AI 總有個「大模型」的稱號。


在工業(yè)界,大模型也被視為重要的發(fā)展方向,它既可以減少機器學習訓練對數(shù)據(jù)標注的需求,又無需手寫專家知識,降低了 AI 應用的行業(yè)門檻。在業(yè)界和一些科學領(lǐng)域,人工智能已經(jīng)進入了「煉大模型」的新階段。


然而天下沒有免費的午餐,大模型帶來了 AI 能力的突破,也對算力提出了無窮無盡的需求。芯片制造商和科技公司都在尋找提升 AI 訓練效率的方法。國內(nèi) AI 技術(shù)領(lǐng)先的百度,最近展示了真正的技術(shù)。


11 月 10 日,機器學習基準測試平臺 MLPerf 放出了最新一期榜單,在 BERT 模型訓練排行榜上,百度使用飛槳框架提交的 8 機 64 卡配置在同等 GPU 配置下獲得第一名[1]。而 BERT 模型中的 Transformer 結(jié)構(gòu)正是目前主流大模型的基礎(chǔ)架構(gòu)。


百度提交的方案中,64 塊 GPU 在 149 秒內(nèi)訓練了 BERT 模型。在國際權(quán)威基準測試中取得領(lǐng)先,體現(xiàn)了飛槳框架在分布式訓練性能上的優(yōu)勢,其中用到的技術(shù)也已成為百度業(yè)務創(chuàng)新的重要組成部分。


在最權(quán)威的基準平臺打榜


MLPerf 是目前國際公認的權(quán)威 AI 性能評測基準,由圖靈獎得主大衛(wèi) · 帕特森(David Patterson)聯(lián)合學術(shù)機構(gòu)和企業(yè)在 2018 年 5 月創(chuàng)立。它通過一套規(guī)則和最佳實踐,解決了一直以來機器學習系統(tǒng)化評估困難的問題。


圖片


該基準覆蓋計算機視覺、自然語言處理、推薦系統(tǒng)、強化學習等方向。要求參與者在指定數(shù)據(jù)集上訓練經(jīng)典算法達到一定精度,同時對提交的處理細節(jié)進行仔細標注,另外還要開源代碼,公布包括算力設施,CPU、GPU 等處理器型號數(shù)量,使用的機器學習框架甚至加速庫等信息,以確??蓮同F(xiàn)性。


由于嚴謹客觀的標準,MLPerf 一直以來吸引了芯片廠商和科技公司不斷將最新、最強大的軟硬件解決方案提交到榜單中互相比較。


在最新的 MLPerf v2.1 版本上,百度參與的自然語言處理賽道要求訓練 BERT Large 模型,比較語言模型準確率(Masked Language Model Accuracy)訓練至 72% 的端到端時間。作為 NLP 領(lǐng)域的知名模型之一,BERT 使用的 Transformer 架構(gòu)正是如今很多大規(guī)模預訓練模型的基礎(chǔ)。


本次評測共有 21 個公司和機構(gòu)參與。百度提出的方法在端到端訓練時間和訓練吞吐兩個指標上均超越了同等 GPU 配置下的所有對手。


百度工程師表示,模型訓練不僅需要考慮純粹的 GPU 算力,還與深度學習前向、反向計算的速度,以及數(shù)據(jù) IO 和通信效率有很大關(guān)聯(lián)。除了硬件和服務器組織結(jié)構(gòu)之外,此類任務也對于軟件框架提出了很高的要求。


這并不是百度第一次在 MLPerf 上出成績:在 6 月 30 日發(fā)布的 v2.0 榜單中,飛槳在 8 卡 GPU 單機配置下已經(jīng)實現(xiàn)了 BERT 模型訓練性能排名第一,比其他提交結(jié)果速度快了 5% 到 11% 不等[2]。


百度在 v2.1 中提交的多機評測結(jié)果進一步印證了飛槳分布式訓練的性能表現(xiàn),其提供的方案,在同等 GPU 配置下端到端訓練收斂時間比其它提交結(jié)果快 1% 到 20%,在訓練吞吐量上比其他提交結(jié)果要快 2% 到 12%。


圖片

MLPerf Training v2.1 BERT 模型端到端訓練收斂時間排名(8 機 64 卡 GPU)。


圖片

MLPerf Training v2.1 BERT 模型提交結(jié)果吞吐量比較(8 機 64 卡 GPU)。


值得一提的是,這個成績還超過了 GPU 廠商英偉達使用自身高度定制化的 NGC PyTorch 框架跑出的性能數(shù)據(jù)。


讓 8 塊 GPU 跑出等效 8.2 的算力


MLPerf 基準測試上獲得的高速度,得益于飛槳框架在分布式訓練核心技術(shù)上的持續(xù)探索和創(chuàng)新。


本次百度參加的是多節(jié)點分布式訓練的賽道。在跨設備并聯(lián)計算的情況下,飛槳解決了一些此前單機訓練時無法遇到的挑戰(zhàn),優(yōu)化范圍包括設備間的負載均衡,以及 CPU、GPU 等異構(gòu)算力的負載均衡。在跨設備通信的問題上,飛槳還使用了全局通信與分層次通信相結(jié)合的方法提高通信效率。


首先,為了提高 AI 模型的訓練效率,系統(tǒng)需要對數(shù)據(jù)和模型進行切分,并制定策略讓多個處理器分別計算其中的一部分。針對大規(guī)模稠密參數(shù)模型高效訓練問題,飛槳在業(yè)內(nèi)首創(chuàng)了 4D 混合并行訓練策略,其包括張量模型并行、流水線模型并行、參數(shù)分組切片的數(shù)據(jù)并行和純數(shù)據(jù)并行。


飛槳支持的重計算策略,在使用混合并行訓練千億級模型時可以用來增大 batch size。另一方面,作為一個獨立通用的策略,重計算不依賴多卡并行。人們可以根據(jù)實際業(yè)務模型大小,及集群上的總卡數(shù)獨立調(diào)節(jié)兩個維度來達到更快訓練大模型的目的。


圖片

4D 混合并行策略示意圖。


在 MLPerf BERT 模型訓練任務上,基于飛槳的混合并行策略,百度的 8 機 64 卡相對于單機的擴展效率達到了 94%,實現(xiàn)了接近線性的性能增長。


針對分布式訓練調(diào)優(yōu)困難的問題,飛槳提出了端到端自適應分布式訓練架構(gòu),其可以將異構(gòu)算力資源轉(zhuǎn)化成統(tǒng)一的集群資源視圖,通過端到端代價模型建模選擇最優(yōu)策略,然后使用異步流水運行的機制開始訓練。如果部分設備出現(xiàn)故障或增減算力時,彈性資源管理機制可以觸發(fā)訓練架構(gòu)各個模塊自動做出反應。


在 MLPerf BERT 模型訓練任務上,飛槳根據(jù)集群通信拓撲特點并結(jié)合 NCCL SHARP 協(xié)議,使用全局通信與分層次通信結(jié)合的方式降低整體通信耗時,有效提升了模型訓練性能。


針對分布式訓練經(jīng)常出現(xiàn)的負載不均、數(shù)據(jù)加載速度瓶頸等問題,飛槳利用異構(gòu)設備混合負載均衡方案,根據(jù)不同設備的特點把任務分配到效率最高的算力上。在 MLPerf 訓練任務上,飛槳通過使用 GPU 高帶寬通信解決了模型訓練啟動時的數(shù)據(jù)加載慢問題,又用 CPU 異構(gòu)設備通信實現(xiàn)了模型訓練過程與數(shù)據(jù)負載均衡間的重疊,提高了模型訓練效率。


另外,飛槳框架還在 Transformer 類模型底層提供了專門的高性能支持,對數(shù)據(jù)的輸入、模型結(jié)構(gòu)、算子實現(xiàn)等方面實現(xiàn)了優(yōu)化。


值得一提的是,在數(shù)據(jù)并行優(yōu)化的基礎(chǔ)上,百度的方案在 8GPU 的機器上實現(xiàn)了超過 8 的效率——用框架的優(yōu)化跑出了超過等效物理芯片數(shù)量的速度。

 

圖片

飛槳的分組參數(shù)切片混合并行策略示意圖。


在多 GPU 計算單元機器學習并行運算時,各 GPU 的優(yōu)化器計算部分是冗余重復的。飛槳優(yōu)化了冗余重復計算的部分,讓每張卡只需計算參數(shù)梯度的一部分,然后再進行聚合同步更新;在此基礎(chǔ)上,結(jié)合分層參數(shù)切分與通信、跨 step 通信 - 計算重疊、多流并發(fā)參數(shù)廣播、底層算子深度優(yōu)化等方式,進一步提升分布式訓練極致性能,實現(xiàn)了 1+1 大于 2 的效果。


發(fā)揮 AI 大模型全部潛力


在 AI 訓練任務上,芯片決定了算力的理論上限,服務器和集群的整合可以保證基礎(chǔ)的運行效率,而最終能充分發(fā)揮計算潛力的是深度學習框架。


百度飛槳在 MLPerf 上連續(xù)兩次第一的成績其實源于一次小嘗試。早在半年前,飛槳就已實現(xiàn)了目前的多機分布式優(yōu)化能力,但并沒有直接向 MLPerf 提交多服務器的成績,只用單機優(yōu)化成績就拿到了第一。


據(jù)介紹,上一次沒有提交多機分布式訓練結(jié)果的部分原因在于百度內(nèi)部算大模型的需求太大,一時計算資源過于緊張——在百度內(nèi)部每時每刻都有訓練大模型的需求。


如今的「文心大模型」已經(jīng)覆蓋了從 NLP、CV、跨模態(tài)到生物計算等領(lǐng)域二十多個大模型,而飛槳一直在為大模型的訓練和推理提供技術(shù)支撐。這正是飛槳所擅長的工作:作為面向生產(chǎn)環(huán)境的深度學習平臺,飛槳因大規(guī)模 AI 計算而生,自誕生以來一直在百度業(yè)務實踐中被不斷改進,基礎(chǔ)訓練性能也一路提升。


結(jié)合計算機視覺、自然語言處理、科學計算等領(lǐng)域的應用,飛槳研發(fā)了異構(gòu)硬件下的低存儲和高性能訓練技術(shù),相繼發(fā)布了業(yè)界首個通用異構(gòu)參數(shù)服務器架構(gòu)、4D 混合并行訓練策略、端到端自適應分布式訓練架構(gòu)等多項領(lǐng)先技術(shù)成果。


它們支持了百度在大模型領(lǐng)域的快速迭代,百度在此基礎(chǔ)上相繼發(fā)布了全球首個知識增強千億大模型「鵬城 - 百度 · 文心」[3]、全球首個百億參數(shù)中英文對話預訓練生成模型 PLATO-XL、全球規(guī)模最大中文跨模態(tài)生成模型 ERNIE-ViLG、業(yè)界規(guī)模最大的多任務統(tǒng)一視覺大模型 VIMER-UFO。


目前,文心已發(fā)布 20 多個大模型,覆蓋自然語言處理、計算機視覺、跨模態(tài)、生物計算等領(lǐng)域,賦能工業(yè)、能源、城市、金融等千行百業(yè)。


圖片


而飛槳在硬件生態(tài)上也已攜手超過 30 家硬件廠商完成了深度融合優(yōu)化,與英偉達、英特爾、瑞芯微、Arm、Imagination 等多家伙伴廠商展開了合作,針對不同應用場景和產(chǎn)品,共同推出了飛槳生態(tài)發(fā)行版、開源開放模型庫,還包括一系列面向開發(fā)者的課程。


MLPerf 打榜之外,飛槳的自適應分布式訓練架構(gòu)在多個場景下得到了驗證。在 GPT-3 千億模型 GPU 訓練場景下,經(jīng)測試,飛槳訓練性能達到訓練硬件峰值性能的 51.3%,在同等實驗環(huán)境下超越業(yè)界同類實現(xiàn)(DeepSpeed/Megatron-LM);而在「鵬城 - 百度 · 文心」千億大模型的訓練上,飛槳支持的性能達到同規(guī)模、非自適應架構(gòu)下的性能的 2.1 倍[3]。


此外,在蛋白質(zhì)結(jié)構(gòu)預測領(lǐng)域,飛槳創(chuàng)新性地提出了「分支并行 - 動態(tài)軸并行 - 數(shù)據(jù)并行」的混合并行策略,性能提升 36% 以上[4],并在國產(chǎn)硬件集群上將 AlphaFold2 千萬級別蛋白 initial training 階段從 7 天壓縮到了 2.6 天。在稀疏門控混合專家并行領(lǐng)域,飛槳提出了 Task MoE 分布式訓練架構(gòu)和基于 Task 的負載均衡機制,同等實驗環(huán)境下訓練性能比 PyTorch 提升 66%,有力支撐文心 VIMER-UFO 2.0 大模型高效訓練。


AI 對于大規(guī)模計算的需求仍在不斷增長,在不久的將來,我們可能會見證全新架構(gòu)的芯片和算法出現(xiàn)。百度的工程師們表示,期待未來能夠出現(xiàn)算法、硬件和框架能夠出現(xiàn)高度協(xié)同的設計,讓 AI 在設計之初就充分考慮可計算性,從基礎(chǔ)上充分優(yōu)化性能。


與此同時,飛槳正在軟硬協(xié)同性能優(yōu)化和大規(guī)模分布式訓練、推理等方向持續(xù)創(chuàng)新,為廣大用戶提供廣泛適配、性能優(yōu)異的產(chǎn)業(yè)級深度學習平臺。


最新的消息是:在 11 月 30 日即將舉行的 Wave Summit + 深度學習開發(fā)者峰會上,飛槳即將發(fā)布新版本,并推出有關(guān)大模型的全新工具。


大模型的大規(guī)模產(chǎn)業(yè)應用,離我們越來越近了。


參考文獻


[1]MLPerf Training v2.1 Results. https://mlcommons.org/en/training-normal-21/

[2]MLPerf Training v2.0 Results. https://mlcommons.org/en/training-normal-20/

[3]ERNIE 3.0 Titan: Exploring Larger-scale Knowledge Enhanced Pre-training for Language Understanding and Generation. Shuohuan Wang, et al. arXiv preprint arXiv: 2112.12731, 2021.

[4]Efficient AlphaFold2 Training using Parallel Evoformer and Branch Parallelism. Guoxia Wang, et al. arXiv preprint arXiv: 2211.00235, 2022.


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

數(shù)字通信相關(guān)文章:數(shù)字通信原理




關(guān)鍵詞: AI

相關(guān)推薦

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

關(guān)閉