零代码奖励函数?ART框架如何革新多步智能体训练(附2048实战)

零代码奖励函数?ART框架如何革新多步智能体训练(附2048实战)

用 ART 训练多步智能体:从 2048 到邮件检索的完整入门指南

这篇文章能帮你解决什么问题?

我想让大模型学会玩 2048、井字棋、Codenames,甚至帮我检索邮件,但不想手写奖励函数——有办法吗?

我听说 GRPO 强化学习能让模型“边做边学”,可代码太复杂,有没有开箱即用的框架?

我只想写几行 Python,就能把训练扔到有 GPU 的服务器上,本地还能继续调试,可行吗?

答案是:用 ART(Agent Reinforcement Trainer)。

什么是 ART?

一句话概括:ART 是一个开源的强化学习框架,专门用来训练“会做多步任务”的大模型智能体。

它把复杂的 GRPO 算法、LoRA 微调、分布式推理、日志追踪全部封装好,对外只暴露简单易用的 Python 接口。

核心组成

组件

作用

你需不需要改代码

ART Client

在你的笔记本/应用里发请求、收回答

只写几行

ART Server

在 GPU 机器上跑推理、训练、保存 LoRA

基本不用

RULER

用 LLM 给轨迹打分,省去奖励函数

直接调用

零代码奖励函数:RULER 是怎么回事?

过去训练智能体,你得写 if action == good: reward += 1。

RULER 把这一步也省掉:它让另一个大模型读“系统提示 + 完整对话轨迹”,直接打分。

三步完成打分

在系统提示里描述任务,例如“帮助用户找到指定邮件”。

ART 把智能体的完整对话(系统 / 用户 / 助手消息)打包。

调用 ruler_score_group(...),返回值就是奖励。

一句话总结:只要你会写提示词,就不需要写奖励函数。

十分钟跑通第一个示例:2048

前置条件

Python ≥ 3.9

本地或云端有一台带 NVIDIA GPU 的机器(Colab 也行)

安装

pip install openpipe-art

启动训练(Colab 一键版)

打开 2048 示例 Notebook。

按顺序运行所有 Cell。

第一块自动下载 ART Server Docker 镜像并启动。

第二块用 ART Client 生成 32 条并行 rollout。

第三块调用 RULER 给每条轨迹打分。

第四块触发 GRPO 更新 LoRA。

大约 15 分钟后,3B 的 Qwen 2.5 就能稳定玩到 512 分。

如果你更喜欢本地 GPU,把 Notebook 里的 remote_server_url 改成 http://localhost:8000 即可。

训练循环长什么样?

ART 把流程拆成 推理 和 训练 两个阶段,自动交替。

推理阶段

步骤

发生了什么

你写的代码示例

1

你的脚本调用 client.chat.completions.create(...)

正常写 OpenAI 风格代码

2

ART Server 用最新 LoRA 做推理

3

对话被自动保存为 Trajectory

4

你给轨迹贴一个 reward(或由 RULER 完成)

trajectory.reward = score

训练阶段

步骤

发生了什么

你写的代码示例

1

轨迹打包发给服务器

await client.submit_trajectories(...)

2

服务器用 GRPO 微调 LoRA

3

新 LoRA 被加载到 vLLM

4

推理继续

整个循环跑完设定的迭代次数后,LoRA 权重保存在本地目录,你可以直接 git add 提交,也可以推到 Hugging Face。

进阶:用 ART 训练邮件检索智能体(ART•E 案例)

官方博客 展示了如何把 Qwen 2.5 14B 训练成邮件小助手,效果超过 o3。

关键步骤与 2048 示例一致,只是任务提示换成:

You are an email assistant.

User will ask for a specific email.

Respond with the unique message_id.

RULER 会根据“是否返回正确 message_id”给出 0/1 奖励。

训练 300 步后,模型在测试集上的准确率从 34% 提升到 82%。

支持哪些模型?

ART 兼容所有 vLLM / HuggingFace transformers 能加载的因果语言模型,前提是被 Unsloth 支持。

目前已验证的包括:

Qwen 2.5 全系列(3B/7B/14B/32B)

Llama-3-8B-Instruct

Mistral-7B-v0.3

注意: Gemma-3 暂时跑不起来,如遇其他模型异常,Discord 或 GitHub issue 反馈即可。

FAQ:你可能想问的 20 个问题

1. GRPO 是什么?

GRPO(Group Relative Policy Optimization)是一种强化学习算法,专为语言模型设计,能在不更新完整权重的情况下高效微调 LoRA。

2. LoRA 又是什么?

LoRA(Low-Rank Adaptation)是一种只训练少量附加权重就能让大模型“学会新技能”的技术,节省显存、加速训练。

3. 我可以不用 GPU 吗?

可以跑在 Colab T4 或 A100,但 CPU 训练不现实。

4. 奖励函数真的完全不用写?

如果任务可以用一句话描述成功标准,RULER 就够。

若你需要细粒度打分(例如每步都奖励),仍然可以手写函数传给 ART。

5. 训练一次要花多少钱?

Colab 免费 T4 足够跑 2048 示例;14B 模型在 A100 上跑 2 小时大约 2-3 美元。

6. 如何查看训练曲线?

ART 原生集成 Weights & Biases,也支持 Langfuse、OpenPipe,一行配置即可。

7. 可以在 Windows 上跑吗?

客户端没问题;服务端推荐 Linux 或 WSL2。

8. 训练好的 LoRA 怎么部署?

把 LoRA 权重和基座模型一起加载到 vLLM,或直接用 openpipe-art 客户端离线推理。

9. 会不会把私有数据上传到云端?

不会。数据只在你的 GPU 服务器上流转。

10. 如何贡献代码?

见 CONTRIBUTING.md,欢迎 PR。

动手清单:今天就把 ART 跑起来

步骤

命令 / 操作

预计耗时

1

pip install openpipe-art

1 分钟

2

打开 Colab 2048 Notebook 并运行

15 分钟

3

修改系统提示,换成你的任务描述

5 分钟

4

观察训练曲线,决定是否继续迭代

10 分钟

5

导出 LoRA,集成到你的应用

5 分钟

小结

ART 把“训练多步智能体”这件事拆成三步:

像调用 OpenAI API 一样写代码;

用 RULER 或一行代码给轨迹打分;

让服务器自动跑 GRPO。

你不再需要成为强化学习专家,也能让大模型学会玩游戏、做检索,甚至完成更复杂的业务流程。下一步,把你的任务写进系统提示,打开 Notebook,跑起来。

相关数据

WE被罚15万新台币,但是我却感觉罚的好
线上365bet注册

WE被罚15万新台币,但是我却感觉罚的好

⏳ 08-16 💖 620
科幻世界
365在线体育

科幻世界

⏳ 09-20 💖 706
DNF武器展:名刀-观世正宗属性测试
office365网页版无法使用

DNF武器展:名刀-观世正宗属性测试

⏳ 08-25 💖 671