0
本文作者: 溥茜 | 2023-09-04 14:43 |
作者丨孫溥茜
編輯丨陳彩嫻
編者按:2023 年 8 月14日,第七屆 GAIR 全球人工智能與機器人大會在新加坡烏節(jié)大酒店正式開幕。論壇由 GAIR 研究院、雷峰網(wǎng)(公眾號:雷峰網(wǎng))、世界科技出版社、科特勒咨詢集團聯(lián)合主辦。大會共開設(shè) 10 個主題論壇,聚焦大模型時代下的 AIGC、Infra、生命科學、教育,SaaS、web3、跨境電商等領(lǐng)域的變革創(chuàng)新。此次大會是在大模型技術(shù)爆炸時代,國內(nèi)首個出海的 AI 頂級論壇,也是中國人工智能影響力的一次跨境溢出。
在第一天的“GPT 時代的杰出貢獻者”專場上,林偉以“ PAI 靈駿智算,為創(chuàng)新提速”為題發(fā)表了主題演講。林偉是阿里云研究員、阿里云計算平臺首席架構(gòu)師,也是阿里云機器學習平臺 PAI 技術(shù)負責人。
大模型時代 AI 工程建設(shè)是一個熱門的話題,也是一個具有挑戰(zhàn)性的問題。參數(shù)量大、計算復雜度高、需要大規(guī)模分布式集群和高性能硬件支持訓練和推理,單拎出哪一點對于 AI 工程師來說都是一項巨大的技術(shù)挑戰(zhàn)。林偉認為,隨著快速變化的外界環(huán)境,如何快速訓練模型,成為了模型開發(fā)的重中之重。
在演講中,林偉介紹了阿里云 PAI 靈駿智算平臺的基礎(chǔ)架構(gòu),并從核心競爭力、平臺核心基礎(chǔ)設(shè)施建設(shè)、訓練推理加速、編譯技術(shù)、數(shù)據(jù)加速、RLHF 框架、平臺能力和社區(qū)建設(shè)等方面,系統(tǒng)闡述了阿里云在 AI 工程化方面的工作進展。
以下為林偉的演講內(nèi)容,雷峰網(wǎng)作了不改變原意的編輯及整理:
大家好,歡迎來到第七屆 GAIR 全球人工智能與機器人大會,我是林偉,現(xiàn)在是阿里云機器學習平臺 PAI 的技術(shù)負責人,今天我?guī)淼姆窒碇黝}是“ PAI 靈駿智算,為創(chuàng)新提速”。今年是 AI 大模型突破的一年,ChatGPT 讓人們看到大模型的智能潛力,也推動了整個行業(yè)進入到了大模型時代。
但是訓練大模型并不簡單,隨著模型大小呈指數(shù)級增加,如何能夠快速訓練模型成為模型開發(fā)的重中之重。只有通過不斷地訓練、反饋,以更快速度迭代,才能產(chǎn)生更好的模型。
我們認為,AI 的工程化和規(guī)?;沁@一輪 AI 爆發(fā)的主要推動力。那么如何有效管理這些非常昂貴的超算中心,充分利用好成千上萬張 GPU 算力,讓算法工程師不用或者少操心系統(tǒng)問題,把精力更多地投入在模型構(gòu)造和訓練上,是我們正在關(guān)注的事情。
阿里云基于過去在大語言模型建設(shè)上的經(jīng)驗,推出了 PAI 靈駿智算平臺,旨在提供大規(guī)模的深度訓練能力,幫助用戶更好地管理算力,在計算、AI of Science,以及生成式 AI 的各個方向去貢獻自己的力量。今天我將主要介紹阿里云在大模型環(huán)境里下,有關(guān)架構(gòu)的一些思考。
01
AI 工程化的眾多挑戰(zhàn)
AI工程面臨眾多挑戰(zhàn),其中首要挑戰(zhàn)之一是芯片的快速迭代。平均每半年迭代一次的芯片,導致我們的計算集群呈現(xiàn)異構(gòu)狀態(tài)。在這種情況下,我們要思考如何通過調(diào)度能力和框架協(xié)同配合,將合適的任務(wù)分布到合適的資源上,并充分考慮網(wǎng)絡(luò)拓撲。在超大規(guī)模模型訓練中,網(wǎng)絡(luò)通信是關(guān)鍵因素,因此合理的網(wǎng)絡(luò)拓撲安排是確保分布式訓練加速比的關(guān)鍵所在。
同時,我們也需要在調(diào)度中避免浪費資源,減少碎片化,以適應(yīng)大模型訓練的需要。在這種規(guī)模下,硬件性能已經(jīng)被推至極限。大型模型的訓練往往需要上千張 GPU 卡,并且在這種情況下,硬件錯誤、網(wǎng)絡(luò)擁塞以及其他不可預測因素可能導致訓練中斷或錯誤。
因此,PAI 靈駿致力于為模型開發(fā)者提供幫助,使其無需過多關(guān)注這些問題,能夠自動進行容錯和修復。此外,還有一個重要因素是計算能力。鑒于我們的模型需要處理海量數(shù)據(jù),如何確保計算能力不受數(shù)據(jù)傳輸?shù)却挠绊?,從而有效供給訓練過程,成為一項關(guān)鍵任務(wù)。
同時,分布式任務(wù)的管理也頗具復雜性,通常情況下,算法專業(yè)的同仁較難有效地優(yōu)化和分布式化任務(wù),實現(xiàn)存儲、網(wǎng)絡(luò)傳輸和調(diào)度等各個環(huán)節(jié)的均衡分配。我們需要系統(tǒng)深刻理解,以便在硬件資源的充分利用下,實現(xiàn)這些領(lǐng)域的平衡切割,從而解決系統(tǒng)瓶頸問題,為算法迭代提供堅實支持。因此,我們的AI平臺需要具備更大范圍的系統(tǒng)理解能力,以最大程度地平衡位于計算中心的資源,從而解決系統(tǒng)瓶頸問題,為算法的迭代提供有力保障。
02
AI 訓練提效之阿里版解決方案
這張圖展現(xiàn)了 PAI 靈駿智算平臺的整體框架。最底層是阿里云的數(shù)據(jù)中心,為大數(shù)據(jù)和AI計算創(chuàng)造了良好的環(huán)境。在數(shù)據(jù)中心內(nèi)部,擁有海量的云服務(wù)器,并配備了高速的 RDMA 網(wǎng)絡(luò)和高性能存儲設(shè)備。
在此基礎(chǔ)上,我們構(gòu)建了機器學習 PAI 平臺,它將通信、 I/O、 網(wǎng)絡(luò)、各種芯片和已經(jīng)深度優(yōu)化的深度學習框架有機地結(jié)合在一起,使得算力能夠高效地為上層平臺和算法工程師服務(wù),讓他們能夠快速有效地構(gòu)建深度學習模型。
在平臺上,我們還提供了模型即服務(wù)(Model as a Service)的理念,集成 ModelScope、HuggingFace 等優(yōu)秀的模型庫,讓 AI 應(yīng)用開發(fā)工程師可以在平臺上構(gòu)建各種有趣的 AI 應(yīng)用。
從 ChatGPT 誕生后,就迅速涌現(xiàn)了許多 AI 應(yīng)用,這也反映了一個優(yōu)質(zhì)的模型庫和模型社區(qū)對于行業(yè)發(fā)展的重要性。我們非常歡迎學術(shù)界和產(chǎn)業(yè)界的同行一起加入我們的模型社區(qū),為技術(shù)進步貢獻力量。
PAI靈駿智算平臺在工程上具有以下幾個特點。
首先,建立了高帶寬低延時的分布式 RDMA 網(wǎng)絡(luò),它是連接各個計算節(jié)點的關(guān)鍵。我們的理念是,在IB之外,我們還構(gòu)建了基于以太網(wǎng)的 RoCE RDMA 網(wǎng)絡(luò)。這樣,才能在云上提供優(yōu)質(zhì)的 AI 計算平臺服務(wù),我們可以將存儲等云服務(wù)和AI計算很好地結(jié)合起來,為用戶提供數(shù)據(jù)治理、管理和計算等一體化的服務(wù)。
在以太網(wǎng)上,我們面臨著更大的挑戰(zhàn),比如如何解決網(wǎng)絡(luò)擁塞、通信流不均衡問題。通過自建高性能網(wǎng)絡(luò)和通信庫來解決這些問題,使得加速比能夠保持在 90% 以上。如果使用普通的 TCP 網(wǎng)絡(luò),加速比會大幅下降。
其次,在深度學習框架方面,我們關(guān)注于引擎的后端優(yōu)化,特別是在大模型時代,讓算法工程師編寫分布式訓練代碼是非常困難的,更不用說跑得好。通過自研的編譯優(yōu)化和自動分布式加速引擎,自動地切割模型和生成執(zhí)行計劃,使得我們能夠很好地平衡各個節(jié)點上的 I/O、網(wǎng)絡(luò)和計算資源,實現(xiàn)高效的分布式訓練。在推理階段,也可以利用編譯技術(shù),并結(jié)合模型壓縮和量化技術(shù),來適配各種多樣的服務(wù)終端,從而以更經(jīng)濟的方式提供推理服務(wù)。
最后,在模型生產(chǎn)方面,PAI 靈駿提供了從數(shù)據(jù)準備、清洗到模型結(jié)構(gòu)開發(fā)訓練,再到模型部署的整個開發(fā)流程。在平臺之上,我們還構(gòu)建了模型即服務(wù)(Model as a Service)的理念,與行業(yè)內(nèi)的同行一起建設(shè)模型社區(qū),期待以模型社區(qū)激發(fā)更多的 AI 應(yīng)用開發(fā)工程師進行創(chuàng)新和創(chuàng)造,構(gòu)建豐富多樣的 AI 應(yīng)用。
繼續(xù)展開來說,我們的計算平臺在基礎(chǔ)設(shè)施方面,建立了 3.2T 的高速 RDMA 網(wǎng)絡(luò),支持上萬個節(jié)點的擴展能力,控制延遲在 1.5μs以內(nèi)。我們利用多路徑感知的通信庫,避免集群內(nèi)網(wǎng)絡(luò)擁塞問題,實現(xiàn)了高性能的通信。同時,我們也做了自動的故障診斷和通信管理,保證了網(wǎng)絡(luò)的可用性。我們已經(jīng)將這個網(wǎng)絡(luò)集成到大數(shù)據(jù)存儲和計算系統(tǒng)中,支持 AI 的科學計算、智能計算和大模型計算等場景。
在系統(tǒng)層面,我們也做了很多工作來充分發(fā)揮硬件的潛能。在分布式方面,我們針對 PyTorch 推出了 TorchAccelerator 庫,針對 TensorFlow 推出了 EPL 庫??紤]到分布式訓練的特點,我們提出了 AI Master 框架,來加強分布式環(huán)境中的調(diào)度和控制,實現(xiàn)彈性訓練和跨高階worker的優(yōu)化。例如,通過自動容錯的彈性訓練,可以進行訓練中節(jié)點個數(shù)的擴縮容,使得我們的分布式執(zhí)行更加魯棒。
同時,我們也聚焦于編譯技術(shù),這是優(yōu)化的核心。我們通過編譯過程系統(tǒng)地理解大模型計算的過程,讓系統(tǒng)自動化地進行優(yōu)化,選擇分布式優(yōu)化策略。
在推理場景中,我們運用混合精度、模型壓縮量化等技術(shù),并結(jié)合我們的 PAI-Blade 工具,使得用戶可以以一種透明、簡單的方式使用我們的自動化優(yōu)化能力。
考慮到云上的數(shù)據(jù)問題,我們依托于以太網(wǎng)上的 RDMA 網(wǎng)絡(luò),將我們的PAI靈駿智算平臺與阿里云的其他產(chǎn)品服務(wù)有機地結(jié)合起來。用戶可以將數(shù)據(jù)放在 OSS、MaxCompute 等豐富的云產(chǎn)品中,并通過專業(yè)的數(shù)據(jù)管理系統(tǒng)或湖倉系統(tǒng)來管理數(shù)據(jù)。在訓練時,我們需要快速地將數(shù)據(jù)供給計算節(jié)點,使得模型能夠快速收斂。
這就帶來了一個挑戰(zhàn):數(shù)據(jù)存在于遠端的湖倉系統(tǒng)中,而訓練算力集群又是一個高性能的智算中心。如何提高數(shù)據(jù)供給效率,并讓AI 訓練和推理變得更快、更易用、更穩(wěn)定?
具體來說,我們的編譯技術(shù)更加聚焦于后端的執(zhí)行框架。在前端,不管是 TensorFlow 還是 PyTorch,我們都會將 Python 程序轉(zhuǎn)譯成中間語言 IR。對于 TensorFlow 的靜態(tài)圖,這個過程會更容易。對于 PyTorch,我們也可以通過一些方法和約束,將前端的模型表達轉(zhuǎn)成 IR 的執(zhí)行圖。然后,我們再通過后端系統(tǒng)的分布式策略選擇和本地代碼生成,結(jié)合起來,形成最終高效的分布式執(zhí)行計劃。
我們這種方式可以很方便地對接各種構(gòu)建深度學習的框架。我們認為,系統(tǒng)優(yōu)化更應(yīng)該聚焦于后端,因為前端是一個生態(tài),不管開發(fā)工程師用什么樣的工具構(gòu)建模型,我們都能夠通過我們后端的技術(shù)支持他們?,F(xiàn)在行業(yè)里的趨勢也是如此,大家在共同建設(shè)類似于 MLIR 這樣的框架,并將更多的系統(tǒng)化優(yōu)化放在后端生態(tài)系統(tǒng)上??梢钥吹?,通過我們的技術(shù),我們能夠普適性地提高模型的性能,在訓練上可以有不錯的性能提升。
在推理方面,我們也將我們的優(yōu)化技術(shù)結(jié)合在 PAI-Blade 工具中,實現(xiàn)了很好的效率提升。除了系統(tǒng)優(yōu)化,我們還可以通過對模型的理解進行一些有損的優(yōu)化,如模型量化和壓縮,結(jié)合彈性資源,提供更高性價比的推理服務(wù)。特別是在大模型時代,推理服務(wù)的成本節(jié)省是推廣模型應(yīng)用的關(guān)鍵。希望以更普惠的方式將大模型的能力推給最終消費者。
在數(shù)據(jù)倉庫的環(huán)境中,我們依托于以太網(wǎng)上的 RDMA 網(wǎng)絡(luò),所以可以很好地和云產(chǎn)品進行有機結(jié)合。但是,如何平衡遠端的數(shù)據(jù)倉庫和近端的智算中心之間的管理和性能?我們是通過 DataSetAccelerator 產(chǎn)品,在智算中心內(nèi)部,建立一個緩存層,將遠端的數(shù)據(jù)以異步的方式拉到本地的緩存中,從而有效地滿足計算的需求。
針對大模型時代的強化學習需求,我們對RLHF 的過程進行了有效的支持。我們提出了一個支持千億模型參數(shù)的 RLHF 框架,讓工程師能夠更方便地構(gòu)建復雜的強化學習流程,從而有效地支持模型的迭代更新。
在產(chǎn)品層面,我們提供了一個端到端的模型開發(fā)全過程。從數(shù)據(jù)標注到交互式建模,從大規(guī)模訓練的集群管理到任務(wù)提交,從在線服務(wù)的部署到模型資產(chǎn)的管理,我們都提供了豐富的資源視角和任務(wù)視角,讓用戶可以有效地管理數(shù)據(jù)集、鏡像、代碼、模型和任務(wù)。我們遵循了 PaaS 層的產(chǎn)品理念,所有的功能都有完善的 open API,讓用戶可以根據(jù)自己的需求,構(gòu)建自己的平臺和交互方式,并將我們的能力集成進去。
除了工程和平臺層面,阿里云也在推動模型即服務(wù)(Model as a Service)的模型社區(qū)建設(shè),并且毫無保留地開放了這些年積累的模型。通過 ModelScope 魔搭社區(qū),我們讓 AI 開發(fā)變得更簡單,讓 AI 應(yīng)用更加百花齊放,讓更多的開發(fā)者加入到 AI 開發(fā)中,使得 AI 模型和應(yīng)用能夠更好地滲透到各個行業(yè),為智能化開發(fā)推向一個新階段。
ModelScope 魔搭社區(qū)和 PAI 平臺進行了無縫對接,使得開發(fā)者能夠更快地使用模型,根據(jù)自己的場景進行二次開發(fā),構(gòu)建自己的訓練過程,并充分利用好已經(jīng)訓練好的大模型和預訓練模型,進行二次迭代。平臺也提供了一些免費的啟動資源,讓開發(fā)者熟悉開發(fā)環(huán)境,更便捷地進行創(chuàng)新。以上是我的分享,謝謝!歡迎添加作者微信Sunpx33,交個朋友~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。