verl

快速入门

  • 安装
  • 快速开始:在 GSM8K 数据集上进行 PPO 训练
  • 多节点训练
  • Ray 调试教程
  • 更多资源
  • Agentic RL 训练

编程指南

  • HybridFlow 编程指南
  • verl.single_controller 的设计

数据准备

  • 预处理训练后数据
  • 实现数据集的奖励函数

配置

  • 配置说明

PPO 示例

  • PPO 示例架构
  • GSM8K 示例
  • 多模态示例架构
  • SkyPilot 示例

算法

  • 近端策略优化 (Proximal Policy Optimization, PPO)
  • Group Relative Policy Optimization (GRPO)
  • 食谱:CollabLLM
  • Recipe: 解耦裁剪和动态采样策略优化 (DAPO)
  • 食谱:自博弈微调 (SPIN)
  • 配方:自玩偏好优化 (SPPO)
  • 博文:熵机制
  • 基于最优奖励基线的同策略强化学习 (OPO)
  • 算法基线
  • GPG:策略梯度

PPO Trainer 和 Workers

  • PPO Ray Trainer
  • PyTorch FSDP 后端
  • Megatron-LM 后端
  • SGLang 后端
  • 模型引擎

性能调优指南

  • 训练 DeepSeek 671b
  • 性能调优指南
  • 升级到 vLLM >= 0.8
  • 运行 RL 所需的硬件资源
  • verl Profiler 系统
  • 在 verl 中使用 NVIDIA Nsight Systems 进行性能分析

添加新模型

  • 添加使用 FSDP 后端efois模型
  • 使用 Megatron-LM 后端添加模型

高级功能

  • 使用 Checkpoints 支持容错训练
  • RoPE 缩放覆盖
  • RL (HF) 算法支持 LoRA
  • 多轮 rollout 支持
  • 交互式系统,用于多轮强化学习训练
  • Ray API 设计教程
  • 扩展到其他 RL(HF) 算法
  • Sandbox Fusion 示例
  • Trace 函数使用说明
  • RolloutSkip 功能用法文档
  • 策略回滚重要性采样
  • 配方:单步异步策略训练器
  • Agent Loop
  • 奖励循环
  • 配方:完全异步策略训练器
  • TransferQueue 数据系统

硬件支持

  • 开始使用 AMD (ROCM Kernel)
  • verl 性能调优 AMD (ROCm Kernel)
  • verl x Ascend
  • Data collection based on FSDP backend on Ascend devices(zh)
  • Ascend 设备上基于 FSDP 的数据收集 (zh)
  • verl x 昇腾 (Ascend)

API 参考

  • 数据接口
  • 单控制器接口
  • 训练器接口
  • 实用工具

FAQ

  • 常见问题解答

开发笔记

  • 沙盒融合工具集成
verl
  • Overview: module code

All modules for which code is available

  • verl.protocol
  • verl.single_controller.base.worker
  • verl.single_controller.base.worker_group
  • verl.single_controller.ray.base
  • verl.trainer.ppo.core_algos
  • verl.trainer.ppo.ray_trainer
  • verl.trainer.ppo.reward
  • verl.utils.checkpoint.checkpoint_manager
  • verl.utils.checkpoint.fsdp_checkpoint_manager
  • verl.utils.dataset.rl_dataset
  • verl.utils.fs
  • verl.utils.fsdp_utils
  • verl.utils.metric.utils
  • verl.utils.profiler.performance
  • verl.utils.py_functional
  • verl.utils.seqlen_balancing
  • verl.utils.tokenizer
  • verl.utils.torch_functional
  • verl.utils.tracking
  • verl.utils.ulysses
  • verl.workers.reward_manager.dapo
  • verl.workers.reward_manager.naive

© Copyright 2024 ByteDance Seed Foundation MLSys Team.

Built with Sphinx using a theme provided by Read the Docs.