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

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

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

性能调优发布于 2026/3/22更新于 2026/5/2318K 浏览
强化学习框架 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. 参考内容
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Qwen3-ASR-1.7B 驱动博物馆 AR 导览:语音转写与知识图谱联动
  • GLM-5 与 Qwen3.5 双模型并行生成 HTML 小游戏实战对比
  • Trae Skills 模式实战:AI 自动分析并修复代码 Bug
  • Python SQLAlchemy ORM 数据库操作指南:安装、模型与 CRUD
  • 利用 JuiceSSH 和 cpolar 实现手机远程管理 Linux 服务器
  • Cursor 辅助开发 Web 背单词应用实战
  • Java 二分查找算法题目实战与解析
  • FPGA 入门实战:从零搭建环境到点亮 LED
  • Ubuntu 安装 Hyprland 后部分软件无法使用 fcitx5
  • 智能客服知识库配置优化:AI 问答与自动化方案
  • Anaconda 与 Python 环境安装配置指南
  • GitHub 国内访问加速方案:镜像站点与代理服务解析
  • Neo4j 图数据库使用入门
  • Ascend 910B 服务器深度解析:国产 AI 大模型训练最强底座
  • 8 款 AI 降重工具推荐及学术写作避坑指南
  • 基于 MPU6050 与蓝牙的 C/C++ 手势控制智能小车系统设计
  • Python 爬虫实战:抓取小红书穿搭笔记数据
  • 基于 Ollama 本地部署 Claude Code 实现离线 AI 编程
  • Rust 重构 Android 蓝牙协议栈:从 C++ 到安全高效之路
  • DFS 记忆化搜索实战技巧与总结

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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