AI News HubLIVE
站内改写

vLLM V0到V1:RL中的正確性優先於修正

ServiceNow AI團隊在將強化學習訓練管線從vLLM V0遷移到V1時,發現了四個後端問題:logprobs語義、運行時默認值、飛行中權重更新和fp32 lm_head。他們優先修復後端正確性,再考慮目標側修正,最終實現了與V0參考的完全對齊。

文章情報

工程師進階

要點

  • 遷移目標:驗證V1能返回訓練器期望的logprobs,並與V0參考對比
  • 四個後端修復:processed_logprobs、禁用V1特有默認值、匹配飛行中權重更新、啓用fp32 lm_head
  • 核心經驗:先確保推理後端正確性,再考慮目標側修正(如截斷重要性採樣)

為甚麼重要

這條新聞值得關注,因為遷移目標:驗證V1能返回訓練器期望的logprobs,並與V0參考對比。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

ServiceNow AI團隊近期分享了他們將強化學習(RL)訓練管線中的推理引擎從vLLM V0遷移到V1的經驗。他們的核心原則是:先修復後端行為,再調整RL目標,以避免混淆推理錯誤和目標修正。

遷移的目標非常明確:驗證V1能否返回訓練器期望的logprobs,然後在相同工作負載下與V0參考對比。初始V1運行顯示訓練指標如clip rate、KL散度、熵和獎勵明顯偏離參考。團隊將失敗模式分為三類:語義不匹配、推理路徑不匹配和目標不匹配。他們優先處理前兩類。

第一個修復是logprobs語義:V1默認返回原始模型輸出的logprobs,但訓練器需要經過温度縮放、懲罰和top-k/top-p過濾的處理後logprobs。通過設置logprobs-mode=processed_logprobs,修復了均值偏移,但訓練曲線仍有差距。

第二個修復是運行時默認值:V1引入了前綴緩存和異步調度等新默認值,這些在V0中不存在。禁用這些功能(enable-prefix-caching: falseasync-scheduling: false)移除了V1特有的自由度。

第三個修復是飛行中權重更新:需要匹配V0的更新模型。V0的行為是阻塞執行、加載新權重、恢復而不顯式清除緩存。V1中使用pause_generation(mode="keep", clear_cache=False)resume_generation()來保留緩存。

第四個修復是fp32 lm_head:訓練器使用fp32精度計算logits,而V1可能使用其他精度。啓用fp32 lm_head路徑後,獎勵曲線最終與V0參考對齊。這個細節在MiniMax-M1技術報告和ScaleRL論文中也有提及。

通過一系列消融實驗,團隊確認了processed_logprobs單獨不足以解決問題,批量不變性和最初的V1運行都不是公平基線。最終結論是:在考慮目標側修正(如截斷重要性採樣)之前,必須先確保推理後端正確性。團隊計劃在恢復推理一致性後,再進行常規的異步/離策略清理,包括保留行為策略logprobs、重計算舊策略logprobs、分離後端不匹配修正等。