0
作者丨孫溥茜
編輯丨陳彩嫻
編者按:2023 年 8 月14日,第七屆 GAIR 全球人工智能與機器人大會在新加坡烏節大酒店正式開幕。論壇由 GAIR 研究院、雷峰網、世界科技出版社、科特勒咨詢集團聯合主辦。大會共開設 10 個主題論壇,聚焦大模型時代下的 AIGC、Infra、生命科學、教育,SaaS、web3、跨境電商等領域的變革創新。此次大會是在大模型技術爆炸時代,國內首個出海的 AI 頂級論壇,也是中國人工智能影響力的一次跨境溢出。

在第一天的“GPT 時代的杰出貢獻者”專場上,林偉以“ PAI 靈駿智算,為創新提速”為題發表了主題演講。林偉是阿里云研究員、阿里云計算平臺首席架構師,也是阿里云機器學習平臺 PAI 技術負責人。
大模型時代 AI 工程建設是一個熱門的話題,也是一個具有挑戰性的問題。參數量大、計算復雜度高、需要大規模分布式集群和高性能硬件支持訓練和推理,單拎出哪一點對于 AI 工程師來說都是一項巨大的技術挑戰。林偉認為,隨著快速變化的外界環境,如何快速訓練模型,成為了模型開發的重中之重。
在演講中,林偉介紹了阿里云 PAI 靈駿智算平臺的基礎架構,并從核心競爭力、平臺核心基礎設施建設、訓練推理加速、編譯技術、數據加速、RLHF 框架、平臺能力和社區建設等方面,系統闡述了阿里云在 AI 工程化方面的工作進展。
以下為林偉的演講內容,雷峰網(公眾號:雷峰網)作了不改變原意的編輯及整理:
大家好,歡迎來到第七屆 GAIR 全球人工智能與機器人大會,我是林偉,現在是阿里云機器學習平臺 PAI 的技術負責人,今天我帶來的分享主題是“ PAI 靈駿智算,為創新提速”。今年是 AI 大模型突破的一年,ChatGPT 讓人們看到大模型的智能潛力,也推動了整個行業進入到了大模型時代。
但是訓練大模型并不簡單,隨著模型大小呈指數級增加,如何能夠快速訓練模型成為模型開發的重中之重。只有通過不斷地訓練、反饋,以更快速度迭代,才能產生更好的模型。
我們認為,AI 的工程化和規模化是這一輪 AI 爆發的主要推動力。那么如何有效管理這些非常昂貴的超算中心,充分利用好成千上萬張 GPU 算力,讓算法工程師不用或者少操心系統問題,把精力更多地投入在模型構造和訓練上,是我們正在關注的事情。
阿里云基于過去在大語言模型建設上的經驗,推出了 PAI 靈駿智算平臺,旨在提供大規模的深度訓練能力,幫助用戶更好地管理算力,在計算、AI of Science,以及生成式 AI 的各個方向去貢獻自己的力量。今天我將主要介紹阿里云在大模型環境里下,有關架構的一些思考。
01
AI 工程化的眾多挑戰
AI工程面臨眾多挑戰,其中首要挑戰之一是芯片的快速迭代。平均每半年迭代一次的芯片,導致我們的計算集群呈現異構狀態。在這種情況下,我們要思考如何通過調度能力和框架協同配合,將合適的任務分布到合適的資源上,并充分考慮網絡拓撲。在超大規模模型訓練中,網絡通信是關鍵因素,因此合理的網絡拓撲安排是確保分布式訓練加速比的關鍵所在。
同時,我們也需要在調度中避免浪費資源,減少碎片化,以適應大模型訓練的需要。在這種規模下,硬件性能已經被推至極限。大型模型的訓練往往需要上千張 GPU 卡,并且在這種情況下,硬件錯誤、網絡擁塞以及其他不可預測因素可能導致訓練中斷或錯誤。
因此,PAI 靈駿致力于為模型開發者提供幫助,使其無需過多關注這些問題,能夠自動進行容錯和修復。此外,還有一個重要因素是計算能力。鑒于我們的模型需要處理海量數據,如何確保計算能力不受數據傳輸等待的影響,從而有效供給訓練過程,成為一項關鍵任務。
同時,分布式任務的管理也頗具復雜性,通常情況下,算法專業的同仁較難有效地優化和分布式化任務,實現存儲、網絡傳輸和調度等各個環節的均衡分配。我們需要系統深刻理解,以便在硬件資源的充分利用下,實現這些領域的平衡切割,從而解決系統瓶頸問題,為算法迭代提供堅實支持。因此,我們的AI平臺需要具備更大范圍的系統理解能力,以最大程度地平衡位于計算中心的資源,從而解決系統瓶頸問題,為算法的迭代提供有力保障。
02
AI 訓練提效之阿里版解決方案
這張圖展現了 PAI 靈駿智算平臺的整體框架。最底層是阿里云的數據中心,為大數據和AI計算創造了良好的環境。在數據中心內部,擁有海量的云服務器,并配備了高速的 RDMA 網絡和高性能存儲設備。

在此基礎上,我們構建了機器學習 PAI 平臺,它將通信、 I/O、 網絡、各種芯片和已經深度優化的深度學習框架有機地結合在一起,使得算力能夠高效地為上層平臺和算法工程師服務,讓他們能夠快速有效地構建深度學習模型。
在平臺上,我們還提供了模型即服務(Model as a Service)的理念,集成 ModelScope、HuggingFace 等優秀的模型庫,讓 AI 應用開發工程師可以在平臺上構建各種有趣的 AI 應用。
從 ChatGPT 誕生后,就迅速涌現了許多 AI 應用,這也反映了一個優質的模型庫和模型社區對于行業發展的重要性。我們非常歡迎學術界和產業界的同行一起加入我們的模型社區,為技術進步貢獻力量。
PAI靈駿智算平臺在工程上具有以下幾個特點。
首先,建立了高帶寬低延時的分布式 RDMA 網絡,它是連接各個計算節點的關鍵。我們的理念是,在IB之外,我們還構建了基于以太網的 RoCE RDMA 網絡。這樣,才能在云上提供優質的 AI 計算平臺服務,我們可以將存儲等云服務和AI計算很好地結合起來,為用戶提供數據治理、管理和計算等一體化的服務。

在以太網上,我們面臨著更大的挑戰,比如如何解決網絡擁塞、通信流不均衡問題。通過自建高性能網絡和通信庫來解決這些問題,使得加速比能夠保持在 90% 以上。如果使用普通的 TCP 網絡,加速比會大幅下降。
其次,在深度學習框架方面,我們關注于引擎的后端優化,特別是在大模型時代,讓算法工程師編寫分布式訓練代碼是非常困難的,更不用說跑得好。通過自研的編譯優化和自動分布式加速引擎,自動地切割模型和生成執行計劃,使得我們能夠很好地平衡各個節點上的 I/O、網絡和計算資源,實現高效的分布式訓練。在推理階段,也可以利用編譯技術,并結合模型壓縮和量化技術,來適配各種多樣的服務終端,從而以更經濟的方式提供推理服務。
最后,在模型生產方面,PAI 靈駿提供了從數據準備、清洗到模型結構開發訓練,再到模型部署的整個開發流程。在平臺之上,我們還構建了模型即服務(Model as a Service)的理念,與行業內的同行一起建設模型社區,期待以模型社區激發更多的 AI 應用開發工程師進行創新和創造,構建豐富多樣的 AI 應用。
繼續展開來說,我們的計算平臺在基礎設施方面,建立了 3.2T 的高速 RDMA 網絡,支持上萬個節點的擴展能力,控制延遲在 1.5μs以內。我們利用多路徑感知的通信庫,避免集群內網絡擁塞問題,實現了高性能的通信。同時,我們也做了自動的故障診斷和通信管理,保證了網絡的可用性。我們已經將這個網絡集成到大數據存儲和計算系統中,支持 AI 的科學計算、智能計算和大模型計算等場景。

在系統層面,我們也做了很多工作來充分發揮硬件的潛能。在分布式方面,我們針對 PyTorch 推出了 TorchAccelerator 庫,針對 TensorFlow 推出了 EPL 庫。考慮到分布式訓練的特點,我們提出了 AI Master 框架,來加強分布式環境中的調度和控制,實現彈性訓練和跨高階worker的優化。例如,通過自動容錯的彈性訓練,可以進行訓練中節點個數的擴縮容,使得我們的分布式執行更加魯棒。
同時,我們也聚焦于編譯技術,這是優化的核心。我們通過編譯過程系統地理解大模型計算的過程,讓系統自動化地進行優化,選擇分布式優化策略。

在推理場景中,我們運用混合精度、模型壓縮量化等技術,并結合我們的 PAI-Blade 工具,使得用戶可以以一種透明、簡單的方式使用我們的自動化優化能力。
考慮到云上的數據問題,我們依托于以太網上的 RDMA 網絡,將我們的PAI靈駿智算平臺與阿里云的其他產品服務有機地結合起來。用戶可以將數據放在 OSS、MaxCompute 等豐富的云產品中,并通過專業的數據管理系統或湖倉系統來管理數據。在訓練時,我們需要快速地將數據供給計算節點,使得模型能夠快速收斂。
這就帶來了一個挑戰:數據存在于遠端的湖倉系統中,而訓練算力集群又是一個高性能的智算中心。如何提高數據供給效率,并讓AI 訓練和推理變得更快、更易用、更穩定?
具體來說,我們的編譯技術更加聚焦于后端的執行框架。在前端,不管是 TensorFlow 還是 PyTorch,我們都會將 Python 程序轉譯成中間語言 IR。對于 TensorFlow 的靜態圖,這個過程會更容易。對于 PyTorch,我們也可以通過一些方法和約束,將前端的模型表達轉成 IR 的執行圖。然后,我們再通過后端系統的分布式策略選擇和本地代碼生成,結合起來,形成最終高效的分布式執行計劃。
我們這種方式可以很方便地對接各種構建深度學習的框架。我們認為,系統優化更應該聚焦于后端,因為前端是一個生態,不管開發工程師用什么樣的工具構建模型,我們都能夠通過我們后端的技術支持他們。現在行業里的趨勢也是如此,大家在共同建設類似于 MLIR 這樣的框架,并將更多的系統化優化放在后端生態系統上。可以看到,通過我們的技術,我們能夠普適性地提高模型的性能,在訓練上可以有不錯的性能提升。

在推理方面,我們也將我們的優化技術結合在 PAI-Blade 工具中,實現了很好的效率提升。除了系統優化,我們還可以通過對模型的理解進行一些有損的優化,如模型量化和壓縮,結合彈性資源,提供更高性價比的推理服務。特別是在大模型時代,推理服務的成本節省是推廣模型應用的關鍵。希望以更普惠的方式將大模型的能力推給最終消費者。

在數據倉庫的環境中,我們依托于以太網上的 RDMA 網絡,所以可以很好地和云產品進行有機結合。但是,如何平衡遠端的數據倉庫和近端的智算中心之間的管理和性能?我們是通過 DataSetAccelerator 產品,在智算中心內部,建立一個緩存層,將遠端的數據以異步的方式拉到本地的緩存中,從而有效地滿足計算的需求。

針對大模型時代的強化學習需求,我們對RLHF 的過程進行了有效的支持。我們提出了一個支持千億模型參數的 RLHF 框架,讓工程師能夠更方便地構建復雜的強化學習流程,從而有效地支持模型的迭代更新。

在產品層面,我們提供了一個端到端的模型開發全過程。從數據標注到交互式建模,從大規模訓練的集群管理到任務提交,從在線服務的部署到模型資產的管理,我們都提供了豐富的資源視角和任務視角,讓用戶可以有效地管理數據集、鏡像、代碼、模型和任務。我們遵循了 PaaS 層的產品理念,所有的功能都有完善的 open API,讓用戶可以根據自己的需求,構建自己的平臺和交互方式,并將我們的能力集成進去。

除了工程和平臺層面,阿里云也在推動模型即服務(Model as a Service)的模型社區建設,并且毫無保留地開放了這些年積累的模型。通過 ModelScope 魔搭社區,我們讓 AI 開發變得更簡單,讓 AI 應用更加百花齊放,讓更多的開發者加入到 AI 開發中,使得 AI 模型和應用能夠更好地滲透到各個行業,為智能化開發推向一個新階段。

ModelScope 魔搭社區和 PAI 平臺進行了無縫對接,使得開發者能夠更快地使用模型,根據自己的場景進行二次開發,構建自己的訓練過程,并充分利用好已經訓練好的大模型和預訓練模型,進行二次迭代。平臺也提供了一些免費的啟動資源,讓開發者熟悉開發環境,更便捷地進行創新。以上是我的分享,謝謝!歡迎添加作者微信Sunpx33,交個朋友~
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。