跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

强化学习框架 VeRL 全面解析:架构、调试与应用

VeRL 是面向大语言模型的强化学习框架,支持 Single-controller、multi-controller 及 Hybrid Engine 范式。文章解析了其分布式架构(Hybrid Flow)、基于 Ray 的调试方法(VSCode 插件配置)、示例数据预处理流程及主训练文件架构。此外还介绍了多轮强化学习训练支持和 MoE 模型训练优化计划。

性能调优发布于 2026/3/22更新于 2026/9/1218K 浏览
强化学习框架 VeRL 全面解析:架构、调试与应用

强化学习框架 VeRL 全面解析

当前的 RL 框架一览

字节系: VeRL CURE(RL for coding)

阿里系: ROLL 淘天爱橙团队

智谱: slime

huggingface: trl

VeRL 的特点

由于强化学习算法在 LLM 时代中,对与'灵活性'和'高效性'的双重需求,VeRL 应运而生。 其主要特点包括:【Single-controller、multi-controller 以及 Hybrid Engine】

引入 multi-Controller 的思想:实现高效数据并行、训练和生成:

在这里插入图片描述

针对 RL 当中各个 operator 之间效率的优化,VeRL 引入了 Hybrid Engine 其中包括:offloading&reloading;并行策略切换

在这里插入图片描述

在这里插入图片描述

引入 single-controller 的范式思想;将复杂的 RL workflow 简化为 20 几行代码;

在这里插入图片描述

VeRL 分布式框架—分布式新范式

分布式框架的实现思路主要有两种: **single-controller:**一个中心 controller 来控制所有的 worker 进行对应任务;【single controller 来掌控全局】 **multi-controller:**每一个 worker 独立控制自身,通过其他方式实现并行,例如数据并行,每个 worker 之间通过通信的方式汇总并行数据。【通过 worker 间通信来协调】

在这里插入图片描述

两种方案各有优略:

在这里插入图片描述

Hybrid Flow 分布式范式

新范式 Hybrid Flow,提出了 Hybrid Controller 思路:结合 Single- Controller 和 Multi-controller。 数据调动上灵活的中央控制 + 在大规模分布式计算上实现高效的分布式通信:通过一个Single-Controller进行全局的控制,而具体的生成和计算交给muliti-controller

single-controller 通过远程进程调用 PRC 来控制multi-controller

在这里插入图片描述

在代码中,通过@register 装饰器,对 multi-controller 进一步进行优化。

VeRL 调试方法

安装和启动分布式调试插件

首先,由于 VeRL 采用 Ray 进行分布式运行,因此传统的基于 vscode 的调用方法无法生效,需要安装插件Ray distributed debugger

官方使用说明

插件安装后确保需要 debug 的环境中安装了 ray debug 所需要的依赖,如下: 代码 ide: Visual Studio Code ray[default] >= 2.9.1 debugpy >= 1.8.0

环境配置:conda create -n myenv python=3.9 conda activate myenv pip install "ray[default]" debugpy 

在这里插入图片描述

插件安装成功后会出现下图 2 中左下角 1 处 图标,然后点击 2 处 add cluster,在 3 处 添加服务器集群地址和端口号,ray 默认地址 127.0.0.1:8265 (可 Enter 直接添加此地址)

在这里插入图片描述

此时在集群 Cluster 未启动的情况下显示如下的 connecting 状态即为插件配置启动成功

在这里插入图片描述

然后启动 ray

ray start --head

在这里插入图片描述

设置调试启动参数

在代码中需要调试的地方设置breakpoint() ⚠️注意:添加断点位置的函数/类,必须有@ray.remote()装饰器,例如:

在这里插入图片描述

然后直接用 bash 启动 sh 脚本,脚本中用 python 调用,即可,可以用如下代码测试:

bash examples/grpo_trainer/run_qwen3-0.6b.sh 

插件自动捕捉到断点之后就可以像正常 python 程序一样调试了:

在这里插入图片描述

在非@ray.remote装饰位置的设置的breakpoint()会在命令行进行 pdb 调试。

Verl example 中的数据预处理

在 Verl example 中提供了许多有用的小例子,包括从数据处理到一些训练的例子。

在这里插入图片描述

具体包含的数据处理 example 如下:

在这里插入图片描述

其中,例如 gsm8k.py 针对 GSM8k 数据集进行预处理。 https://verl.readthedocs.io/en/latest/start/quickstart.html 通常使用 parquet 格式的原因是加载更快,当前默认原始数据集就是这个数据格式,因此不用修改。

main_ppo.py 主文件架构分析

该文件基本定义了训练的最简化的流程,是一个基于 Hydra + Ray 驱动的 PPO/GRPO 类强化学习训练入口。它把「资源管理、进程/角色划分、数据集与采样、奖励函数、多种分布式策略(FSDP / Megatron / vLLM)」这些零件拼在一起,然后交给 RayPPOTrainer 去跑。

首先是基于 Hydra 的配置

yaml 文件中主要包括如下配置:
data: # 数据
actor_rollout_ref: #核心配置,包括 model、actor、ref、rollout
reward_model: #奖励模型,用于计算输出样本及时分数
critic: #批评家模型,用于估计期望回报
custom_reward_function: # 自定义奖励模型
trainer: # 训练器

25.06 - update&plan

多轮强化学习训练支持

异步引擎,辅助 LLM 多轮对话强化学习优化,解决之前同步方案的效率问题;

在这里插入图片描述

MoE 模型训练支持

优化 Megatron 采用多 node 推理 参数切片管理,用于 megatron 和 inference 引擎。

在这里插入图片描述

planned

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

参考内容

目录

  1. 强化学习框架 VeRL 全面解析
  2. 当前的 RL 框架一览
  3. VeRL 的特点
  4. VeRL 分布式框架—分布式新范式
  5. Hybrid Flow 分布式范式
  6. VeRL 调试方法
  7. 安装和启动分布式调试插件
  8. 设置调试启动参数
  9. Verl example 中的数据预处理
  10. main_ppo.py 主文件架构分析
  11. 25.06 - update&plan
  12. 多轮强化学习训练支持
  13. MoE 模型训练支持
  14. planned
  15. 参考内容

更多推荐文章

查看全部
  • OpenClaw 龙虾图鉴:16 只 AI Agent 选型指南
  • 使用 Frontend-Design Skill 提升大模型前端设计能力
  • MySQL 数据库三大范式详解
  • GPT-OSS-20B 多用户并发 WEBUI 压力测试
  • Python Django runserver 报 UnicodeDecodeError 原因及解决方案:主机名含中文
  • 主流大模型架构全景:GPT/LLaMA/DeepSeek/Qwen 深度对比
  • Spring Boot + Vue 前后端接口交互全流程详解
  • C++ 核心面试题总结:语法、内存与类特性详解
  • Python 版本选择指南:Python 2 与 Python 3 的区别及选型建议
  • Retinaface+CurricularFace 轻量级 CPU 人脸识别部署方案
  • 软件测试引入人工智能:核心场景、工具与落地实践
  • 用C语言实现动态顺序表
  • 基于 SpringBoot+Vue 的海洋生物管理系统设计与实现
  • Python 安装与环境配置完整指南
  • 全栈毕业设计实战:前后端分离架构与核心实现指南
  • React 集成 Microi 吾码低代码平台开发指南
  • C++ 多态底层实现原理详解
  • 漏洞扫描工具 AWVS 介绍及安装教程
  • 深入理解次模函数(Submodular Function)在机器学习中的应用
  • ERNIE-4.5-0.3B 超轻量模型部署与能力评测指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online