AReaL 异步强化学习平台
面向推理与工具型模型的异步强化学习训练基础设施。
- Star 数
- ★ 5.9k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 证据不足
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code · OpenAI API(部分支持)
- 费用
- 免费,无需付费服务
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 希望在单机上复现实验的研究者,可用 GSM8K 的 GRPO、PPO、DAPO、RLOO 或 SFT 示例训练数学推理模型。
- 不适合
- 没有 CUDA GPU 或大规模集群的团队
- 只想开箱即用聊天机器人的终端用户
- 需要完全离线、不依赖外部推理服务的团队
这个 Agent 能做什么,适合哪些场景?
AReaL 是用于大语言模型推理与智能体应用的强化学习训练系统,核心采用全异步训练范式。2.0 将系统拆分为 training、inference、agent 和 weight-update 四个独立服务,并提供 Hermes 在线 RL 与端到端 SWE 训练示例。项目提供数学、搜索、客服、代码、多轮工具调用和视觉语言模型等训练案例,以及 GRPO、PPO、DAPO、DPO、SFT 与蒸馏等配置。训练可使用本地调度器或 Ray 集群,训练后端覆盖 Megatron、PyTorch FSDP 与 PyTorch Archon,推理后端覆盖 SGLang 与 vLLM。它是训练基础设施而非现成的对话式智能体;采用者需要准备模型、数据、推理后端和相应算力环境。
用户通过 Python 脚本和 YAML 配置启动训练,例如运行 examples/math/gsm8k_rl.py 并传入 examples/math/gsm8k_grpo.yaml。该示例会下载 openai/gsm8k 数据集与 Qwen/Qwen2-1.5B-Instruct 模型,并按配置执行 GRPO 训练;scheduler.type 可设为 local 或 ray。AReaL 的示例还覆盖 agent_workflow、hermes、swe、tau2、search_agent、tir、openai_agents 和 camel 等工作流,用于采集轨迹、计算奖励并训练模型。AReaL 2.0 的 training_service、inference_service、agent_service 与 weight_update 服务分别承载训练、推理、智能体执行和权重更新。对于黑盒智能体应用,文档说明可通过替换 base_url 接入在线 RL;OpenClaw 示例还要求替换 base_url 与 api_key。
- 希望在单机上复现实验的研究者,可用 GSM8K 的 GRPO、PPO、DAPO、RLOO 或 SFT 示例训练数学推理模型。
- 拥有共享存储和多节点 GPU 集群的 ML 平台团队,可将 scheduler.type 设为 ray,并配置 cluster.n_nodes、cluster.n_gpus_per_node 与 cluster.fileroot。
- 正在迭代多轮工具调用流程的智能体开发者,可使用 examples/tir 中的 Python executor 和 calculator 场景进行训练。
- 构建代码修复或软件工程智能体的团队,可评估 examples/swe 提供的 AReaL-SWEAgent 或 Claude Code Agent 端到端 RL 训练示例。
- 需要将既有黑盒智能体运行时接入在线强化学习的开发者,可按文档替换其 base_url,并参考 OpenClaw 与 OpenAI Agents SDK 集成示例。
如何安装或部署这个 Agent?
文档中的 CUDA 安装路径为:git clone https://github.com/areal-project/AReaL;进入 AReaL 后执行 pip install uv。先安装与 Python 版本匹配的 flash-attn 预编译 wheel;README 示例使用 flash_attn-2.8.3+cu128torch2.9-cp312-cp312-linux_x86_64.whl。随后执行 uv sync --extra cuda,安装训练组件和默认的 SGLang 推理后端。若改用 vLLM,按文档复制 pyproject.vllm.toml 到 pyproject.toml、复制 uv.vllm.lock 到 uv.lock,再执行 uv sync --extra cuda。README 未为 GSM8K 快速开始要求提供凭据;该流程会从网络下载数据集和模型。
如何使用这个 Agent?
完成安装后,可运行:python3 examples/math/gsm8k_rl.py --config examples/math/gsm8k_grpo.yaml scheduler.type=local。该命令是文档给出的单节点首次训练调用。使用 Ray 集群时,在 YAML 中将路径改为共享存储路径,然后运行同一脚本并附加 cluster.n_nodes=2 cluster.n_gpus_per_node=8 cluster.fileroot=/path/to/nfs scheduler.type=ray。若使用在线黑盒智能体流程,需依据对应示例替换 base_url;OpenClaw 示例还要求配置 api_key。
这个 Agent 有哪些优点和局限?
- 采用全异步 RL 范式,并允许通过 max_head_offpolicyness=0 切换为同步版本,便于在同一系统中比较两种执行模式。
- AReaL 2.0 明确拆分 training、inference、agent 和 weight-update 服务,适合需要独立演进训练与智能体执行环节的系统。
- 算法覆盖从 GRPO、PPO、DAPO、RLOO 到 DPO、奖励模型、SFT 和蒸馏,并给出相应 GSM8K 或 HH-RLHF 配置。
- 同时列出本地与 Ray 调度方式,以及 Megatron、PyTorch FSDP、PyTorch Archon、SGLang 和 vLLM 支持矩阵。
- 仓库提供多轮数学、搜索、客户服务、工具调用、代码智能体和 VLM 等具体训练案例。
- 文档快速开始依赖 CUDA、flash-attn、SGLang 或 vLLM;这些组件和匹配版本会增加环境配置与升级成本。
- Ray 多节点运行要求用户自行准备共享存储,并在 YAML 中配置 cluster.fileroot 等集群路径。
- 仓库没有给出最低 GPU、内存、集群规模或端到端训练成本,因此上线前需要自行做容量验证。
- 它提供的是训练基础设施和示例,而不是无需配置即可部署的通用终端用户智能体。
- 部分集成仅以示例形式列出,例如 OpenAI Agents SDK 与 Claude Code Agent;所给材料未说明完整兼容范围或生产支持边界。
这个 Agent 与同类方案有什么区别?
仓库将 ReaLHF、OpenRLHF 和 VeRL 等项目列为致谢中的相关工作,但未提供逐项功能或基准对比。其明确强调的差异是全异步 RL;同一算法也可通过 max_head_offpolicyness=0 以同步模式运行。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AReaL 异步强化学习平台 当前 | 证据不足 | 命令行工具免费 | ★ 5.9k | 今天 | Python | — |
| Relax 全模态强化学习引擎 | 64 · 存在缺口 | 命令行工具免费 | ★ 670 | 今天 | Python | — |
| ART 智能体强化训练器 | 34 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 11k | 今天 | Python | — |
| AgentFlow 智能体优化框架 | 31 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.1k | 9 个月前 | Python | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库包含CI工作流,使用GCP服务账号密钥和GHCR令牌等秘密,但未提供权限最小化或用户确认机制。数据流透明度不足,未说明敏感数据处理方式。依赖安全未提及,外部影响(如云资源消耗)未明确。回滚机制未提及。来源归属仅通过README中的团队名称,未验证。
自一致性:README声称支持多种算法和模型,但未提供验证。依赖可用性:依赖众多,但未说明版本兼容性。失败消息:未提供错误处理文档。
受众和场景:README描述了多种使用场景,但未明确边界。能力边界:未说明限制。触发精度:未提供触发机制。环境适配:支持多种硬件,但未详细说明。
信息架构:README结构清晰,但缺少详细文档。安装说明:提供了安装步骤,但依赖复杂。命名稳定性:版本号明确。示例和FAQ:提供了示例,但缺少FAQ。已知限制:未提及。许可证:Apache-2.0。版本变更日志:未提供。维护责任:未明确。
输出可用性:未提供输出格式说明。边际价值:未评估。成本效益:未提供成本分析。
声明可追溯性:README中的性能声明未提供证据。跨来源佐证:未提供。事实与推断分离:未区分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- CI工作流中使用了GCP服务账号密钥和GHCR令牌,但未说明权限最小化或密钥管理措施。
- 依赖众多且版本固定,但未提供安全审计或漏洞扫描信息。
- README中的性能声明(如2.77倍加速)缺乏可验证的复现细节。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * ci: move Docker builder to us-central1-a by @sitabulaixizawaluduo in https://github.com/areal-project/AReaL/pull/1640 * fix(trainer): run initial evaluation before first update by @harooos in https://github.com/areal-project/AReaL/pull/1636 * gov: add Le8r0nJames to codeowned scopes by @sitabulaixizawaluduo in https://github.com/areal-project/AReaL/pull/1641 * feat(workflow): support multimodal agent trajectories by @sitabulaixizawaluduo in https://github.com/areal-project/AReaL/pull/1606 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * chore(swe): remove unused SWE SFT dataset loader by @Le8r0nJames in https://github.com/areal-project/AReaL/pull/1467 * fix(docker): rename zeroclaw installer flag to --skip-quickstart by @sitabulaixizawaluduo in https://github.com/areal-project/AReaL/pull/1469 * fix(megatron): use dp_reshardable optimizer sharding and load optimizer state correctly by @Le8r0nJames in https://github.com/areal-project/AReaL/pull/1468 * fix(hermes): preserve singleton online reward signal by @jszzr in https://github.com/areal-project/AReaL/pull/1474 …在 GitHub 查看 ↗ -
发布说明摘录
🚀 Key Highlights Micro-service Architecture Includes [training](https://github.com/areal-project/AReaL/tree/main/areal/v2/training_service), [inference](https://github.com/areal-project/AReaL/tree/main/areal/v2/inference_service), [agent](https://github.com/areal-project/AReaL/tree/main/areal/v2/agent_service), and [weight update](https://github.com/areal-project/AReaL/tree/main/areal/v2/weight_update) services. Hermes Agent Example …在 GitHub 查看 ↗