![]()
始智AI wisemodel.cn社區是源自中國的中立開放的AI開源社區。正在,歡迎加入共同成長。
XTuner V1 是伴隨上海AI實驗室“通專融合”技術路線的持續演進,以及書生大模型研發實踐而成長起來的新一代訓練引擎。相較于傳統的 3D 并行訓練引擎,XTuner V1 不僅能應對更加復雜的訓練場景,還具備更快的訓練速度,尤其在超大規模稀疏混合專家(MoE)模型訓練中優勢顯著。
除了訓練框架,書生大模型研發中使用的 AIOps 工具 DeepTrace 與 ClusterX 也將一并開源,為大規模分布式訓練提供全方位保障。XTuner V1已上線始智AI-wisemodel開源社區,歡迎大家前去體驗。
![]()
模型地址
https://wisemodel.cn/codes/Intern/xtuner
01.
訓練方案
目前開源社區主流的訓練方案主要分為兩類:
1、DeepSpeed / PyTorch FSDP(Fully Shard Data Parallel):通信量大但使用簡單,尤其適合稠密型模型訓練,開發者無需具備專業的 AI Infra 知識,也能開發出接近最優性能的訓練系統;
2、3D 并行:通信量小但使用復雜,開發者需要具備專業的 AI Infra 知識,針對不同硬件和訓練場景進行針對性調優,尤其適用 MoE 模型訓練。
為了同時兼顧易用性、高性能與超大模型訓練,XTuner V1 基于 PyTorch FSDP 進行開發,并針對 FSDP 通信量大的固有缺陷,進行了系列優化,可支持 1T 參數量級 MoE 模型訓練,并首次在 200B 以上量級的混合專家模型上,實現訓練吞吐超越傳統的 3D 并行訓練方案。
針對當前主流的 MoE 后訓練需求,XTuner V1 不使用序列并行就能實現 200B 量級 MoE 模型單次 forward-backward 可處理 64k 序列長度,更適合當下流行的強化學習訓練場景;對專家并行依賴小,長序列訓練時受專家不均衡影響小,200B 量級 MoE 無需專家并行,600B MoE 只需節點內專家并行,更適合現代 MoE Dropless 訓練模式;大規模長短序列混訓場景提速 2 倍以上,數據并行負載均衡,大幅減小因需序列長度不均衡導致的計算空泡。
同時,為了進一步挖掘 XTuner V1 訓練方案的上限,研究團隊與華為昇騰技術團隊在 Ascend A3 NPU 超節點上進行聯合優化,充分利用超節點硬件特性,實現了更高的 MFU(Model FLOPS Utilization,模型浮點運算利用率)。在理論算力落后 NVIDIA H800 近 20% 的情況下,最終實現訓練吞吐超過 H800 近 5%,MFU 反超 20% 以上,該項研究成果技術報告也將于近期發布。
![]()
02.
訓練引擎介紹
![]()
多維度技術優化,專為“超大模型”而生
XTuner V1 之所以能在超大模型訓練中展現出卓越的性能,核心在于它在顯存、通信、負載等多個維度進行了系統性優化。這些優化協同作用,不僅帶來了性能的跨越式提升,還兼顧了易用性、通用性與擴展性。
![]()
顯存優化
Pytorch FSDP 與 3D 并行最大的差異在于重計算。3D 并行時會盡可能減少重計算的占比,顯存峰值主要來自于計算圖中記錄的激活值;Pytorch FSDP 則嚴重依賴于重計算,顯存峰值主要來自于為重計算保留的激活值和模型最后計算損失函數時的計算圖。
針對計算損失函數時的計算圖,XTuner V1 參考 Liger-Kernel 中的做法,開發了一套可以支持多種訓練場景和多種硬件的自動 Chunk Loss 機制;針對重計算保留的激活值,XTuner V1 借鑒了 MindSpeed 中的 Async Checkpointing Swap。
![]()
Async Checkpointing Swap 會在模型第 i 層前向計算開始時,將重計算需要保存的激活值從 Device 搬運到 Host,釋放對應激活值占用的顯存;在第 m 層反向傳播時,會提前將第 m-1 層重計算需要的激活值從 Host 側搬運回 Device 側,反向傳播結束時會自動釋放對應的顯存占用。
最終,無需借助序列并行技術,實現 200B 參數量級 MoE 模型訓練 64K 長度序列。
![]()
通信掩蓋
FSDP 會將參數均勻地切分在每張卡上,在模型的第 i 層計算時,會提前聚合第 i+1 層的參數,當第 i 層計算結束后,會將第 i 層的參數重新切分回每張卡上。這種模式極大地節省了模型參數占用的顯存,但也增大了通信量,如果每層計算的耗時小于通信耗時,就會產生計算空泡,導致算力浪費。
![]()
得益于極致的顯存優化,XTuner V1 可以讓單次迭代的最大序列長度提升數倍,從而增加每層計算的耗時,掩蓋參數聚合的通信耗時。
![]()
針對因顯存或通信帶寬受限,無法實現通信掩蓋的訓練場景,XTuner V1 通過 Intra-Node Domino-EP 來降低每一層聚合參數的通信量,同時掩蓋因引入專家并行帶來的額外通信開銷。
![]()
![]()
DP 負載均衡
大模型訓練時,通常會將多條句子拼接至一個固定長度,計算時使用變長注意力機制。32 個 1k 長度句子拼接得到的 32k 序列,計算耗時會遠小于 2 個 16k 句子拼接得到的 32k 序列,數據并行維度越大,越容易出現計算空泡。
由于 XTuner V1 中沒有引入 TP、PP 等并行策略,相同卡數下,數據并行的維度會遠大于 3D 并行。為了緩解變長注意力帶來的計算空泡,并盡可能不影響數據的訓練順序,會對每 n 個 step 內的已拼接好的序列進行排序,讓每次計算時,不同 DP 的最長子序列長度是接近的。
![]()
![]()
基于昇騰超節點深度優化,
理論算力落后情況下訓練效率反超業界產品
為了進一步探究 XTuner V1 訓練方案的上限,研究團隊與華為昇騰技術團隊在 Ascend A3 NPU 超節點上進行了深度優化,充分利用超節點硬件特性,實現了更高的 MFU。在理論算力落后 NVIDIA H800 20% 的情況下,最終實現訓練吞吐反超 H800 近 5%,MFU 反超 20% 以上。
昇騰超節點通過高速總線連接多顆 NPU,突破互聯瓶頸,讓超節點像一臺計算機一樣工作,更加適合 FSDP 訓練,相較于 NVIDIA H800:
更高的通信帶寬:最大可實現 384 顆 NPU 點到點超大帶寬互聯,FSDP All Gather 耗時僅為 H800 的 1/4~1/3,更容易實現計算-通信掩蓋。
計算通信解耦:通過專用硬化調度和傳輸卸載,實現不占用計算核的高效數據通信,FSDP 計算通信掩蓋時不會影響計算速度。
靈衢總線:CPU 和 NPU 通過靈衢總線互聯,帶寬遠超 PCIe,Checkpointing Swap 的開銷更小。
除硬件固有優勢外,昇騰還從通信、內存、計算、框架、工具等維度對基于超節點的 MoE 訓練進行了全方位的加持:
Cube 調優:對于模型中集中了大量計算任務的 GroupedMatmul 算子進行分析,發現內部搬運帶寬已經擁塞但 cube 利用率還有提升空間。針對此問題,聯合研發團隊重點優化 GroupedMatmul 算子分塊邏輯,根據不同輸入進行動態分塊 Tiling 策略優化搬運效率。同時,根據場景的不同細化 Cache 策略,提高 Cache 命中率從而提升性能。
QoS 調優:QoS(Quality of Service)即服務質量。在有限的帶寬資源下,QoS 為各種業務分配帶寬,為業務提供端到端的服務質量保證。大規模訓練過程中,計算流、通信流、swap 流都會存在 HBM 帶寬訪問,并發的訪問會導致 HBM 帶寬擁塞,從而影響整體性能。通過適當調低通信的 HBM 訪存優先級,可以減少計算的搬運時間,從而優化端到端性能。
跨流內存復用:在FSDP 計算流和通信流異步重疊的場景中,Ascend Extension for PyTorch(PTA)中默認的跨流內存優化會導致顯存不能及時釋放,需要開啟 PTA 中進階版的跨流內存復用機制(MULTI_STREAM_MEMORY_REUSE=2),可以顯著降低顯存峰值。
集群性能工具高效診斷:借助 MindStudio 全流程工具鏈中的 msprof-analyze 性能分析工具與 MindStudio Insight 可視化工具,開發者可以充分利用其強大的數據分析與可視化能力,在分鐘級時間內精準識別 訓練過程中的“快慢卡”現象根因,快速定位出性能瓶頸,顯著提升大集群調優效率。
編輯丨趙雅鑫
----- END -----
![]()
wisemodel相關:
系列模型:
![]()
關于wisemodel更多
![]()
![]()
1
歡迎持續關注和支持
開源社區建設需要長期堅持和投入,更需要廣大用戶的積極參與、貢獻和維護,歡迎大家加入wisemodel開源社區的志愿者計劃和開源共創計劃。期待更多開發者將開源成果,包括模型、數據集和代碼等發布到 wisemodel.cn 社區,共建中立、開放的AI開源社區生態。歡迎掃碼添加wisemodel微信,申請加入wisemodel社群,持續關注wisemodel.cn開源社區動態,
2
歡迎加盟wisemodel開源社區
3
歡迎投稿優質內容
歡迎投稿分享人工智能領域相關的優秀研究成果,鼓勵高校實驗室、大企業研究團隊、個人等,在wisemodel平臺上分享各類優質內容,可以是AI領域最新論文解讀、最新開源成果介紹,也可以是關于AI技術實踐、應用和總結等。投稿可以發郵件到liudaoquan@wisemodel.cn,也可以掃碼添加wisemodel微信。
4
關于wisemodel開源社區
始智AI wisemodel.cn開源社區由清華校友總會AI大數據專委會副秘書長劉道全創立,旨在打造和建設中立開放的AI開源創新社區,將打造成“HuggingFace”之外最活躍的AI開源社區,匯聚主要AI開源模型、數據集和代碼等,歡迎高校科研院所、大型互聯網公司、創新創業企業、廣大個人開發者,以及政府部門、學會協會、聯盟、基金會等,還有投資機構、科技媒體等,共同參與建設AI開源創新生態。
向上滑動查看
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.