AgileRL/AgileRL
The complete post-training stack for LLMs, plus RL for any problem. SFT, DPO and multi-turn agentic RL, with evolutionary hyperparameter optimization built in.
AgileRL – 面向 LLM 和经典 RL 的端到端后训练
它是什么 – 一个 Python 库,允许你获取预训练的大型语言模型(LLM),并使用现代技术的全部范围继续训练它:监督微调(SFT)、偏好学习(DPO)以及多种强化学习(RL)算法(GRPO、CISPO、GSPO、PPO、REINFORCE)。同一包还支持“经典”深度 RL,用于单智能体、多智能体、离线和老虎机问题,并内置进化超参数优化(HPO)。
为什么重要 – 大多数现有工具要么专注于 LLM 微调,要么专注于经典 RL,但不会同时兼顾两者,而且它们通常需要大量胶水代码才能大规模运行。AgileRL 将 LLM 的整个后训练栈 和 完整的 RL 套件捆绑在一起,提供:
- 统一的基于 YAML 的实验清单,可以在本地运行或提交到托管的 Arena 云服务。
- Torch 原生的分布式训练(数据并行或 FSDP2 分片),并带有节省内存的技巧(LoRA、QLoRA、激活检查点、CPU/GPU 外优化器卸载)。
- 通过 vLLM 进行快速推理 rollout,可选地与训练器共置。
- 进化种群 HPO,可实时调整学习率、KL 惩罚等。
- 一个刻意设计为“智能体友好”的 CLI 和 Python SDK,意味着 AI 编码助手可以生成清单、验证它并启动作业,无需人工交互。
关键组件
| 组件 | 作用 |
|---|---|
| 算法 | LLM:SFT、DPO、GRPO、CISPO、GSPO、PPO、REINFORCE。经典 RL:PPO、DQN、Rainbow DQN、DDPG、TD3、CQL、ILQL、MADDPG、MATD3、IPPO、NeuralUCB、NeuralTS。 |
| 训练后端 | 本地 GPU(torchrun)或远程 Arena 集群(异步、基于种群)。 |
| 模型支持 | 任何 Hugging Face transformer,包括密集、MoE 和混合 Mamba 系列(例如 Qwen、Granite、Gemma、Nemotron-3.5 高达 120 B)。 |
| 适配器 | LoRA 和 QLoRA 用于低内存微调;MoE 模型的每专家 LoRA。 |
| 并行性 | 数据并行或完全分片数据并行(FSDP2),使用单个 FSDPConfig,适用于所有 LLM 算法。 |
| Rollout 引擎 | vLLM 用于高吞吐量 token 生成;可以与训练器共置在同一 GPU 上。 |
| 超参数优化 | 进化 HPO 运行一个智能体种群;超参数在训练过程中进化。 |
| CLI / SDK | arena CLI 用于登录、模型列表、实验提交、部署和生成。Python LocalTrainer 和 ArenaClient 用于编程使用。 |
典型工作流程
- 编写清单 – 一个 YAML 文件,描述基础模型、算法、环境(OpenEnv、Gymnasium、PettingZoo 或自定义远程服务器)和 HPO 设置。
- 本地运行 –
python -m agilerl.train my_manifest.yaml或使用LocalTrainer.from_manifest(...)。 - 在 Arena 上扩展 –
arena experiments submit my_manifest.yaml --project my-project。Arena 处理异步 rollout、基于种群的 HPO 和 GPU 配置。 - 部署 –
arena agent deploy <experiment>然后arena agent generate --prompt "…"与微调后的 LLM 聊天。
性能声明 – README 引用了一个基准测试,其中 AgileRL 每秒处理的 token 数量比同类库(ART、TRL)多 4 倍以上,同时在多轮数独任务上以一半的 GPU 内存获得更高的奖励。
开始使用
pip install "agilerl[llm]" # LLM 后训练额外功能
pip install agilerl # 经典 RL + Arena CLI
可选额外功能添加 Box2D 物理、仅 CPU 的 wheel 或仅 Arena SDK。
文档与社区 – 完整文档在 https://docs.agilerl.com,一个 Discord 服务器用于帮助,以及一个开源的 Apache-2.0 许可证。
所有细节均直接取自仓库的 README;未添加外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目