Business Trip: 2601-2602 verl + DanceGRPO
导言
ZJ内部出差,从0到1完成verl + MindSpeed MM + DanceGRPO算法的 t2v RL,达成reward快速持续上升。
家里的时间线¶
- 25/12/13号启动,
- 家里先穿刺DanceGRPO+猛犸2 逻辑
- 两周
时间线/里程碑¶
260109 - 260215
1.首周:了解现场客户的组织架构,对齐各部分进度,合作代码。
- 25/12/13号启动,
- 家里先穿刺DanceGRPO+猛犸2 逻辑
- 客户现场派了一个人,但是进展缓慢
- 0114 我空降临时来,但是进展飞速,率先实现,reward小规模上涨,长跑reward不崩溃。
- 首周:
- 0114: Dataloader整改以支持推理输入;
- 0115-0116: 整合ZJ现场环境,接入MM Model支持初始化;
- 第二周:
- 0119-0122: 单卡/减层/不加载RM RL流程通,但是推理出乱码;
- 0122-0124: 权重转化、推理接入权重转化后权重、全层遇到CANN报错。
- 第三周
- 0126-0126: 更新模型最新结构、正常加载权重,修改推理逻辑分支,能正常推理出图片信息。
- 训练CANN device init报错,通过消融实验,发现是ray DataProto的metainfo只能存储int数据类型,而不能存储tensor对象导致的错误。
- 0127-0128: 依据DanceGRPO算法更新,流程减层通,全层OOM,需要显存分析
- 0130 首步loss非nan,解决microBS无法设置的错误
- 0131 长跑5小时 OOM
- 0202 率先实现 16卡实现小规模奖励上涨。64卡,40步有明显上涨。
- 0204 通过chunk 推理decode阶段,降低显存峰值; 实现 64卡,奖励上涨,20小时,40步,reward有明显上涨
- 0205 长跑 200步后奖励崩溃,尝试换权重、更新分辨率和帧数。
- 0209 发现danceGRPO适配的有问题。训推实现不一致。
- 0210 消融实验发现是GBS要大于64,不然会抖动;
- 0212 消融实验发现CFG,RL要关闭,不然会导致崩溃。
- 0214,修复后拉起精度长跑。
- 首周:
- 新路线()
- 0122: DiffusionNFT原仓,客户不自信路线,之前有猛犸2的客户开发经验。
- 0301: 功能穿刺成功,但是一直reward不能上升,探索后发现是timesteps的采样分布需要靠近降噪后几步。
- 家里版本路线:
- 0126: MM wan2.2 推理OK,首loss不为0
- 0128: 开始长跑reward,陷入僵局。,
- 0301: 后续采样我现场方案,实现了家里版本reward的上涨
- GUI agent RL:
- 0128 减小BS避免OOM问题
- 0131 打通基础NPU,16卡OOM
- 0214 通过峰值显存chunk来优化性能,实现agent rl, npu 1.0x 竞品
反思和总结¶
汇报表达
- 主导字节猛犸3生成模型的RL联创,首创DanceGRPO算法迁移到verl框架,复用框架能力,打破verl只支持LLM/VLM场景的局限;verl接入MindSpeed MM高性能后端,复用diffusion等模块优化,打通SFT-RL到后训练全链路;两周快速在verl t2i任务上实现reward上涨;识别并适配推理decode模块chunk计算、异步RM动态加载打分等优化点,RL单步效率翻倍;主导精度定位,定位并修复CFG、clip和统一noise等导致的长跑崩溃问题,并通过FSDP2同精度训推实现训推一致性,避免长跑崩溃,最终实现春节64卡,14天长跑,reward从0.4到0.9的持续上升;率先在verl的LLM为主的RL框架上,首先实现多模态生成模型的RL有效实践闭环。
- 支持北京抖音审核UniVL理解模型适配AnyRes,Packing负载均衡,Temporal Encoding等关键特性,有效保障客户UniVL模型顺利落地。在版本面做好Qwen3VL等模型的版本能力,交付小艺、字节电商等场景;主导verl接入MindSpeed MM/VeOmni后端,实现后训练快速衔接;作为SE主导多模态RL趋势洞察,并在部门内等场合汇报多次。