跳转至

verl 框架教程 -- 阅读指南

本文档帮助你规划阅读路线,让你用最合理的顺序理解 verl 框架的每一个模块。


一、欢迎

欢迎来到 verl 框架教程!

verl 是一个面向大语言模型(LLM)强化学习训练的开源框架,核心实现了 RLHF(基于人类反馈的强化学习)训练流程,包括 PPO 算法、分布式 Worker 调度、多种推理引擎集成等能力。

这套教程为每一个源码文件都编写了对应的讲解文档,总计 200+ 篇,覆盖了 verl 框架的全部代码。无论你是想快速了解整体架构,还是想深入某个具体实现,都能在这里找到对应的讲解。


二、前置知识

阅读本教程前,建议你具备以下基础:

知识领域 最低要求 推荐水平
Python 熟悉类、装饰器、上下文管理器 熟练使用 dataclass、typing
PyTorch 了解 Tensor、Module、前向传播 熟悉分布式训练(DDP/FSDP)
深度学习 了解 Transformer、Loss、Optimizer 了解 LLM 微调流程
强化学习 不需要 -- 教程会从零讲起 了解 PPO 会更轻松
分布式系统 不需要 -- 教程会从零讲起 了解 Ray 框架会更轻松

如果你对强化学习完全陌生,请先阅读 00_background_knowledge.md,它会从零开始讲解 RL、RLHF、PPO 等核心概念。


三、推荐阅读路线图

路线 A:快速入门(约 2 小时)

目标:理解 verl 的核心架构和 PPO 训练流程,建立全局视角。

阅读顺序(共 8 篇):

1. 00_background_knowledge.md          -- 背景知识,理解 RL/RLHF/PPO 是什么
2. core/index.md                      -- 核心模块总览
3. core/02_protocol.md                 -- DataProto:数据如何在模块间流动
4. trainer/index.md                   -- Trainer 模块总览
5. trainer/main_ppo.py.md             -- PPO 训练入口:一切从这里开始
6. trainer/ppo/ray_trainer.py.md      -- Ray 分布式 PPO 训练器:核心调度逻辑
7. trainer/ppo/core_algos.py.md       -- PPO 核心算法:优势估计与策略损失
8. workers/index.md                   -- Workers 模块总览:了解 Actor/Critic/Rollout 架构

读完这 8 篇,你就能理解 verl 框架的"骨架"——数据怎么定义、训练怎么发起、PPO 怎么计算、Worker 怎么分工。


路线 B:完整学习路线(按依赖关系排序)

目标:系统地从底层到上层读完所有模块。

阶段 1 -- 基础层(先读这些,因为所有上层模块都依赖它们)
  ├── 00_background_knowledge.md
  ├── core/(init → base_config → protocol)
  └── utils/(device → config → distributed → fsdp_utils → 其他工具)

阶段 2 -- 分布式控制层
  └── single_controller/(init → worker → decorator → worker_group → ray/)

阶段 3 -- 模型层
  ├── models/(registry → transformers/ → mcore/ → llama_megatron/ → qwen2_megatron/)
  └── checkpoint_engine/(base → 各后端实现)

阶段 4 -- 执行层(Workers)
  ├── workers/config/               -- Worker 配置定义
  ├── workers/actor/                -- Actor(策略网络)
  ├── workers/critic/               -- Critic(价值网络)
  ├── workers/rollout/              -- Rollout(推理生成引擎)
  ├── workers/reward_manager/       -- 奖励计算
  ├── workers/engine/               -- 训练引擎抽象层
  ├── workers/sharding_manager/     -- 模型分片管理
  └── workers/fsdp_workers + megatron_workers + engine_workers

阶段 5 -- 训练调度层
  ├── trainer/config/               -- 训练配置
  ├── trainer/ppo/                  -- PPO 算法核心
  ├── trainer/main_ppo.py           -- PPO 入口
  ├── trainer/sft_trainer.py        -- SFT 训练
  └── trainer/main_eval.py          -- 评估入口

阶段 6 -- 工具与交互层
  ├── tools/                        -- 工具系统(搜索/代码执行/MCP)
  └── interactions/                 -- 交互系统(多轮对话环境)

阶段 7 -- 辅助模块
  ├── model_merger/                 -- checkpoint 合并
  ├── third_party/                  -- 第三方库补丁
  └── utils/ 子模块(dataset, checkpoint, kernel, megatron, profiler, qat 等)

阶段 8 -- 实验性功能
  └── experimental/(agent_loop, fully_async_policy, vla, reward_loop 等)

路线 C:按兴趣选读

根据你关心的主题,直接跳到对应模块:

我想了解... 去读...
PPO 算法是怎么实现的 trainer/ppo/core_algos.py.md
训练流程是怎么跑起来的 trainer/main_ppo.py.md → trainer/ppo/ray_trainer.py.md
数据是怎么在模块间传递的 core/02_protocol.md
多卡分布式是怎么调度的 single_controller/ 整个目录
vLLM/SGLang 推理集成 workers/rollout/vllm_rollout/ 或 workers/rollout/sglang_rollout/
奖励函数怎么写 workers/reward_manager/ + utils/reward_score/
模型权重怎么在训练和推理间同步 checkpoint_engine/
LLM 怎么调用工具 tools/ + experimental/agent_loop/
FSDP 分布式训练细节 workers/fsdp_workers.md + utils/07_fsdp_utils.md
Megatron 并行训练 workers/megatron_workers.md + models/mcore/ + utils/megatron/
SFT 监督微调 trainer/sft_trainer.py.md + trainer/sft_trainer_ray.py.md
LoRA/PEFT 微调 utils/24_megatron_peft_utils.md
全异步训练 experimental/fully_async_policy/
视觉语言模型 (VLA) experimental/vla/

四、模块依赖关系与阅读顺序

下面的 ASCII 图展示了 verl 各模块的依赖关系。箭头表示"被依赖"方向(A → B 表示 B 依赖 A,所以先读 A)。

                          verl 模块依赖关系图

 ┌──────────────────────────────────────────────────────────────────────┐
 │                        基础层 (最先阅读)                              │
 │                                                                      │
 │   ┌──────────────┐    ┌──────────────┐    ┌──────────────────────┐  │
 │   │    core/     │    │    utils/    │    │  single_controller/  │  │
 │   │  (数据协议)   │    │  (工具集)    │    │  (分布式调度)         │  │
 │   └──────┬───────┘    └──────┬───────┘    └──────────┬───────────┘  │
 │          │                   │                       │              │
 └──────────┼───────────────────┼───────────────────────┼──────────────┘
            │                   │                       │
            v                   v                       v
 ┌──────────────────────────────────────────────────────────────────────┐
 │                        模型层 (第二层阅读)                             │
 │                                                                      │
 │   ┌──────────────┐    ┌──────────────────┐                          │
 │   │   models/    │    │checkpoint_engine/ │                          │
 │   │ (模型定义与   │    │ (权重同步引擎)    │                          │
 │   │  并行适配)    │    │                  │                          │
 │   └──────┬───────┘    └────────┬─────────┘                          │
 │          │                     │                                    │
 └──────────┼─────────────────────┼────────────────────────────────────┘
            │                     │
            v                     v
 ┌──────────────────────────────────────────────────────────────────────┐
 │                        执行层 (第三层阅读)                             │
 │                                                                      │
 │   ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌───────────────┐           │
 │   │ actor/  │ │ critic/ │ │ rollout/ │ │reward_manager/│           │
 │   │(策略网络)│ │(价值网络)│ │(推理引擎) │ │  (奖励计算)   │           │
 │   └────┬────┘ └────┬────┘ └─────┬────┘ └───────┬───────┘           │
 │        │           │            │               │                   │
 │        └───────────┴────────────┴───────────────┘                   │
 │                            │                                        │
 │                            v                                        │
 │        ┌──────────────────────────────────────┐                     │
 │        │  fsdp_workers / megatron_workers /   │                     │
 │        │  engine_workers  (整合各 Worker)       │                     │
 │        └──────────────────┬───────────────────┘                     │
 │                           │                                         │
 └───────────────────────────┼─────────────────────────────────────────┘
                             │
                             v
 ┌──────────────────────────────────────────────────────────────────────┐
 │                        训练调度层 (第四层阅读)                         │
 │                                                                      │
 │        ┌──────────────────────────────────────┐                     │
 │        │           trainer/ppo/               │                     │
 │        │  (PPO 训练器 -- 框架的顶层调度中心)     │                     │
 │        └──────────────────────────────────────┘                     │
 │                                                                      │
 └──────────────────────────────────────────────────────────────────────┘
                             │
                             v
 ┌──────────────────────────────────────────────────────────────────────┐
 │                      扩展层 (按需阅读)                                │
 │                                                                      │
 │  ┌────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────────────┐  │
 │  │ tools/ │ │interactions/ │ │model_merger/ │ │  experimental/   │  │
 │  │(工具)  │ │(交互环境)     │ │(模型合并)    │ │ (实验性功能)      │  │
 │  └────────┘ └──────────────┘ └─────────────┘ └──────────────────┘  │
 │                                                                      │
 └──────────────────────────────────────────────────────────────────────┘

五、模块阅读顺序详解

以下是推荐的阅读顺序,带编号和理由说明:

第 1 步:背景知识

序号 文档 理由
1 00_background_knowledge.md 从零讲解 RL、RLHF、PPO、分布式训练等概念,是所有后续内容的知识基础

第 2 步:核心模块 (core/)

序号 文档 理由
2 core/index.md 核心模块总览,了解三个基础文件的关系
3 core/01_init.md 包入口,了解 verl 对外暴露了什么
4 core/03_base_config.md 配置基类,简短易懂,快速建立信心
5 core/02_protocol.md DataProto 数据协议——最核心的数据结构,所有模块间数据传输都用它

第 3 步:工具集 (utils/) -- 核心部分

序号 文档 理由
6 utils/index.md 工具模块总览
7 utils/01_device.md 设备抽象层,了解 CUDA/NPU 统一接口
8 utils/02_config.md 配置管理,了解 OmegaConf 配置转换
9 utils/06_distributed.md 分布式训练基础工具
10 utils/07_fsdp_utils.md FSDP 工具,后续 Worker 会大量使用

第 4 步:分布式控制 (single_controller/)

序号 文档 理由
11 single_controller/index.md 分布式控制模块总览
12 single_controller/init.md 模块入口
13 single_controller/base/worker.md Worker 基类定义
14 single_controller/base/decorator.md 装饰器——将本地方法变为分布式方法
15 single_controller/base/worker_group.md WorkerGroup——管理一组 Worker
16 single_controller/ray/base.md Ray 后端实现

第 5 步:模型层 (models/)

序号 文档 理由
17 models/index.md 模型模块总览
18 models/registry.md 模型注册机制
19 models/transformers/monkey_patch.md 核心的 monkey patch 入口
20 models/transformers/dense_common.md 通用前向传播优化

第 6 步:Workers(执行层)

序号 文档 理由
21 workers/index.md Workers 模块总览——非常重要
22 workers/actor/base.md Actor Worker 基类
23 workers/actor/dp_actor.md FSDP Actor 实现
24 workers/critic/base.md Critic Worker 基类
25 workers/critic/dp_critic.md FSDP Critic 实现
26 workers/rollout/base.md Rollout 基类
27 workers/rollout/vllm_rollout/vllm_rollout.md vLLM 推理引擎集成
28 workers/reward_manager/abstract.md 奖励管理器基类
29 workers/reward_manager/naive.md 最简奖励管理器实现
30 workers/fsdp_workers.md FSDP Workers 整合层

第 7 步:训练调度层 (trainer/)

序号 文档 理由
31 trainer/index.md Trainer 模块总览
32 trainer/main_ppo.py.md PPO 训练入口——一切从这里开始
33 trainer/ppo/ray_trainer.py.md Ray PPO Trainer——核心调度逻辑
34 trainer/ppo/core_algos.py.md PPO 核心算法实现
35 trainer/ppo/reward.py.md 奖励函数加载
36 trainer/ppo/metric_utils.py.md 训练指标计算

第 8 步:扩展模块(按需阅读)

序号 文档 理由
37 checkpoint_engine/index.md 权重同步引擎
38 tools/index.md 工具系统(搜索/代码执行)
39 interactions/index.md 交互系统(多轮对话)
40 model_merger/index.md checkpoint 合并
41 third_party/index.md 第三方库补丁
42 experimental/index.md 实验性功能

六、各模块一句话简介

模块 一句话简介
core/ 定义 verl 的基本数据结构 DataProto 和配置基类,是整个框架的"语言"
utils/ 提供设备管理、分布式、数据集、checkpoint、性能分析等基础工具,是框架的"底座"
single_controller/ 实现"单控制器"分布式架构,让主进程像调用本地方法一样操控远程 Worker
models/ 模型定义与并行适配层,让 HuggingFace/Megatron 模型能在 PPO 训练中高效运行
checkpoint_engine/ 训练-推理间的权重同步引擎,支持 NCCL/NIXL/Mooncake 等多种通信后端
workers/ RLHF 的核心执行层,包含 Actor、Critic、Rollout、Reward 四大 Worker
trainer/ 训练调度中心,实现 PPO/SFT 训练流程的顶层编排逻辑
tools/ 工具系统,让 LLM 在训练中能调用搜索、代码执行等外部工具
interactions/ 交互系统,让 LLM 在训练中能与环境进行多轮对话并获取反馈
model_merger/ 将 FSDP/Megatron 分片 checkpoint 合并为 HuggingFace 格式
third_party/ 第三方库(PyTorch、vLLM)的补丁代码,修复 bug 和处理版本兼容性
experimental/ 实验性功能:全异步训练、Agent Loop、VLA、动态数据集等前沿特性

七、文档总目录

以下是所有教程文档的完整索引,按模块分类。

7.0 背景知识与指南

7.1 core/ -- 核心数据协议

7.2 utils/ -- 工具模块

基础工具: - utils/01_device.md -- 设备抽象层 - utils/02_config.md -- 配置管理 - utils/03_import_utils.md -- 动态导入与依赖检查 - utils/04_py_functional.md -- Python 函数式工具 - utils/05_torch_dtypes.md -- Torch 数据类型工具 - utils/06_distributed.md -- 分布式训练工具 - utils/07_fsdp_utils.md -- FSDP 工具 - utils/08_ulysses.md -- Ulysses 序列并行 - utils/09_tokenizer.md -- Tokenizer 工具 - utils/10_chat_template.md -- 聊天模板 - utils/11_tensordict_utils.md -- TensorDict 工具 - utils/12_torch_functional.md -- Torch 函数工具 - utils/13_activation_offload.md -- 激活值卸载 - utils/14_tracking.md -- 实验追踪 - utils/15_seqlen_balancing.md -- 序列长度均衡 - utils/16_memory_utils.md -- 显存管理 - utils/17_init.md -- utils 入口 - utils/18_attention_utils.md -- 注意力计算工具 - utils/19_flops_counter.md -- FLOPS 计算 - utils/20_fs.md -- 文件系统工具 - utils/21_groupwise.md -- 分组统计 - utils/22_hdfs_io.md -- HDFS IO - utils/23_logging_utils.md -- 日志工具 - utils/24_megatron_peft_utils.md -- Megatron PEFT/LoRA - utils/25_megatron_utils.md -- Megatron 模型转换 - utils/26_model.md -- 模型创建工具 - utils/27_net_utils.md -- 网络工具 - utils/28_npu_flash_attn_utils.md -- NPU FlashAttention - utils/29_ray_utils.md -- Ray 工具 - utils/30_rollout_skip.md -- Rollout 跳过策略 - utils/31_rollout_trace.md -- Rollout 追踪 - utils/32_transformers_compat.md -- Transformers 兼容性

子模块:

utils/dataset/ -- 数据集工具: - utils/dataset/index.md -- 数据集模块总览 - utils/dataset/01_init.md -- 入口 - utils/dataset/02_rl_dataset.md -- RL 数据集 - utils/dataset/03_rm_dataset.md -- RM 数据集 - utils/dataset/04_dataset_utils.md -- 数据集工具 - utils/dataset/05_vision_utils.md -- 视觉数据处理 - utils/dataset/06_multiturn_sft_dataset.md -- 多轮 SFT 数据集

utils/checkpoint/ -- Checkpoint 管理: - utils/checkpoint/index.md -- Checkpoint 模块总览 - utils/checkpoint/01_init.md -- 入口 - utils/checkpoint/02_checkpoint_manager.md -- 管理器 - utils/checkpoint/03_checkpoint_handler.md -- 处理器 - utils/checkpoint/04_fsdp_checkpoint_manager.md -- FSDP Checkpoint - utils/checkpoint/05_megatron_checkpoint_manager.md -- Megatron Checkpoint

utils/kernel/ -- 高性能 Kernel: - utils/kernel/index.md -- Kernel 模块总览 - utils/kernel/01_init.md -- 入口 - utils/kernel/02_linear_cross_entropy.md -- 线性交叉熵 - utils/kernel/03_kernels.md -- Triton Kernel - utils/kernel/04_fp8_kernel.md -- FP8 Kernel

utils/megatron/ -- Megatron 并行工具: - utils/megatron/index.md -- Megatron 工具总览 - utils/megatron/01_init.md -- 入口 - utils/megatron/02_optimizer.md -- 优化器 - utils/megatron/03_sequence_parallel.md -- 序列并行 - utils/megatron/04_pipeline_parallel.md -- 流水线并行 - utils/megatron/05_tensor_parallel.md -- 张量并行 - utils/megatron/06_memory.md -- 内存管理 - utils/megatron/07_dist_checkpointing.md -- 分布式 Checkpoint - utils/megatron/08_router_replay_patch.md -- Router Replay 补丁 - utils/megatron/09_router_replay_utils.md -- Router Replay 工具

utils/profiler/ -- 性能分析: - utils/profiler/index.md -- 性能分析总览 - utils/profiler/01_init.md -- 入口 - utils/profiler/02_config.md -- 配置 - utils/profiler/03_profile.md -- Profile 工具 - utils/profiler/04_nvtx_profile.md -- NVTX Profile - utils/profiler/05_mstx_profile.md -- MSTX Profile - utils/profiler/06_torch_profile.md -- Torch Profile - utils/profiler/07_performance.md -- 性能统计 - utils/profiler/08_empty_annotations.md -- 空注解占位

utils/reward_score/ -- 奖励评分函数: - utils/reward_score/init.md -- 入口 - utils/reward_score/gsm8k.md -- GSM8K 数学评分 - utils/reward_score/math_reward.md -- MATH 评分 - utils/reward_score/math_dapo.md -- DAPO 数学评分 - utils/reward_score/math_batch.md -- 批量数学评分 - utils/reward_score/math_verify.md -- 数学验证 - utils/reward_score/geo3k.md -- 几何题评分 - utils/reward_score/search_r1_like_qa_em.md -- 搜索 QA 评分 - utils/reward_score/prime_math/init.md -- PRIME 数学入口 - utils/reward_score/prime_math/grader.md -- PRIME 评分器 - utils/reward_score/prime_math/math_normalize.md -- 数学标准化 - utils/reward_score/prime_code/init.md -- PRIME 代码入口 - utils/reward_score/prime_code/testing_util.md -- 代码测试工具 - utils/reward_score/prime_code/utils.md -- 代码评分工具 - utils/reward_score/sandbox_fusion/init.md -- Sandbox Fusion 入口 - utils/reward_score/sandbox_fusion/utils.md -- Sandbox Fusion 工具

其他 utils 子模块: - utils/debug/init.md -- 调试工具入口 - utils/debug/metrics.md -- 调试指标 - utils/debug/performance.md -- 性能调试 - utils/debug/trajectory_tracker.md -- 轨迹追踪 - utils/experimental/init.md -- 实验工具入口 - utils/experimental/torch_functional.md -- 实验性 Torch 工具 - utils/logger/init.md -- 日志入口 - utils/logger/aggregate_logger.md -- 聚合日志器 - utils/metric/init.md -- 指标入口 - utils/metric/utils.md -- 指标工具 - utils/qat/init.md -- QAT 入口 - utils/qat/core.md -- QAT 核心 - utils/qat/linear.md -- QAT Linear 层 - utils/qat/quantizer.md -- 量化器 - utils/qat/vllm_patch.md -- vLLM QAT 补丁 - utils/rendezvous/init.md -- Rendezvous 入口 - utils/rendezvous/ray_backend.md -- Ray 后端 - utils/sglang/sglang_fp8_utils.md -- SGLang FP8 工具 - utils/vllm/init.md -- vLLM 工具入口 - utils/vllm/patch.md -- vLLM 补丁 - utils/vllm/utils.md -- vLLM 工具 - utils/vllm/vllm_fp8_utils.md -- vLLM FP8 工具

7.3 single_controller/ -- 分布式控制

7.4 models/ -- 模型层

models/transformers/ -- HuggingFace 适配: - models/transformers/init.md -- 入口 - models/transformers/monkey_patch.md -- Monkey Patch 入口 - models/transformers/dense_common.md -- 通用前向传播 - models/transformers/llama.md -- LLaMA 适配 - models/transformers/qwen2.md -- Qwen2 适配 - models/transformers/qwen2_vl.md -- Qwen2-VL 适配 - models/transformers/qwen3_vl.md -- Qwen3-VL 适配 - models/transformers/glm4v.md -- GLM-4V 适配 - models/transformers/kimi_vl.md -- KimiVL 适配 - models/transformers/apertus.md -- Apertus 适配 - models/transformers/tiled_mlp.md -- TiledMLP - models/transformers/npu_patch.md -- NPU 补丁

models/mcore/ -- Megatron-Core 集成: - models/mcore/init.md -- 入口 - models/mcore/registry.md -- 注册表 - models/mcore/bridge.md -- Bridge - models/mcore/mbridge.md -- MBridge - models/mcore/config_converter.md -- 配置转换 - models/mcore/model_initializer.md -- 模型初始化 - models/mcore/model_forward.md -- 前向传播 - models/mcore/model_forward_fused.md -- 融合前向 - models/mcore/model_forward_1f1b_overlap.md -- 1F1B 重叠 - models/mcore/loader.md -- 权重加载 - models/mcore/saver.md -- 权重保存 - models/mcore/weight_converter.md -- 权重转换 - models/mcore/patch.md -- 补丁 - models/mcore/mtp_patch.md -- MTP 补丁 - models/mcore/qwen2_5_vl.md -- Qwen2.5-VL - models/mcore/util.md -- 工具函数

models/llama_megatron/ -- LLaMA Megatron 实现: - models/llama_megatron/init.md -- 入口 - models/llama_megatron/llama_init.md -- 初始化 - models/llama_megatron/modeling_llama_megatron.md -- 模型定义 - models/llama_megatron/layers/init.md -- 层入口 - models/llama_megatron/layers/parallel_attention.md -- 并行注意力 - models/llama_megatron/layers/parallel_decoder.md -- 并行解码器 - models/llama_megatron/layers/parallel_linear.md -- 并行线性层 - models/llama_megatron/layers/parallel_mlp.md -- 并行 MLP - models/llama_megatron/layers/parallel_rmsnorm.md -- 并行 RMSNorm - models/llama_megatron/checkpoint_utils/init.md -- Checkpoint 工具入口 - models/llama_megatron/checkpoint_utils/llama_loader.md -- 权重加载 - models/llama_megatron/checkpoint_utils/llama_loader_depracated.md -- 旧版加载(已弃用) - models/llama_megatron/checkpoint_utils/llama_saver.md -- 权重保存

models/qwen2_megatron/ -- Qwen2 Megatron 实现: - models/qwen2_megatron/init.md -- 入口 - models/qwen2_megatron/qwen2_init.md -- 初始化 - models/qwen2_megatron/modeling_qwen2_megatron.md -- 模型定义 - models/qwen2_megatron/layers/init.md -- 层入口 - models/qwen2_megatron/layers/parallel_attention.md -- 并行注意力 - models/qwen2_megatron/layers/parallel_decoder.md -- 并行解码器 - models/qwen2_megatron/layers/parallel_linear.md -- 并行线性层 - models/qwen2_megatron/layers/parallel_mlp.md -- 并行 MLP - models/qwen2_megatron/layers/parallel_rmsnorm.md -- 并行 RMSNorm - models/qwen2_megatron/checkpoint_utils/init.md -- Checkpoint 工具入口 - models/qwen2_megatron/checkpoint_utils/qwen2_loader.md -- 权重加载 - models/qwen2_megatron/checkpoint_utils/qwen2_loader_depracated.md -- 旧版加载(已弃用) - models/qwen2_megatron/checkpoint_utils/qwen2_saver.md -- 权重保存

7.5 checkpoint_engine/ -- 权重同步引擎

7.6 workers/ -- 执行层

workers/config/ -- Worker 配置: - workers/config/init.md -- 入口 - workers/config/actor.md -- Actor 配置 - workers/config/critic.md -- Critic 配置 - workers/config/engine.md -- 引擎配置 - workers/config/model.md -- 模型配置 - workers/config/optimizer.md -- 优化器配置 - workers/config/reward.md -- 奖励配置 - workers/config/rollout.md -- Rollout 配置 - workers/config/megatron_peft.md -- Megatron PEFT 配置

workers/actor/ -- Actor Worker: - workers/actor/init.md -- 入口 - workers/actor/base.md -- 基类 - workers/actor/dp_actor.md -- FSDP Actor - workers/actor/megatron_actor.md -- Megatron Actor

workers/critic/ -- Critic Worker: - workers/critic/init.md -- 入口 - workers/critic/base.md -- 基类 - workers/critic/dp_critic.md -- FSDP Critic - workers/critic/megatron_critic.md -- Megatron Critic

workers/rollout/ -- Rollout(推理引擎): - workers/rollout/init.md -- 入口 - workers/rollout/base.md -- 基类 - workers/rollout/schemas.md -- 数据 Schema - workers/rollout/tokenizer.md -- Tokenizer 工具 - workers/rollout/utils.md -- 工具函数 - workers/rollout/replica.md -- Replica 管理 - workers/rollout/hf_rollout.md -- HuggingFace Rollout - workers/rollout/naive/init.md -- Naive Rollout 入口 - workers/rollout/naive/naive_rollout.md -- Naive Rollout - workers/rollout/vllm_rollout/init.md -- vLLM 入口 - workers/rollout/vllm_rollout/vllm_rollout.md -- vLLM Rollout - workers/rollout/vllm_rollout/vllm_async_server.md -- vLLM 异步服务 - workers/rollout/vllm_rollout/utils.md -- vLLM 工具 - workers/rollout/vllm_rollout/bucketed_weight_transfer.md -- 分桶权重传输 - workers/rollout/sglang_rollout/init.md -- SGLang 入口 - workers/rollout/sglang_rollout/sglang_rollout.md -- SGLang Rollout - workers/rollout/sglang_rollout/async_sglang_server.md -- SGLang 异步服务 - workers/rollout/sglang_rollout/http_server_engine.md -- HTTP 服务引擎 - workers/rollout/sglang_rollout/utils.md -- SGLang 工具 - workers/rollout/trtllm_rollout/trtllm_rollout.md -- TensorRT-LLM Rollout - workers/rollout/trtllm_rollout/trtllm_async_server.md -- TRT-LLM 异步服务

workers/engine/ -- 训练引擎抽象: - workers/engine/init.md -- 入口 - workers/engine/base.md -- 基类 - workers/engine/utils.md -- 工具 - workers/engine/fsdp/init.md -- FSDP 引擎入口 - workers/engine/fsdp/transformer_impl.md -- FSDP Transformer 实现 - workers/engine/fsdp/utils.md -- FSDP 引擎工具 - workers/engine/megatron/init.md -- Megatron 引擎入口 - workers/engine/megatron/transformer_impl.md -- Megatron Transformer 实现 - workers/engine/megatron/utils.md -- Megatron 引擎工具 - workers/engine/mindspeed/init.md -- MindSpeed 引擎入口 - workers/engine/mindspeed/transformer_impl.md -- MindSpeed Transformer 实现 - workers/engine/torchtitan/init.md -- TorchTitan 引擎入口 - workers/engine/torchtitan/transformer_impl.md -- TorchTitan Transformer 实现 - workers/engine/torchtitan/utils.md -- TorchTitan 工具 - workers/engine/veomni/init.md -- VeOmni 引擎入口 - workers/engine/veomni/transformer_impl.md -- VeOmni Transformer 实现 - workers/engine/veomni/utils.md -- VeOmni 工具

workers/reward_manager/ -- 奖励管理: - workers/reward_manager/init.md -- 入口 - workers/reward_manager/registry.md -- 注册表 - workers/reward_manager/abstract.md -- 抽象基类 - workers/reward_manager/naive.md -- Naive 实现 - workers/reward_manager/batch.md -- Batch 实现 - workers/reward_manager/dapo.md -- DAPO 实现 - workers/reward_manager/prime.md -- PRIME 实现

workers/sharding_manager/ -- 分片管理: - workers/sharding_manager/init.md -- 入口 - workers/sharding_manager/base.md -- 基类 - workers/sharding_manager/fsdp_ulysses.md -- FSDP+Ulysses

workers/utils/ -- Worker 工具: - workers/utils/init.md -- 入口 - workers/utils/losses.md -- 损失函数 - workers/utils/padding.md -- Padding 工具

7.7 trainer/ -- 训练调度

trainer/config/ -- 训练配置: - trainer/config/init.py.md -- 入口 - trainer/config/config.py.md -- 基础配置 - trainer/config/algorithm.py.md -- 算法配置

trainer/ppo/ -- PPO 核心: - trainer/ppo/init.py.md -- 入口 - trainer/ppo/ray_trainer.py.md -- Ray PPO Trainer(最核心) - trainer/ppo/core_algos.py.md -- 核心算法 - trainer/ppo/reward.py.md -- 奖励函数 - trainer/ppo/metric_utils.py.md -- 指标计算 - trainer/ppo/utils.py.md -- 工具函数 - trainer/ppo/prefix_grouper_utils.py.md -- 前缀分组 - trainer/ppo/rollout_corr_helper.py.md -- Rollout 修正

7.8 tools/ -- 工具系统

7.9 interactions/ -- 交互系统

7.10 model_merger/ -- 模型合并

7.11 third_party/ -- 第三方补丁

7.12 experimental/ -- 实验性功能

experimental/agent_loop/ -- Agent 循环: - experimental/agent_loop/01_init.md -- 入口 - experimental/agent_loop/02_agent_loop.md -- 核心 Agent Loop - experimental/agent_loop/03_single_turn_agent_loop.md -- 单轮 Agent - experimental/agent_loop/04_tool_agent_loop.md -- 工具 Agent - experimental/agent_loop/05_tool_parser.md -- 工具解析器 - experimental/agent_loop/06_utils.md -- 工具函数 - experimental/agent_loop/07_prometheus_utils.md -- 监控

experimental/dataset/ -- 数据集: - experimental/dataset/01_init.md -- 入口 - experimental/dataset/02_sampler.md -- 采样器

experimental/dynamic_dataset/ -- 动态数据集: - experimental/dynamic_dataset/01_init.md -- 入口 - experimental/dynamic_dataset/02_dynamicgen_dataset.md -- 动态生成

experimental/fully_async_policy/ -- 全异步训练: - experimental/fully_async_policy/01_fully_async_main.md -- 入口 - experimental/fully_async_policy/02_fully_async_rollouter.md -- 异步 Rollout - experimental/fully_async_policy/03_fully_async_trainer.md -- 异步 Trainer - experimental/fully_async_policy/04_message_queue.md -- 消息队列 - experimental/fully_async_policy/05_param_sync.md -- 参数同步 - experimental/fully_async_policy/06_detach_utils.md -- Detach 工具 - experimental/fully_async_policy/07_megatron_utils.md -- Megatron 工具 - experimental/fully_async_policy/08_fsdp2_utils.md -- FSDP2 工具 - experimental/fully_async_policy/agent_loop/01_init.md -- Agent Loop 入口 - experimental/fully_async_policy/agent_loop/02_agent_loop.md -- Agent Loop - experimental/fully_async_policy/agent_loop/03_partial_tool_agent_loop.md -- 部分工具 Agent - experimental/fully_async_policy/agent_loop/04_partial_single_turn_agent_loop.md -- 部分单轮 Agent - experimental/fully_async_policy/sglang_rollout/01_sglang_async_server.md -- SGLang 异步 - experimental/fully_async_policy/sglang_rollout/02_init.md -- SGLang 入口 - experimental/fully_async_policy/vllm_rollout/01_vllm_async_server.md -- vLLM 异步 - experimental/fully_async_policy/vllm_rollout/02_init.md -- vLLM 入口 - experimental/fully_async_policy/unittest/01_simple_streaming_demo.md -- 流式 Demo

experimental/one_step_off_policy/ -- 单步 Off-Policy: - experimental/one_step_off_policy/01_main_ppo.md -- PPO 入口 - experimental/one_step_off_policy/02_ray_trainer.md -- Ray Trainer - experimental/one_step_off_policy/03_utils.md -- 工具 - experimental/one_step_off_policy/04_distributed_utils.md -- 分布式工具 - experimental/one_step_off_policy/agent_loop/01_init.md -- Agent Loop 入口 - experimental/one_step_off_policy/agent_loop/02_agent_loop.md -- Agent Loop

experimental/reward_loop/ -- 奖励循环: - experimental/reward_loop/01_init.md -- 入口 - experimental/reward_loop/02_reward_loop.md -- 奖励循环 - experimental/reward_loop/03_reward_model.md -- 奖励模型 - experimental/reward_loop/04_reward_manager_init.md -- 管理器入口 - experimental/reward_loop/05_reward_manager_registry.md -- 管理器注册表 - experimental/reward_loop/06_reward_manager_base.md -- 管理器基类 - experimental/reward_loop/07_reward_manager_naive.md -- Naive 管理器 - experimental/reward_loop/08_reward_manager_dapo.md -- DAPO 管理器 - experimental/reward_loop/09_reward_manager_limited.md -- Limited 管理器 - experimental/reward_loop/10_reward_manager_remote.md -- Remote 管理器 - experimental/reward_loop/11_router_naive.md -- Naive 路由 - experimental/reward_loop/12_router_sglang.md -- SGLang 路由

experimental/separation/ -- 训练推理分离: - experimental/separation/01_init.md -- 入口 - experimental/separation/02_engine_workers.md -- 引擎 Workers - experimental/separation/03_ray_trainer.md -- Ray Trainer

experimental/vla/ -- 视觉语言动作(VLA): - experimental/vla/01_main_ppo.md -- PPO 入口 - experimental/vla/02_main_sac.md -- SAC 入口 - experimental/vla/03_rob_ray_trainer.md -- 机器人 Ray Trainer - experimental/vla/04_env_loop.md -- 环境循环 - experimental/vla/05_dp_rob.md -- DP 机器人 - experimental/vla/06_fsdp_workers.md -- FSDP Workers - experimental/vla/07_naive_rollout_rob.md -- Naive Rollout - experimental/vla/08_prepare_libero_dataset.md -- LIBERO 数据准备 - experimental/vla/09_envs_init.md -- 环境入口 - experimental/vla/10_action_utils.md -- 动作工具 - experimental/vla/11_libero_env_init.md -- LIBERO 环境入口 - experimental/vla/12_libero_env.md -- LIBERO 环境 - experimental/vla/13_libero_venv.md -- LIBERO 虚拟环境 - experimental/vla/14_libero_utils.md -- LIBERO 工具 - experimental/vla/15_isaac_env_init.md -- Isaac 环境入口 - experimental/vla/16_isaac_env.md -- Isaac 环境 - experimental/vla/17_models_init.md -- 模型入口 - experimental/vla/18_register_vla_models.md -- VLA 模型注册 - experimental/vla/19_modules_mlp.md -- MLP 模块 - experimental/vla/20_openvla_init.md -- OpenVLA 入口 - experimental/vla/21_openvla_constants.md -- OpenVLA 常量 - experimental/vla/22_openvla_configuration.md -- OpenVLA 配置 - experimental/vla/23_openvla_modeling.md -- OpenVLA 模型 - experimental/vla/24_openvla_train_utils.md -- OpenVLA 训练工具 - experimental/vla/25_openvla_processing.md -- OpenVLA 数据处理 - experimental/vla/26_pi0_torch_init.md -- Pi0 Torch 入口 - experimental/vla/27_pi0_configuration.md -- Pi0 配置 - experimental/vla/28_pi0_modeling.md -- Pi0 模型 - experimental/vla/29_pi0_utils.md -- Pi0 工具 - experimental/vla/30_pi0_model.md -- Pi0 模型定义 - experimental/vla/31_paligemma_with_expert.md -- PaliGemma 专家模型 - experimental/vla/32_pi0_policy_init.md -- Pi0 策略入口 - experimental/vla/33_pi0_policy_base.md -- Pi0 策略基类 - experimental/vla/34_pi0_policy_libero.md -- Pi0 LIBERO 策略 - experimental/vla/35_sac_base.md -- SAC 基类 - experimental/vla/36_sac_actor.md -- SAC Actor - experimental/vla/37_sac_replay_pool.md -- SAC 经验回放 - experimental/vla/38_sac_ray_trainer.md -- SAC Ray Trainer - experimental/vla/39_sac_naive_rollout_pi05.md -- SAC Naive Rollout - experimental/vla/40_env_worker.md -- 环境 Worker - experimental/vla/41_env_manager.md -- 环境管理器 - experimental/vla/42_env_loop_wg_test.md -- 环境循环测试


祝你阅读愉快!如果有任何疑问,建议从 00_background_knowledge.md 开始,然后沿着路线 A 快速建立全局视角。