OpenPipe/ART
Agent Reinforcement Trainer: train multi-step agents for real-world tasks using GRPO. Give your agents on-the-job training. Reinforcement learning for Qwen3.6, GPT-OSS, Llama, and more!
OpenPipe / ART – 代理强化学习训练器
是什么 – ART(代理强化学习训练器)是一个开源 Python 库,可将大型语言模型(LLM)转变为通过强化学习(RL)训练的代理。它提供了一个轻量级、兼容 OpenAI 的客户端,您的现有代码可以调用,以及一个独立的服务器,负责执行重负载的推理和基于 LoRA 的 RL 更新(使用 GRPO 算法)。整个流程可以在本地 GPU 上运行,也可以在由 Weights & Biases(W&B)支持的托管、无服务器后端上运行,无需自行配置集群。
核心理念
| 概念 | 对您意味着什么 |
|---|---|
| GRPO | 一种策略梯度方法(广义奖励基础策略优化),在冻结的基础模型之上更新 LoRA 适配器。 |
| 无服务器 RL | ART 可以通过 W&B 后端在云端启动临时的 GPU 环境,并自动处理扩展、检查点和推理服务。 |
| 客户端-服务器分离 | 您的应用程序与一个外观像 OpenAI 聊天 API 的轻量级客户端通信。服务器负责实际的模型推理(通过 vLLM)和 RL 训练。 |
| 轨迹与奖励 | 每次代理的 rollout 都会被记录为一系列消息(系统/用户/助手)。在 rollout 完成后,您分配一个标量奖励,服务器使用该奖励计算策略梯度。 |
快速入门(一行代码)
from art.serverless.backend import ServerlessBackend
import art
model = art.TrainableModel(
project="voice‑agent",
name="agent‑001",
run_name="agent‑001",
base_model="Qwen/Qwen3.6-27B"
)
backend = ServerlessBackend(api_key="YOUR_WANDB_KEY")
model.register(backend) # 启动托管 GPU 环境
# 现在可以像 OpenAI 聊天客户端一样使用 model
response = model.chat([{"role": "user", "content": "Schedule a meeting tomorrow"}])
上述代码创建了一个支持 LoRA 的模型,将其注册到无服务器后端,您即可立即发送提示。后台 ART 将执行以下操作:
- 通过 vLLM 在最新的 LoRA 上运行提示。
- 将交互记录为轨迹。
- 当您稍后调用
model.train()(或让客户端在一批 rollout 后自动训练)时,服务器使用 GRPO 更新 LoRA,并立即将新检查点提供使用。
重要笔记本(动手演示)
| 任务 | 笔记本 | 使用模型 | 您将看到的内容 |
|---|---|---|---|
| 邮件搜索代理(ART·E) | train‑art‑e.ipynb | Qwen‑3.8 27B + RULER | 代理学习检索相关邮件;展示训练曲线。 |
| 玩 2048 | 2048.ipynb | Qwen‑3.8 27B | RL 训练的代理在数千次 rollout 中提升游戏分数。 |
| 井字棋 | tic‑tac‑toe.ipynb | Qwen‑2.5 3B | 简单的回合制游戏;可视化胜率增长。 |
| 猜词游戏 | Codenames_RL.ipynb | Qwen‑2.5 3B | 代理学习给出提示和猜测单词;绘制胜率。 |
| SFT + RL 摘要器 | sft‑rl.ipynb | Qwen‑2.5 7B | 先通过监督微调预热,再通过 RL 微调以获得更好的摘要。 |
训练循环工作原理
- 推理 – 您的应用调用
model.chat(...)。请求发送到 ART 服务器,服务器使用 vLLM 在当前 LoRA 上运行基础模型并返回完成结果。所有消息都存储在一条轨迹中。 - 奖励分配 – 在 rollout 完成后,您附加一个数值奖励(例如成功/失败、分数,或由 RULER 系统生成的奖励)。
- 批量发送 – 收集到足够多的轨迹后,客户端将它们批量发送到服务器。
- GRPO 更新 – 服务器使用奖励计算策略梯度,更新 LoRA 适配器,写入新检查点,并将其重新加载到推理引擎中。
- 循环重复 – 推理使用最新更新的策略继续;该过程持续进行,直到达到目标迭代次数或性能阈值。
作者声称的主要优势
- 成本效益 – 共享推理集群可将每次运行成本降低约 40%。
- 速度 – 可处理超过 2000 个并发请求,相比单 GPU 设置,壁钟时间训练快约 28%。
- 零运维 – 无服务器后端自动配置 GPU 节点、监控健康状况并自动关闭。
- 即时检查点访问 – 每个 LoRA 检查点均可立即通过同一客户端用于推理。
- 即插即用 – 与任何在 vLLM/HuggingFace-transformers 中运行的模型兼容(大多数因果 LLM)。README 指出 Gemma 3 目前不支持。
安装与基本用法
pip install openpipe-art # 拉取库及其 vLLM/GRPO 依赖
然后导入客户端(art.TrainableModel)并可选地导入后端(art.serverless.backend.ServerlessBackend 用于 W&B,或 art.local.backend.LocalBackend 用于本地 GPU)。
生态系统集成
- W&B – 用于托管无服务器 RL、实验跟踪和推理部署。
- LangGraph – 最新集成允许使用 RL 训练基于 LangGraph 的代理图。
- Langfuse – 提供提示、响应和奖励的可观测性。
- OpenPipe – ART 背后的公司提供额外托管服务(非开源库必需)。
谁可能使用 ART?
- 研究实验室:构建多步骤 LLM 代理(邮件助手、工具使用机器人、游戏代理)并需要 RL 微调的人。
- 产品团队:已有 LLM 驱动的工作流,希望基于经验学习改进,但不想自行构建 RL 基础设施的人。
- 教育者/学生:寻找即用型 LLM 强化学习沙箱的人;Colab 笔记本提供一键启动。
许可与引用
- 许可证:Apache‑2.0(宽松,适合商业使用)。
- 引用:提供学术用途的 BibTeX 条目。
总结
ART 是一个专为 LLM 代理的 LoRA 基础策略优化而设计的强化学习框架。通过将轻量级客户端与可扩展服务器(可选地通过 W&B 实现无服务器)分离,它让开发者能够专注于定义环境、rollout 和奖励函数,而库则负责推理、轨迹记录和 GRPO 更新。如果您需要将 LLM 转变为自我改进的代理,并希望避免从头构建 RL 管道,ART 是一个具体且生产就绪的选项。
相关
- 项目
- 项目
- 项目
- 项目
- 项目