TRL 中的 Vision Language Model Alignment

Hugging Face 已在 TRL 函式庫中針對視覺語言模型 (VLMs) 引入了全面的進階對齊技術支援。此次更新讓開發者能夠超越簡單的成對偏好優化,轉而使用更具擴展性且更穩健的方法,例如 Mixed Preference Optimization (MPO)、Group Relative Policy Optimization (GRPO) 以及 Group Sequence Policy Optimization (GSPO)。

Advanced Multimodal Alignment Methods

TRL 現在整合了幾種尖端的對齊演算法,旨在從偏好數據中提取更豐富的訊號,並提升 VLM 在複雜任務上的表現。

Mixed Preference Optimization (MPO)

MPO 解決了推理任務中監督式微調 (SFT) 常見的分佈偏移問題,以及 Direct Preference Optimization (DPO) 中常見的缺乏連貫推理過程的問題。MPO 透過結合三種不同的損失函數來擴展 DPO:

  • Preference loss 來自 DPO (sigmoid)
  • Quality loss 來自 Binary Classifier Optimization (BCO)
  • Generation loss 來自 SFT

根據原始論文,實作這種組合損失函數可以使 MathVista 基準測試的得分提高 6.2 分。在 TRL 中,這是透過 DPOTrainer 實作的,藉由將 loss_type 配置為 ["sigmoid", "bco_pair", "sft"] 並分配相應的權重來完成。

Multimodal Group Relative Policy Optimization (GRPO)

GRPO 是一種強化學習對齊方法,它在群組(一組軌跡)而非單個樣本上進行策略更新。這種方法使模型對獎勵雜訊更具穩健性,因為雜訊會在群組內被平均化,從而讓模型學習到更廣泛的「高品質回應」的概念。

要在 TRL 中實作 GRPO,使用者需定義獎勵函數——例如一個用於格式驗證(例如檢查 <think><answer> 標籤)以及一個用於準確性的函數(將解法與標準答案進行比對)——並將其傳遞給 GRPOTrainer

Group Sequence Policy Optimization (GSPO)

GSPO 是由 Qwen 開發的 GRPO 變體,旨在提升訓練穩定性。它透過在序列層級而非 token 層級計算重要性採樣權重來實現這一點,這對於 Mixture-of-Experts (MoE) 風格的模型特別有益。TRL 透過 GRPOConfig 支援 GSPO,允許使用者指定 importance_sampling_level="sequence" 以及特定的 epsilon 和 beta 參數。

Extended VLM Support and SFT

除了主要的全新演算法之外,TRL 還擴展了對現有對齊與微調工作流程的支援。

RLOO and Online DPO

TRL 現在支援針對 VLMs 的 Reinforce Leave One Out (RLOO)Online Direct Preference Optimization (Online DPO)。這些方法可以實現多模態數據集的對齊,並可分別透過 RLOOTrainerOnlineDPOTrainer 進行存取。

Native Supervised Fine-tuning (SFT)

隨著 transformers API 的標準化,SFTTrainer 現在為 VLMs 提供完整的原生支援。使用者可以使用包含 images 欄位的數據集來初始化 trainer。為了防止在訓練過程中移除圖像 token,建議在 SFTConfig 中設置 max_length=None

vLLM Integration for Online Alignment

為了支援需要在訓練迴圈中生成樣本的線上對齊方法,TRL 整合了 vLLM。此整合提供了兩種主要的運作模式:

  • Colocate mode: 運行 vLLM 與訓練迴圈在同一個進程中,在訓練與生成之間共享 GPU。
  • Server mode: 需要將 vLLM 作為獨立進程運行,訓練腳本隨後會對其進行查詢。

此外,TRL 現在支援使用 transformers backend 與 vLLM 搭配使用,這可以透過 --vllm_model_impl transformers 旗標來啟用。

Sources

相關