【免费下载链接】verl-omniMultimodal RL training framework for diffusion omni models项目地址https://gitcode.com/gh_mirrors/ve/verl-omni点击查看免费下载DiffusionOPDDiffusion On-Policy Distillation扩散模型在线策略蒸馏是 VeRL-Omni 提供的多教师在线策略蒸馏训练能力冻结的教师模型在学生自己采样的去噪轨迹上逐步评分学生只需最小化distill_kl损失即可在几十步内达到教师水平——无需在损失中使用奖励收敛速度远超纯强化学习。 一句话理解教师的指导不再发生在教师自己生成的样本上而是发生在学生真正走过的每一步上。为什么需要在线策略蒸馏训练扩散模型生成图像时传统路线各有明显短板训练方式监督信号核心痛点Off-policy 蒸馏教师生成数据训练/推理状态分布不匹配学生学不到自己会到的状态纯奖励 RL如 FlowGRPO稀疏的 outcome 分数每个 prompt 只给一个分数梯度信息极其稀疏DiffusionOPD 在线蒸馏逐步、稠密、连续学生在自己的轨迹上学习每步都有教师监督在扩散模型中一次 rollout 是一条反向 SDE 轨迹。学生采样图像时会保存所有中间状态(all_latents[t], all_timesteps[t])冻结的教师随后在自己的 transformer 上回放这些状态输出下一步转移分布的均值teacher_prev_sample_mean。由于两侧都是同方差的高斯分布每步的 KL 散度有闭式解即distill_kl损失KL(p_θ ∥ p_teacher) ‖μ_θ − μ_teacher‖² / (2σ_t²)这相当于 LLM 在线蒸馏中对齐 next-token log-probability的扩散版类比学生把每一步的转移均值向教师靠拢。多教师如何协同DiffusionTeacherManager 的四步流水线多教师场景比如一个 OCR 专家 一个美学专家是 DiffusionOPD 的核心亮点。核心调度器DiffusionTeacherManager将教师评分实现为训练步中的一个阶段——位于奖励计算之后、actor 更新之前一个批次依次经过四步Route路由按批次中teacher_key指定的列默认data_source把每条样本分给对应教师。单教师时跳过此列键匹配不上会直接报错而不是静默错路由。Split and Pad切分与填充批次按教师拆分为子批次并用行重复填充到world_size × 评分 micro-batch的整数倍保证每个数据并行 rank 都分到非空且均等的前向分片。Score并发评分所有子批次先全部派发、再等待结果因此多个教师并发评分。每个教师用自己的 transformer 回放学生状态返回逐步转移均值。Reassemble重组去掉填充、拼接、恢复输入行顺序最终把teacher_prev_sample_mean合并回批次。路由和填充都发生在 driver 侧因此教师无论共置在 actor 的 GPU 上还是独立 GPU 池看到的输入、产出的输出完全一致——教师放置纯粹是资源决策。实现代码见 verl_omni/trainer/diffusion/teacher_manager.py。关键配置参数速查完整参数说明在算法文档 docs/algo/diffusion_opd.md 中配置数据类定义在 verl_omni/workers/config/diffusion/distillation.py。最常用的一组开关参数作用默认值distillation.enabled开启在线蒸馏构建冻结教师falsedistillation.teacher_key多教师路由所依据的批次列data_sourcedistillation.teacher_models.name.key/model_path每个教师的身份标识与检查点路径必填distillation.nnodes/n_gpus_per_node教师独立 GPU 池规模0表示与 actor 共置0distillation.scheduler评分时机inline或one_step_offinline⚠️多教师踩坑提示当配置多个命名教师时约定俗成的teacher_model条目会被静默移除。要么只保留它一个要么重命名如teacher_model1后再添加其他教师——完整错误/正确示例见 docs/algo/diffusion_opd.md 的 Configuration Parameters 一节。另外教师与 reference model 一样被融合进 actor worker第三个冻结、只前向的引擎。三者actor、reference、teacher可以并存因此蒸馏还能叠加对初始策略的 KL 惩罚。损失侧怎么接纯蒸馏 vs 蒸馏 任务奖励蒸馏损失位于actor_rollout_ref.actor之下两种用法# 纯蒸馏KL 是唯一体目标任务奖励只做监控 distillation: enabled: true teacher_models: teacher_model: model_path: /ckpt/sd35m-teacher actor_rollout_ref: actor: diffusion_loss: loss_mode: distill_kl use_kl_loss: false# 蒸馏 任务奖励如 flow_grpo reference-KL 惩罚 actor_rollout_ref: actor: diffusion_loss: loss_mode: flow_grpo use_distill_loss: true distill_loss_mode: distill_kl distill_loss_coef: 1.0 use_kl_loss: true kl_loss_coef: 0.04启动时会做双向校验开了教师却没启用蒸馏损失或反之会被直接拒绝。注意 LoRA 学生需保持lora_rank: 0才能与 reference 并存LoRA actor 会把 reference 折叠进自身。one_step_off把教师评分藏进异步管线默认inline调度下教师评分是训练步的串行阶段在 SD3.5-Medium 上实测教师阶段约占每步时间的14%24%。v1separate_async训练器 独立教师池可以开启scheduler: one_step_off第k步采样的批次立刻派发给教师评分演员同时在第k−1步批次上更新轮到该批次更新时才回收评分结果。教师阶段因此离开关键路径只剩下残余等待timing_s/wait_prev_teacher接近 0 即表示完全隐藏。由于教师是冻结的延迟评分不会引入任何教师侧陈旧性。该调度的四个前置条件独立池、sync_compatible: false、num_warmup_batches 2等都在启动时检查配置错误会当场报错而非拖到第一步。实战SD3.5-Medium 的 OCR 单教师与多教师配方仓库提供了两套可直接运行的 v1 训练器main_diffusion_v1sync模式脚本说明文档见 examples/diffusionopd_trainer/README.md单教师 OCR 蒸馏examples/diffusionopd_trainer/sd35/run_sd35_medium_ocr_distill.sh —— SD3.5-Medium 学生从一个 OCR 调优教师蒸馏3 卡即可跑2 卡 actor rollout 与教师共置、1 卡奖励模型服务TEACHER_PATH/path/to/merged-teacher \ bash examples/diffusionopd_trainer/sd35/run_sd35_medium_ocr_distill.sh多教师混合任务examples/diffusionopd_trainer/sd35/run_sd35_medium_mopd_distill.sh —— OCR PickScore 双教师按data_source列把每行路由到对应教师混合任务奖励由 examples/diffusionopd_trainer/sd35/mixed_task_reward.py 统一计算。教师检查点要求与学生同管线族、同调度器配置的完整 diffusers 检查点LoRA 需先用merge_and_unload合并教师从不加载 adapter。预期效果与监控指标跑起来后重点观察三个指标指标含义健康曲线actor/distill_kl_loss学生与教师逐步转移均值的 KL第 1 步明显为正约 40 步内下降一个数量级验证 OCR 奖励仅监控、不进损失数十步内从基座水平升至教师水平timing_s/teacher每步一次教师评分阶段耗时共置部署下的固定开销结论DiffusionOPD 用教师对学生自身轨迹的稠密逐步监督取代了稀疏奖励信号——在 SD3.5 上蒸馏不需要奖励进损失就能让学生达到教师水平且步数远少于重新跑一遍 FlowGRPO。配合多教师路由与one_step_off异步调度这套方案同时解决了学什么与快多少两个问题。延伸阅读在线蒸馏的完整参数与调度细节见 docs/algo/diffusion_opd.mdv1 分离异步训练器的工作方式见 docs/algo/separate_async_omni.md。赞分享【免费下载链接】verl-omniMultimodal RL training framework for diffusion omni models项目地址https://gitcode.com/gh_mirrors/ve/verl-omni点击查看免费下载相关推荐openPangu-Embedded-7B知识蒸馏教师-学生模型训练策略openPangu Embedded 7B知识蒸馏教师 学生模型训练策略 引言大模型压缩的迫切需求 在人工智能快速发展的今天大型语言模型Large La大模型基础模型模型推理服务CANNCANN/asc-devkit Load3DBitMode APILoad3DBitModea nameZH CN_TOPIC_0000002517284408 /a 产品支持情况a namesection15人工智能深度学习算子库CANNAscend模型蒸馏PaddleSeg PaddleSlim实战教程从教师模型训练到学生模型蒸馏全流程模型蒸馏PaddleSeg PaddleSlim实战教程从教师模型训练到学生模型蒸馏全流程 模型蒸馏是 PaddleSeg 中基于 PaddleSli人工智能计算机视觉预训练创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考