DeepSeek R1將模型訓練推向基于強化學習的后訓練新范式,讓各行業(yè)也能快速構建行業(yè)高質量模型。后訓練的核心主要在通過強化學習讓模型涌現(xiàn)出自我驗證、自我思考的長CoT(思維鏈)能力,讓模型產生長CoT是后訓練的推理任務,因此強化學習(RL)需要進行目標模型的訓練和推理,而目標模型的推理和訓練負載特征差異大,分離方案訓練推理任務相互等待,資源利用率低。昇騰MindSpeed RL在后訓練過程中采用訓推共卡特性,讓訓練推理任務分時利用集群資源,降低訓推切換時延和內存峰值,提升資源利用率和吞吐性能,是業(yè)界首個在大規(guī)模MoE模型RL訓練上支持訓推共卡。
強化學習后訓練面臨的挑戰(zhàn)
強化學習的后訓練是在預訓練模型基礎上,通過SFT微調和強化學習算法進一步優(yōu)化模型行為,其核心思想是將模型的輸出視為策略,利用獎勵信號增強模型在特定領域的能力,只需少量高質量數(shù)據(jù)即可大幅增強模型“慢思考”推理能力,提升模型在數(shù)學、代碼類等復雜邏輯推理中的表現(xiàn)。
強化學習RL后訓練中存在Actor(即目標模型)的生成、Ref/Reward/Critic等輔助模型計算、Actor訓練等。由于Actor模型訓練推理計算任務、內存占用等負載特征差異大,需要采用不同并行策略才能實現(xiàn)較高系統(tǒng)吞吐。由于生成、推理、訓練三個階段需要串行執(zhí)行,訓練推理資源相互等待,存在大量模型級空泡,造成計算資源浪費,影響后訓練的內存和吞吐性能。
圖1:基于強化學習的Actor后訓生成、推理、訓練三階段示意
昇騰大規(guī)模MoE訓推共卡強化學習
昇騰基于MindSpeed和vLLM開發(fā)訓推共卡RL后訓練方案,通過訓推權重更新的通信優(yōu)化算法、在線并行策略轉換、訓推共卡內存調度等特性,實現(xiàn)在同一集群上完成Actor模型的訓練及推理高效協(xié)同,解決大規(guī)模MoE模型后訓練在訓推分離架構中權重更新時延高、硬件利用率低、并行策略轉換OOM等問題。
支持訓推權重更新的通信優(yōu)化算法,時延降低50%
Actor模型訓練推理最優(yōu)并行策略不同,模型訓練內存中存在優(yōu)化器及梯度,內存占用大,需要采用更大的模型并行(TP、PP)才能完成訓練。而推理中僅有模型權重為靜態(tài)內存,僅需較小的模型并行(TP、PP)即可完成推理。模型權重更新切分的過程中存在大量數(shù)據(jù)同步的通信,通信時延高影響訓推切換效率。昇騰訓推權重更新的通信優(yōu)化算法,降低訓推切換中的權重同步時延50%。
支持在線并行策略轉換,提升訓推共卡系統(tǒng)資源利用40%
在MoE模型每一層的前向和反向計算中,各有兩次All2All通信,共計四次All2All通信,稱為Dispatch(F), Combine(F), Combine(B), Dispatch(B)。當模型專家數(shù)量較多,需要專家并行域(EP)來對專家進行EP并行切分,而采用vLLM等推理框架時不支持EP并行,因此訓推切換時需要進行EP轉TP。由于大規(guī)模MoE模型(如DeepSeek V3等)尺寸巨大(671B),僅權重就占據(jù)1.3TB內存(BF16),導致訓推EP轉TP過程存在較大OOM風險或面臨資源不足,無法inplace轉換。昇騰創(chuàng)新提出基于All2All的Direct EP2TP方案,在避免權重Resharding OOM的同時,實現(xiàn)高效權重轉換。訓推轉換時進行在線EP轉TP,大大提升vLLM推理引擎推理吞吐性能。在時延劣化小于5%條件下后訓練系統(tǒng)所需卡數(shù)降低30%,系統(tǒng)資源利用率提升40%。
支持訓推共卡內存調度,降低峰值內存10%,提升推理吞吐性能15%
訓推共卡場景中,訓練優(yōu)化器狀態(tài)、梯度占據(jù)大量內存,限制了推理階段可用內存和系統(tǒng)吞吐。昇騰采用訓推共卡內存調度,推理態(tài)將訓練權重、優(yōu)化器完全卸載至Host側,增加推理態(tài)可用內存;推理態(tài)結束后則將訓練優(yōu)化器及梯度onload至NPU,完成模型訓練,降低系統(tǒng)峰值內存10%,推理吞吐提升15%。
訓推共卡強化學習特性使用方法
方法1:
用戶在MindSpeed-RL目錄下調用腳本MindSpeed-RL/cli/train_grpo.py
腳本路徑:
http://www.picoinsstore.com/uploadfile/pic2020/2025/0326/2025032610000528G>
方法2:
用戶以模塊導入的方式調用訓推共卡特性
參考mindspeed_rl/workers/actor_hybrid_worker.py中initialize、_build_sharding_manager方法和mindspeed_rl/models/rollout/vllm_engine.py中offload_model_weights、sync_model_weights方法
腳本路徑:
http://www.picoinsstore.com/uploadfile/pic2020/2025/0326/2025032610000629G>
http://www.picoinsstore.com/uploadfile/pic2020/2025/0326/2025032610000730G>
(免責聲明:本網(wǎng)站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )