关于 trinity-rft
Trinity-RFT 是用于大模型强化微调的框架,面向 Agent 开发者、强化学习研究者和数据工程师。其 Explorer、Trainer 与 Buffer 协同处理经验生成、模型更新和数据流转,并支持多种训练模式。
主要功能
- 01同步与异步 RFT 模式
- 02支持在线、离线及策略内外训练
- 03分离并独立扩展 rollout 与训练
- 04多步骤 Agent 强化学习工作流
- 05全周期数据处理与管理
- 06插件式模块和图形界面
适用场景
- 01训练适用于特定领域的大模型 Agent
- 02开发和验证强化学习算法
- 03构建 RFT 数据集与数据管道
- 04运行多步骤 Agent 强化学习
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Trinity-RFT:通用统一的大模型
强化微调框架
💡 什么是 Trinity-RFT?
Trinity-RFT 是一个通用、灵活且易于使用的大模型强化微调(RFT)框架。 它将 RFT 解耦为三个协同工作的组件:
- Explorer 通过 Agent 与环境交互生成经验数据;
- Trainer 通过最小化数据上的损失来更新模型权重;
- Buffer 在整个 RFT 生命周期中处理数据流水线。
Trinity-RFT 为具有不同背景和目标的用户提供以下功能:
- 🤖 Agent 应用开发者: 训练由大模型驱动的 Agent,并提升其在特定领域的能力 [教程]
- 🧠 强化学习研究人员: 使用紧凑、可插拔的模块设计、实现和验证新的 RL 算法,并支持非侵入式定制 [教程]
- 📊 数据工程师: 创建 RFT 数据集,并构建用于清洗、增强及人机协同场景的数据流水线 [教程]
🚀 最新动态
- [2026-09] 推出 CoD(“Connect the Dots”):通过 RL 训练 LLM Agent,使其能够适应跨任务并在部署期间持续学习。
- [2026-08] 🎉 R3L 被 EMNLP 2026 接收。
- [2026-06] [发布说明] Trinity-RFT v0.6.0 已发布:支持 SGLang,优化了全异步权重同步和调度以减少空转,提升 MoE 训练稳定性,并升级至 verl 0.8.0。
- [2026-06] 🎉 两篇论文被 ICML 2026 接收:Learn-to-Ask 和 LLM-RL entropy dynamics。
- [2026-04] [发布说明] Trinity-RFT v0.5.2 已发布:支持 Qwen3.5 系列,并修复漏洞、进行优化。
- [2026-03] 🤖 Trinity-RFT 助力训练 CoPaw-Flash,打造更适用于本地化场景的小型 Agent 模型。欢迎在 CoPaw 试用 CoPaw-Flash;模型也可在 ModelScope 和 HuggingFace 获取(新闻)。
- [2026-02] [发布说明] Trinity-RFT v0.5.1 已发布:增强 VLM 支持、改进日志记录并修复漏洞。
- [2026-02] [发布说明] Trinity-RFT v0.5.0 已发布:新增适用于单 GPU 场景的 colocate 模式、由训练器驱动的权重同步、自动并行设置建议等。
- [2026-01] 🎉 三篇论文被 ICLR 2026 接收:CHORD、BOTS 和 Group-relative REINFORCE variants。欢迎在 Trinity-RFT 中试用这些新算法!
- [2026-01] [发布说明] Trinity-RFT v0.4.1 已发布:将 verl 升级至 v0.7.0,Tinker 后端支持 OpenAI API,并修复漏洞。
- [2026-01] 推出 R3L:一种系统化的“反思后重试”RL 机制,支持高效的语言引导探索和稳定的离策略学习(论文)。
- [2025-12] [发布说明] Trinity-RFT v0.4.0 已发布:新增面向没有 GPU 的用户的 Tinker 后端,增加更多基准测试,增强在线 RL 等。
- [2025-12] Trinity-RFT 为“淘宝闪购”的医疗健康业务提供支持,使 AI Agent 能够理解模糊症状、主动追问并提供精准建议(新闻)。
- [2025-11] 推出 Learn-to-Ask:一种利用离线专家数据训练主动对话 Agent 的框架(论文)。
更多内容...
- [2025-11] 推出 [BOTS](https://github.com/agentscope-ai/Trinity-RFT/tree/main/examples/bots):在线 RL 任务选择,助力高效微调 LLM([论文](https://arxiv.org/pdf/2510.26374))。
- [2025-09] [我们的论文](https://arxiv.org/pdf/2509.24203) 揭示了 group-relative REINFORCE 及其变体(如 GRPO 和 AsymRE)的一种新型 off-policy 解释([实现](https://github.com/agentscope-ai/Trinity-RFT/tree/main/examples/rec_gsm8k))。
- [2025-08] 推出 [CHORD](https://github.com/agentscope-ai/Trinity-RFT/tree/main/examples/mix_chord):动态集成 SFT + RL,实现高级 LLM 微调([论文](https://arxiv.org/pdf/2508.11408))。
- [2025-11] 发布 Trinity-RFT v0.3.3:修复错误。
- [2025-11] 发布 Trinity-RFT v0.3.2:修复错误,并支持高级任务选择与调度。
- [2025-10] 发布 Trinity-RFT v0.3.1:支持多阶段训练,改进 Agentic RL 示例,支持 LoRA,新增调试模式和 RL 算法。
- [2025-09] 发布 Trinity-RFT v0.3.0:增强 Buffer,支持 FSDP2 和 Megatron、多模态模型,并新增 RL 算法和示例。
- [2025-08] 发布 Trinity-RFT v0.2.1。
- [2025-07] 发布 Trinity-RFT v0.2.0。
- [2025-07] 技术报告(arXiv v2)更新,新增功能、示例和实验:[链接](https://arxiv.org/abs/2505.17826)。
- [2025-06] 发布 Trinity-RFT v0.1.1。
- [2025-05] 发布 Trinity-RFT v0.1.0,并发布[技术报告](https://arxiv.org/abs/2505.17826)。
- [2025-04] Trinity-RFT 开源。
🔨 教程和指南
| 类别 | 教程 / 指南 |
|---|---|
| 运行多种 RFT 模式 | • 快速入门:在 GSM8k 上运行 GRPO • 离策略 RFT • 全异步 RFT • 通过 DPO 或 SFT 进行离线学习 • 无需本地 GPU 的 RFT(Tinker Backend) |
| 多步 Agent 强化学习 | • 串联式多轮工作流 • 通用多步工作流 • 使用 Agent 框架的 ReAct 工作流 • 示例:训练网页搜索 Agent |
| 全生命周期数据管道 | • Rollout 任务混合与选择 • 在线任务课程 (📝 论文) • 研究项目:学会提问 (📝 论文) • 带优先级的经验回放 • 高级数据处理与人在回路 |
| 算法开发 | • 使用 Trinity-RFT 开发 RL 算法 (📝 论文) • 研究项目:R3L(反思后重试 RL) (📝 论文) • 研究项目:组相对 REINFORCE (📝 论文) • 不可验证领域:RULER、可训练 RULER、以评分标准作为奖励 |
| 基准测试 | • 基准测试工具包(快速验证与实验) • Guru-Math 基准测试及与 veRL 的比较 • FrozenLake 基准测试及与 rLLM 的比较 • Alfworld 基准测试及与 rLLM 的比较 |
| 深入了解 Trinity-RFT | • 完整配置 • GPU 资源与训练配置指南 • 训练 VLM • 了解 explorer 与 trainer 之间的协作 • 如何使配置与 veRL 对齐 |
提示
推荐学习路径
🆕 新用户: 安装 → 快速入门(GSM8K) → 配置指南 → GPU 资源指南
🔬 算法研究者: 开发者指南 → 算法开发指南 → CHORD 算法示例
🤖 Agent 开发者: 开发者指南 → 工作流开发 → 通用多步骤工作流示例
说明
更多教程请参阅 Trinity-RFT 文档。
🌟 核心功能
-
灵活的 RFT 模式:
- 支持同步/异步、策略内/策略外以及在线/离线 RL。
- Rollout 和训练可分开运行,并在不同设备上独立扩展。
- 通过经验回放提升样本和时间效率。
-
Agentic RL 支持:
- 同时支持拼接式和通用多步骤 Agent 工作流。
- 可直接训练使用 AgentScope 等 Agent 框架开发的 Agent 应用。
-
全生命周期数据管道:
- 支持对 Rollout 任务和经验样本进行管道化处理。
- 在整个 RFT 生命周期内主动管理数据(优先级排序、清理、增强等)。
- 原生支持多任务联合学习和在线任务课程构建。
-
易用设计:
- 即插即用模块和解耦架构,便于快速采用和开发。
- 丰富的图形用户界面支持低代码使用。
🔧 支持的算法
| Algorithm | Doc / Example | Source Code | Key Configurations |
|---|---|---|---|
| PPO [Paper] | [Doc] [Countdown Example] | [Code] | algorithm_type: ppo |
| GRPO [Paper] | [Doc] [GSM8K Example] | [Code] | algorithm_type: grpo |
| DAPO [Paper] | [DAPO-Math Example] | [Code] | algorithm_type: dapo |
| GiGPO [Paper] | [ALFWorld Example] | [Code] | algorithm_type: gigpo |
| SFT | [Mixture-of-Thoughts Example] | [Code] | algorithm_type: sft |
| DPO [Paper] | [HumanLike Example] | [Code] | algorithm_type: dpo |
| CHORD 💡 [Paper] | [Doc] [ToolACE Example] | [Code] | algorithm_type: mix_chord |
| REC Series 💡 [Paper] | [GSM8K Example] | [Code] | algorithm_type: rec |
| RLOO [Paper] | - | [Code] | algorithm_type: rloo |
| REINFORCE++ [Paper] | - | [Code] | algorithm_type: reinforceplusplus |
| GSPO [Paper] | - | [Code] | algorithm_type: gspo |
| TOPR [Paper] | [GSM8K Example] | [Code] | algorithm_type: topr |
| sPPO [Paper] | [GSM8K Example] | [Code] | algorithm_type: sppo |
| AsymRE [Paper] | [GSM8K Example] | [Code] | algorithm_type: asymre |
| CISPO [Paper] | - | [Code] | algorithm_type: cispo |
| SAPO [Paper] | - | [Code] | algorithm_type: sapo |
| On-Policy Distillation [Blog] [Paper] | [GSM8K Example] | [Code] | algorithm_type: on_policy_distill |
| JSD (Jensen-Shannon Divergence) | [GSM8K Example] | [Code] | algorithm_type: jsd |
目录
快速开始
说明
此项目目前正在积极开发中。欢迎提出意见和建议!
仅使用 CPU 的快速开始
如果你无法使用 GPU,仍然可以通过 Tinker 后端体验 Trinity-RFT。
# Create and activate environment
python3.10 -m venv .venv
source .venv/bin/activate
# Install Trinity-RFT with CPU-only backend
pip install -e ".[tinker]"
运行一个简单示例:
trinity run --config examples/tinker/tinker.yaml
此示例适用于仅使用 CPU 的机器。更多详情,请参阅完整的 Tinker 训练示例。
若要改为在 GPU 机器上运行 Trinity-RFT,请按照以下步骤操作。
步骤 1:安装
安装前,请确保系统满足以下要求:
GPU 要求
- Python:版本为 3.10 至 3.12(含)
- CUDA:版本 >= 12.8
- GPU:至少一块 计算能力 为 8.0 或更高的 NVIDIA GPU(例如 RTX 30 系列、A100、H100)
首次使用时的建议:
- 如果没有 GPU → 使用 Tinker 后端
- 如果希望简单设置 → 使用 Docker
- 如果希望进行开发和贡献 → 使用 Conda / venv
从源代码安装(推荐)
如果你计划自定义 Trinity-RFT 或为其贡献代码,这是最佳选择。
首先,克隆代码仓库:
git clone https://github.com/agentscope-ai/Trinity-RFT
cd Trinity-RFT
然后,通过以下任一选项设置环境:
使用预构建的 Docker 镜像(推荐初学者使用)
docker pull ghcr.io/agentscope-ai/trinity-rft:latest
# Run the container, replacing <path_to_your_data_and_checkpoints> with your actual path
docker run -it \
--gpus all \
--shm-size="64g" \
--rm \
-v $PWD:/workspace \
-v <path_to_your_data_and_checkpoints>:/data \
ghcr.io/agentscope-ai/trinity-rft:latest
此镜像已使用
uv安装 Trinity-RFT 的所有 GPU 相关依赖。进入容器后,虚拟环境将自动激活(如有需要,也可以通过source /opt/venv/bin/activate手动激活)。你可以根据需要使用uv pip install添加其他软件包。
使用安装脚本(uv)
bash scripts/install/install_trinity.sh
source .venv/bin/activate
使用 Conda
conda create -n trinity python=3.12
conda activate trinity
pip install -e ".[vllm,flash_attn]"
# If you have no GPU, comment out the line above and uncomment this instead:
# pip install -e ".[tinker]"
# If you encounter issues when installing flash-attn, try:
# pip install "flash-attn>=2.8.3" --no-build-isolation
pip install -e ".[dev]" # for development like linting and debugging
使用 venv
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e ".[vllm,flash_attn]"
# If you have no GPU, comment out the line above and uncomment this instead:
# pip install -e ".[tinker]"
# If you encounter issues when installing flash-attn, try:
# pip install "flash-attn>=2.8.3" --no-build-isolation
pip install -e ".[dev]" # for development like linting and debugging
手动使用 uv
uv venv .venv
uv pip install \
--python .venv/bin/python \
--overrides scripts/install/trinity-overrides.txt \
-e ".[vllm,dev]"
.venv/bin/python scripts/install/install_flash_attn.py --uv
# If you have no GPU, try to use Tinker instead:
# uv pip install --python .venv/bin/python -e ".[tinker,dev]"
source .venv/bin/activate
如果仍存在冲突,请在 scripts/install/trinity-overrides.txt 中添加或调整版本。
通过 PyPI 安装
如果你只想使用软件包而不修改代码:
pip install trinity-rft
pip install "flash-attn>=2.8.3" --no-build-isolation
若要使用 Megatron-LM 进行训练,请参阅 Megatron-LM 后端。
步骤 2:准备数据集和模型
Trinity-RFT 支持 Huggingface 和 ModelScope 上的大多数数据集和模型。
在本地目录 $MODEL_PATH/{model_name} 中准备模型:
# Using Huggingface
huggingface-cli download {model_name} --local-dir $MODEL_PATH/{model_name}
# Using Modelscope
modelscope download {model_name} --local_dir $MODEL_PATH/{model_name}
有关模型下载的更多详情,请参阅 Huggingface 或 ModelScope。
在本地目录 $DATASET_PATH/{dataset_name} 中准备数据集:
# Using Huggingface
huggingface-cli download {dataset_name} --repo-type dataset --local-dir $DATASET_PATH/{dataset_name}
# Using Modelscope
modelscope download --dataset {dataset_name} --local_dir $DATASET_PATH/{dataset_name}
有关数据集下载的更多详情,请参阅 Huggingface 或 ModelScope。
步骤 3:配置
Trinity-RFT 提供了一个 Web 界面,用于配置 RFT 流程。
说明
这是一项实验性功能,我们会继续改进。
如需启动 Web 界面并进行基本配置,可以运行
trinity studio --port 8080
然后,你可以在网页中配置 RFT 流程并生成配置文件。你可以保存配置文件以供后续使用,也可以按照下一节中的说明直接运行。
高级用户也可以直接编辑配置文件。
我们在 examples 中提供了示例配置文件。
有关完整的 GUI 功能,请参阅 Trinity-Studio 单体仓库。
示例:配置管理器 GUI

步骤 4:运行 RFT 流程
启动 Ray 集群:
# On master node
ray start --head
# On worker nodes
ray start --address=<master_address>
(可选)你可以使用 Wandb / TensorBoard / MLFlow 进行更好的监控。有关相应配置,请参阅此文档。 例如,登录 Wandb:
export WANDB_API_KEY=<your_api_key>
wandb login
对于命令行用户,激活环境并运行 RFT 流程:
source .venv/bin/activate # If using venv or uv
trinity run --config <config_path>
示例 — 使用 GRPO 在 GSM8k 上微调 Qwen2.5-1.5B-Instruct:
trinity run --config examples/grpo_gsm8k/gsm8k.yaml
对于 Studio 用户,请在 Web 界面中点击“Run”。
贡献指南
本项目目前正处于积极开发阶段——为仓库加星标,关注最新发布!
我们欢迎社区以各种方式参与贡献,包括:
- 改进文档
- 示例工作流、算法和数据管道
- Bug 修复和性能优化
如果你刚接触本项目,更新文档和示例是很好的起点。
有关详细的贡献指南,请参阅 CONTRIBUTING.md,以及我们的适合新手的问题列表。
致谢
本项目基于许多优秀的开源项目构建,包括:
- verl、FSDP 和 Megatron-LM,用于大模型训练;
- vLLM,用于大模型推理;
- Data-Juicer,用于数据处理管道;
- AgentScope,用于 Agent 工作流;
- Ray,用于分布式系统;
- 我们还从 OpenRLHF、TRL、ChatLearn 和 rLLM 等强化学习框架中汲取了灵感;
- ......
引用
@misc{trinity-rft,
title={Trinity-RFT: A General-Purpose and Unified Framework for Reinforcement Fine-Tuning of Large Language Models},
author={Xuchen Pan and Yanxi Chen and Yushuo Chen and Yuchang Sun and Daoyuan Chen and Wenhao Zhang and Yuexiang Xie and Yilun Huang and Yilei Zhang and Dawei Gao and Yaliang Li and Bolin Ding and Jingren Zhou},
year={2025},
eprint={2505.17826},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2505.17826},
}
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。