ROLL v0.4.0 Release Notes
大家好!感谢大家对 ROLL 的持续关注。ROLL 发布 v0.4.0 版本,新增 Diffusion RL/蒸馏全家桶(FlowGRPO、DiffNFT、DMD、ODE 蒸馏)、Agentic PPO/SAO、veomni / vllm_omni 后端;深化 mcore_adapter 能力(细粒度 MTP、Critic Megatron 后端、KimiK2.5);升级 NCCL offload(colocate 显存让位推理)并强化 RemoteBatch 传输;扩展 Qwen3-Next、torch2.11、PPU 硬件适配。本版本同时合入了开源社区的贡献(Ascend NPU、PPU等)。以下是更新梳理,欢迎加入 ROLL 社区。
🚀 亮点
- 新增 Diffusion RL & 蒸馏 能力:FlowGRPO、DiffNFT、DMD 蒸馏与 ODE 蒸馏 Pipeline
- 新增 Agentic PPO / SAO 训练范式,配套 Megatron Value Head 与 Critic 能力
- 新增 veomni 训练后端 Strategy 与 vllm_omni 推理后端
- 新增 细粒度 MTP 训练模式(
standalone/joint/mtp_only) - 新增 Router Replay 扩展:支持 vLLM 端复用路由决策,并支持 VLM + sequence packing
- NCCL offload 升级为原生 suspend/resume:colocate 场景下推理期将 NCCL 通信显存 offload 干净,把显存留给推理引擎(vLLM / SGLang),提升 GPU 利用率
- 强化 RemoteBatch(TransferQueue) 跨 Worker 传输
🚀 主要新特性
Pipeline
- 新增 Agentic PPO / SAO 训练:Megatron Value Head 支持与 Critic HF checkpoint 保存,示例
- 新增 On-Policy Self-Distillation (OPSD),并在 VLM Pipeline 支持 MOPD,文档
Diffusion
- 新增 DMD 蒸馏 Pipeline(start_dmd_pipeline.py,示例 wan2_1-1.3B_dmd)
- 新增 ODE 蒸馏 Pipeline(start_ode_distillation_pipeline.py,示例 wan2_1-1.3B_ode_distillation)
- 新增 Diffusion RL:FlowGRPO on Qwen-Image(DeepSeek-OCR / GenEval 数据集)与 DiffNFT (
actor_nft_worker). Thanks contribution from Ruiqi Lai - 新增 Diffusion Rollout Pipeline 与断点续训支持;FSDP2 diffusion 训练速度与显存优化(
fsdp2_diffusion_strategy)
Strategy 后端
- 新增 veomni 训练后端(
roll/distributed/strategy/veomni_strategy.py) - 新增 vllm_omni_strategy 支撑 Diffusion rollout
- vLLM external DP 支持
mcore_adapter
- 新增细粒度 MTP 训练模式(
mtp_training_mode):standalone(梯度截断 / Detach)、joint(联合训练)、mtp_only(冻结主模型仅训 MTP),文档,支持 Qwen3.6 MTP stacked MoE - 新增 Critic Worker Megatron 后端(Value Head)
- 新增 MoE 负载监控:hybrid optimizer patch 与专家负载均衡度指标(
expert_distributed_std/max_token_per_expert) - Router Replay (R3/R2) 扩展:支持 packing、VLM,并对齐 vLLM/SGLang
max_num_seqs,文档
性能优化
- Offload 增强:新增 local / local_dedup offload store 后端(
roll/distributed/store/local/)消除DP间冗余weights,降低host mem; - NCCL 优化:原生 NCCL offload、native suspend/resume(
roll/utils/nccl_suspend.py),colocate 场景下 offload 通信显存、提升推理引擎(vLLM / SGLang)GPU 利用率 - RemoteBatch / TransferQueue:统一切换所有 Worker 到 DP_MP_COMPUTE + TQ 预取,文档
- Sequence Packing 默认开启,新增packing ratio相关metrics
Models
- 新增 KimiK2.5 模型支持(
mcore_adapter/src/mcore_adapter/models/kimi_k25/)
Docker & Hardware
- 新增 torch2.11 + vLLM 0.23.0 镜像(
docker/Dockerfile.torch2110) - 新增 PPU 适配:
Dockerfile.torch2100.vllm.ppu镜像与requirements_torch2100_vllm_ppu.txt
🤝 社区贡献合入
本版本基于开源社区 main 分支构建,合入了以下社区贡献,感谢各位社区同学:
- Ascend NPU:Docker 安装升级、NPU 文档更新、decord 依赖切换为 decord2
- PPU:新增带 SAIL pypi 源的 ROLL PPU dockerfile
- 修复:scheduler 在
get_batch_opt_level_0下丢失multi_modal_data;短响应跳过 advantage whitening;VisionTemplate 与 rope_parameters 集成;CI 稳定性修复
⚠️ 升级须知(Breaking Changes)
- 移除
roll/utils/offload_nccl.py,NCCL offload 请使用原生 suspend/resume(roll/utils/nccl_suspend.py)
Deprecated
- torch2.5.1 / torch2.6.0:移除
Dockerfile.torch251.*、Dockerfile.torch260.*及requirements_torch260_{diffsynth,sglang,vllm}.txt,同时移除 vllm<0.11.0(vllm_0_8_4/vllm_0_10_2/vllm_0_12_0的 ray_distributed_executor patch)与 sglang 0.4.6(v046post4_patch)相关适配 - 移除 torch280 AMD 镜像(
Dockerfile.torch280.vllm.AMD) - 移除 DeepSpeed 残留代码、配置及相关测试(checkpoint / log_probs 对比)