trl

几行代码给大模型做 RLHF 对齐与偏好微调

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 模型训练 🍴 复刻 3116 🐛 待处理 314 👀 关注 104
GitHub ↗
GitHub 星标 ★ 19666
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,Apache 2.0 许可证

项目预览

trl 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类模型训练
开发团队huggingface
定价模式🏷️完全免费
价格说明开源免费,Apache 2.0 许可证
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
GitHub 星标★ 19666
上线时间2020-03-27 00:00:00
代码更新2026-11-03
仓库体积37.6 MB
本站数据更新2026-11-04
维护状态活跃
收录时间2026-09-20
浏览次数1

项目介绍

TRL(Transformer Reinforcement Learning)是 Hugging Face 推出的开源库,专注用强化学习与偏好优化方法训练 Transformer 语言模型。它解决的核心问题是:如何在大模型后训练阶段,把人类偏好、奖励信号或可验证答案高效地注入模型,而不必从零搭建复杂的 RL 训练管线。库内提供 SFT、DPO、GRPO、PPO、Reward Modeling 等主流算法实现,并与 transformers、accelerate、peft、bitsandbytes 深度集成,支持 LoRA/QLoRA 微调、多卡分布式训练和 vLLM 加速采样。用户既可以用 Trainer 类快速跑通流程,也能自定义奖励函数与数据格式。它已成为开源社区做 RLHF、对齐微调和推理模型训练的事实标准工具之一,被大量模型卡与论文引用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-20 · 当前星标 ★ 19666

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:进阶 约 15 分钟 部署方式:库/依赖 4 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境(README 未指定具体版本)
  • 已安装 Transformers(TRL 各 Trainer 是 Transformers Trainer 的轻量封装)
  • 分布式训练可选依赖:DDP / DeepSpeed ZeRO / FSDP(README 明确原生支持)
  • 后训练模型需要相应 GPU 资源(README 未给出最低显存要求)

安装与启动步骤

  1. 1克隆官方仓库

    从 GitHub 拉取 TRL 源码,这是 README 给出的项目仓库地址,获取后可查看完整代码与示例。

    git clone https://github.com/huggingface/trl.git
  2. 2进入项目目录

    切换到克隆下来的 trl 目录,便于查看仓库内的文件与示例脚本。

    cd trl
  3. 3查阅官方安装文档

    README 的 Installation 章节为空白,需按 README 顶部给出的文档入口查看对应版本的安装说明。

  4. 4核对运行依赖

    确认已装好 Transformers;如需分布式训练,再准备 DDP、DeepSpeed ZeRO 或 FSDP 环境。

如何确认成功

README 未提供启动验证方式;打开官方文档页面能正常加载,即说明入口有效,可继续按文档运行 Trainer。

常见问题

Q:README 里的 Installation 章节是空的,怎么安装?

A:

Q:训练器支持分布式训练吗?

A:

Q:长上下文训练该怎么上手?

A:

Q:TRL 和 Transformers 是什么关系?

A:

注意事项

  • 本次 README 节选未包含任何安装命令,因此步骤中未给出 pip/conda 安装指令,请以官方文档 Installation 页面为准。
  • TRL 定位是后训练(post-train)基础模型的综合库,涵盖 SFT、DPO、GRPO、PPO、Reward Modeling 等算法。
  • 每个 Trainer 都是 Transformers Trainer 的轻量封装,自定义数据集与 PEFT 适配器均可直接接入。
  • README 提到新的长上下文指南:训练超过 100 万 token 时,loss、位置编码、激活值和单卡显存会先出问题,并给出在单台 8 卡节点上训练 Qwen3-8B 百万 token 序列的示例。

核心亮点

  • 算法覆盖全,SFT/DPO/GRPO/PPO/Reward Model 一应俱全,新方法跟进快
  • 与 transformers、peft、accelerate、vLLM 无缝集成,支持 LoRA/QLoRA 与多卡训练
  • API 设计统一,Trainer 与配置类降低上手门槛,官方示例和文档较完整

不足之处

  • 依赖 Hugging Face 生态较重,版本迭代快时容易出现兼容性摩擦
  • 大规模 RL 训练对显存和工程调参要求高,普通单卡用户跑 PPO 仍吃力

适用场景

  • 用 DPO/GRPO 对开源大模型做偏好对齐,提升回答质量
  • 训练奖励模型并用 PPO 做 RLHF 全流程实验
  • 在消费级显卡上用 QLoRA 微调小参数模型做指令跟随

替代项目

OpenRLHF、verl、DeepSpeed-Chat

上一篇:modalities

下一篇:NeoHorse

同类项目推荐

katib 开源

在K8s上自动调参,让模型优化省心省力

WARNING: Katib project is DEPRECATED, users should migrate to OptimizationJob and Ku···

★ 1706 2026-08-09
Time-R1 开源

让大模型像专家一样一步步推理预测时间序列

Time-R1 is a two-stage reinforcement fine-tuning framework that trains large languag···

★ 102 2026-08-09
Liger-Kernel 开源

不改模型结构,给 LLM 训练省显存提吞吐

Efficient Triton Kernels for LLM Training

★ 6683 2026-09-16
neptune-client 开源

一键记录训练实验,自动追踪指标与模型,团队协作更高效

The experiment tracker for foundation model training

★ 622 2026-08-09
hypertune 开源

几行代码自动调参,快速找到最优模型参数

A library for performing hyperparameter optimization

★ 63 2026-08-09
plexe 开源

一句话描述,自动生成机器学习模型,快速验证想法

✨ Build a machine learning model from a prompt

★ 2646 2026-08-09
merge-models 开源

按比例融合两个扩散模型,快速生成新风格模型

Merges two latent diffusion models at a user-defined ratio

★ 263 2026-08-09