AI

TRL:Hugging Face 的 Transformer 強化學習函式庫

TRL 是 Hugging Face 用於訓練 LLM 的函式庫,支援 PPO、DPO 和偏好最佳化演算法。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
TRL:Hugging Face 的 Transformer 強化學習函式庫

大型語言模型與人類偏好的對齊是 AI 發展中最重要的挑戰之一。TRL(GitHub 上的 huggingface/trl)——Hugging Face 的 Transformer 強化學習函式庫——提供了一個全面的工具包來應對這項挑戰,在一個可用於正式環境、文件完善的套件中實作了完整的 RLHF(基於人類回饋的強化學習)演算法。

由 Hugging Face 的研究團隊開發,TRL 已成為 LLM 對齊訓練的標準函式庫,在 GitHub 上擁有超過 10,000 顆星,並被學術界和業界廣泛採用。它支援 PPO、DPO、KTO 和其他幾種偏好最佳化演算法,每種演算法在訓練複雜性、計算成本和對齊效果之間提供不同的權衡。

該函式庫與 Hugging Face 生態系統的緊密整合意味著,來自 Transformers 函式庫的任何模型都可以使用一致的 API 進行強化學習微調。來自 Datasets 函式庫的訓練資料直接輸入 TRL 的訓練迴圈,透過 Accelerate 的分散式訓練是內建的,結果模型可以推送到 Hub 進行分享和部署。這種整合程度顯著減少了通常與 RLHF 訓練相關的工程開銷。


訓練管線架構

TRL 的訓練管線遵循一個定義明確的步驟序列,從資料準備到模型部署:

DPO 等直接最佳化方法和 PPO 等基於獎勵的方法之間的選擇取決於訓練專案的具體要求。DPO 更簡單、需要較少的計算資源,非常適合快速實驗。PPO 搭配獨立的獎勵模型提供更精細的控制,通常在足夠的計算資源和高品質獎勵模型資料可用時產生優越的結果。


演算法比較

演算法獎勵模型訓練步驟計算成本對齊品質使用案例
PPO需要非常高最大對齊
DPO不需要快速微調
KTO不需要二元回饋
BCO不需要中等探索性訓練
ORPO不需要中等結合 SFT + 對齊

實際訓練工作流程

典型的 TRL 訓練工作流程從資料集準備開始,偏好配對被格式化為選擇和拒絕的完成結果。該函式庫包含將原始偏好資料轉換為所需格式的工具,支援多種資料集結構。在此階段,資料品質至關重要——TRL 的結果取決於其訓練所用的偏好資料的品質,應投入大量精力進行資料策展、去重和驗證。

TRL 中的訓練設定透過訓練設定物件中公開的一組全面的超參數進行處理。關鍵參數包括學習率、beta(控制模型可以偏離其基礎行為程度的 KL 懲罰係數)、批次大小和梯度累積步驟。TRL 內建的日誌記錄與 Weights and Biases 和 TensorBoard 整合,用於實驗追蹤。


推薦的外部資源


常見問題

什麼是 TRL? TRL 是 Hugging Face 的開放原始碼函式庫,用於使用強化學習訓練大型語言模型。

TRL 支援哪些演算法? 支援 PPO、DPO、KTO、BCO 和其他偏好最佳化演算法。

TRL 如何與 Hugging Face 生態系統整合? 深度整合 Transformers、Datasets、Accelerate 和 Hub。

PPO 和 DPO 的區別是什麼? PPO 需要獨立的獎勵模型,而 DPO 直接使用偏好對進行最佳化。

TRL 可以用於訓練 LLM 以外的模型嗎? 是的,可以應用於任何基於 Transformer 的模型。


延伸閱讀

TAG