Show HN: ART – 用于训练 Agent 的全新开源 RL 框架
使用最少的代码更改和最高的性能来训练由 GRPO 驱动的 RL Agent!
Agent Reinforcement Trainer (ART)
ART 是一个开源的强化训练库,用于提高 LLM 在 Agent 工作流程中的性能。ART 利用强大的 GRPO 强化学习算法,通过模型自身的经验来训练模型。与大多数 RL 库不同,ART 允许您在现有的代码库中执行 Agent 运行,同时将 RL 训练循环的所有复杂性转移到 ART 后端。阅读关于 训练循环 的概述。然后试试下面的 Notebook 吧!
📒 Notebook
Agent 任务 | 示例 Notebook | 描述 | 比较性能
---|---|---|---
2048 | 🏋️ 训练 Agent | Qwen 2.5 3B 学习玩 2048 | Benchmarks
Temporal Clue | 🏋️ 训练 Agent | Qwen 2.5 7B 学习解决 Temporal Clue | [链接即将推出]
Tic Tac Toe | 🏋️ 训练 Agent | Qwen 2.5 3B 学习玩 Tic Tac Toe |
Benchmarks
🔁 训练循环概览
ART 的功能分为 client 和 server。与 OpenAI 兼容的 client 负责 ART 和您的代码库之间的交互。使用 client,您可以传递消息并从您的 LLM 获取补全,LLM 会不断改进。server 独立地运行在任何具有 GPU 的机器上。它抽象了 RL 循环的推理和训练部分的复杂性,同时允许进行一些自定义配置。训练循环的概述如下所示:
- 推理
1. 您的代码使用 ART client 来执行 Agent 工作流程(通常并行执行多个 rollout 以更快地收集数据)。
2. 补全请求被路由到 ART server,该 server 在 vLLM 中运行模型的最新 LoRA。
3. 随着 Agent 的执行,每个
system
、user
和assistant
消息都存储在 Trajectory 中。 4. 当 rollout 完成时,您的代码会为 Trajectory 分配一个reward
,表示 LLM 的性能。 - 训练 1. 当每个 rollout 完成后,Trajectories 会被分组并发送到 server。在训练执行期间,推理会被阻止。 2. server 使用 GRPO 训练您的模型,从最新的 checkpoint 初始化(或在第一次迭代时从一个空的 LoRA 初始化)。 3. server 将新训练的 LoRA 保存到本地目录,并将其加载到 vLLM 中。 4. 推理被解除阻止,循环在第 1 步恢复。
此训练循环会一直运行,直到指定数量的推理和训练迭代完成。
支持的模型
ART 应该适用于大多数与 vLLM/HuggingFace-transformers 兼容的因果语言模型,或者至少是 Unsloth 支持的模型。Gemma 3 似乎暂时不受支持。如果任何其他模型对您不起作用,请在 Discord 上告知我们,或者在 GitHub 上打开一个 issue!
⚠️ 免责声明
ART 目前处于 Alpha 阶段,并且只在少数几个实际项目中进行了测试!我们正在努力使其适用于所有人,但是如果您遇到任何问题,请在 Discord 上告知我们,或者在 GitHub 上打开一个 issue!
🤝 贡献
ART 正在积极开发中,非常欢迎大家贡献!请参阅 CONTRIBUTING.md 文件以获取更多信息。
🙏 感谢
ART 站在巨人的肩膀上。虽然我们将导致 ART 开发的许多想法和早期实验归功于整个开源 RL 社区,但我们特别感谢以下项目的作者:
最后,感谢帮助我们在实际项目中测试 ART 的合作伙伴!我们很高兴看到大家用它构建的东西。