verl-project/verl-recipe
A set of examples based on verl for end-to-end RL training recipes.
什么是 verl‑recipe?
verl‑recipe 是一个配套仓库,为 VeRL 库(位于 https://github.com/verl-project/verl)打包了 配方 —— 即现成的示例项目和配置。VeRL 是一个用于大语言模型(LLM)强化学习(RL)研究的开源框架。每个配方演示一种特定的 RL 技术、基准测试或集成(例如,LLM 的工具使用、单流策略优化、使用 LangGraph 的多轮数学求解等)。
它如何工作
- 子模块集成 —— 该仓库应作为子模块添加到主 VeRL 仓库中(
verl/recipe)。这能确保配方与测试过的 VeRL 版本保持版本锁定。 - 版本固定 —— 每个配方目录中包含一个
REQUIRED_VERL.txt文件,记录以下信息:- 上游 VeRL 的 git URL。
- 配方是遵循当前
main分支,还是固定到特定提交或发布标签。 - 安装匹配 VeRL 版本所需的
pip install …命令。 - 对于 滚动 配方,存储三个提交哈希,以确保核心库和配方树均可重现地固定。
- 一键安装器 ——
install_verl.sh脚本读取配方的REQUIRED_VERL.txt,并自动执行相应的pip install(或基于 git 的可编辑安装)。它可以列出所有配方、显示将要运行的精确命令,或安装选定的配方(支持--method git、--option …等可选标志)。 - 贡献工作流 —— 添加或更新配方时,贡献者必须更新
REQUIRED_VERL.txt以反映新的 VeRL 版本。该仓库使用pre‑commit和ruff代码检查器来保持代码整洁。
你可以用它做什么
- 无需从头搭建环境,即可运行 LLM 上的前沿 RL 实验。例如:
- retool – LLM 中战略工具使用的强化学习。
- langgraph_agent – 一个小型 LangGraph ReactAgent,用于展开多轮数学表达式。
- spo – Single‑stream Policy Optimization(arXiv:2509.13232)的实现。
- partial_rollout – 支持中断/恢复的同步 RL,以减少 GPU 空闲时间(APRIL 风格)。
- verl_tinker – 一个 HTTP 服务器,暴露 VeRL 动作器,可与 Tinker 烹饪书客户端配合使用。
- 通过选择配方中定义的选项来实验研究变体(例如,DAPO 或 FlowRL 的论文特定检查点)。
- 由于每个配方都固定了确切的 VeRL 提交以及其依赖的任何辅助子模块提交,因此可以复现已发表的结果。
适合谁使用?
- 希望获得可复现、社区验证起点的 LLM 强化学习研究人员和工程师。
- 寻找语言模型上高级 RL 方法具体示例的学生。
- 已经使用 VeRL 的开发者,需要快速添加新实验设置。
快速入门(快速步骤)
# 克隆 VeRL 并将配方作为子模块拉取
git clone https://github.com/verl-project/verl.git
cd verl
git submodule update --init --recursive recipe
# 列出所有可用配方及其固定的安装命令
./recipe/install_verl.sh --list
# 安装特定配方,例如 "retool" RL 工具使用示例
./recipe/install_verl.sh --recipe retool
该脚本将显示它将执行的精确 pip install 命令,您可添加 --show 进行预演,或添加 --yes 跳过确认。
简而言之: verl‑recipe 是一个与 VeRL 库并存的、经过精选的可复现 LLM 强化学习示例集合,配有工具以确保库与配方完全同步。
相关
- 项目
- 项目
- 项目
- 项目
- 项目