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
CATEGORIES