Miles Diffusion扩展展望:Flow-GRPO与DiffusionNFT扩散模型强化学习实现思路

Miles Diffusion扩展展望:Flow-GRPO与DiffusionNFT扩散模型强化学习实现思路 Miles Diffusion扩展展望Flow-GRPO与DiffusionNFT扩散模型强化学习实现思路【免费下载链接】milesMiles is an enterprise-facing reinforcement learning framework for LLM and VLM post-training, forked from and co-evolving with slime.项目地址: https://gitcode.com/GitHub_Trending/miles1/milesMiles 是面向企业级的 LLM/VLM 强化学习RL后训练框架而Miles Diffusionmiles_diffusion正是它为图像与视频扩散模型打造的姊妹分支在同一套训练器下运行Flow-GRPO与DiffusionNFT两大算法。本文将用通俗的方式带你理解这两个算法在 miles_diffusion 中是如何落地的以及未来的扩展方向。Miles 的核心理念是把采样—打分—训练—权重同步做成一个闭环扩散模型分支完整继承了这套设计哲学见 docs/diffusion/index.md。一、为什么扩散模型也需要强化学习扩散模型Stable Diffusion、Wan 等擅长照着提示词画图但对画得准不准、好不好看并不自知。RL 后训练给它装上一个奖励信号文字写对了吗→ OCR 奖励生成图片里的文字与目标字符串比对人觉得好看吗→ PickScore 等人类偏好模型打分奖励分数会反过来调整去噪策略让模型逐步学会生成更符合人类期望的图。二、miles_diffusion 的训练循环四个核心对象每一个 miles-diffusion 训练任务都是一个围绕四个对象的循环所有命令行参数最终都服务于这四个阶段详见 docs/diffusion/user-guide/concepts.md对象职责说明 Prompt 数据集提供提示词JSONL 文件--prompt-data指定 Rollout 引擎把提示词去噪成图/视频由 sglang-diffusion 推理引擎承担⭐ 奖励 Workers给(提示词, 生成结果)打分内置 OCR / PickScore或自定义 FSDP Actor被训练的 DiT 模型通常通过 LoRA 微调每一轮迭代只有三步采样打分 → 展开成训练对并优化 → 把新权重推回 rollout 引擎。对新手来说只要记住图是 rollout 引擎画的奖励是裁判打的梯度只改 LoRA就抓住了 80% 的本质。三、Flow-GRPO 实现思路耦合式CoupledFlow-GRPO是目前主流的选择对应--loss-type policy_loss默认值。它的核心特点是耦合Rollout 阶段用 SDE 步进去噪逐步记录每条轨迹的(x_t → x_{t1})转移训练阶段对完全相同的转移重新打分通过SdeStepBackend计算对数概率用 GRPO 的组内优势归一化 重要性比率更新 LoRA。关键工程细节在于训练侧与 rollout 侧的 SDE 动力学必须严格对齐噪声水平--diffusion-noise-level、去噪步数--diffusion-num-steps、SDE 类型--diffusion-sde-type两边要一致否则会出现 train/rollout 不匹配。官方通过监控train/log_prob_mean_abs_diff指标来验证对齐——数值应保持在1e-4量级以下见 docs/diffusion/advanced/sde-backend.md。另一大亮点是步长策略step strategy一条 10 步去噪轨迹不必每步都训练可以用sde_window随机连续窗口或epoch_global_random_choice每轮随机子集挑选参与训练的步直接节省训练算力。策略实现位于miles/rollout/step_strategy_hub.py。SD3.5 上 Flow-GRPO OCR 的完整配方2 卡、位级确定性可复现见 docs/diffusion/models/sd3/sd3.md快速上手指南在 docs/diffusion/getting-started/quick-start.md。四、DiffusionNFT 实现思路解耦式DecoupledDiffusionNFT对应--loss-type nft走的是解耦路线两者形成鲜明对比维度Flow-GRPODiffusionNFT训练对象rollout 记录的 SDE 转移从最终图像自采时间步动态类型SDE噪声 η≈0.7ODE噪声 0确定性参考模型LoRA 基座KL 约束EMA 滑动平均--use-ema是否需要 SdeStepBackend需要重放 log-prob不需要NFT 的巧妙之处训练时根本不关心 rollout 用了什么采样轨迹而是从最终生成图出发、按 ODE 确定性动态自采训练对因此训练与 rollout 的动态天然解耦超参更稳。代价是需要一个额外的参考模型EMA在 SD3 的 3 卡配方中PickScore 奖励模型独占 1 张 GPU布局表见 docs/diffusion/models/sd3/sd3.md 第 6 节。五、两条算法的训练效果下面是官方记录中的一次 SD3.5 训练曲线左图是 Flow-GRPO OCR文字识别奖励稳步爬升右图是 DiffusionNFT PickScore约 100 个 rollout 后收敛到 0.85 附近这两条曲线也说明了选择逻辑有可验证目标如文字正确性选 Flow-GRPO优化人类偏好像素质量时 NFT 往往更稳。六、扩展性可替换组件 插件点miles_diffusion 把算法设计成可热插拔的组件这是它最值得关注的设计损失函数、训练批准备、rollout 函数、奖励函数全部通过--*-path参数注入完整钩子清单见 docs/diffusion/user-guide/customization.md--loss-type custom_loss--custom-loss-function-path→ 换一个全新算法无需 fork 代码--custom-rm-path→ 接任意奖励模型甚至 HTTP 远程打分服务--diffusion-step-strategy-path/--sde-step-backend-path→ 自定义去噪步选择与训练侧 SDE 核。新模型接入同样轻量只需注册一个TrainPipelineConfig子类LoRA 目标模块、HF checkpoint 命名模式、多组件权重同步映射参考实现如miles/backends/fsdp_utils/configs/sd3.pySD3 家族配置。七、生态现状与未来展望目前已验证的模型覆盖图像SD3.5、Qwen-Image、Cosmos3与视频Wan2.2、LTX-2.3能力矩阵见 docs/diffusion/index.md。几个明确的演进方向DiffusionNFT 全面铺开目前仅 SD3.5 有完整 recipeQwen-Image / Wan / LTX 等还是已实现未验证状态多模态视频奖励音频视频联合生成如 MiniMax H3的 RL 配方已在推进中奖励体系需要跟上USP 序列并行训练目前仅 Wan2.2 支持大视频 DiT 的长序列训练将依赖它与 LLM 主线共享基础设施LoRA CUDA IPC 权重同步、miles router、确定性 E2E 门禁等能力持续从 LLM 侧回流。八、新手上手清单✅ 2 张 GPU 起步python3 scripts/run_diffusion_grpo_sd3_ocr_sglang.py --cuda-visible-devices 6,7✅ 关注三个指标rollout/reward/raw_mean在变好、train/log_prob_mean_abs_diff在 1e-4 内、train/loss稳定✅ 调试用--num-rollout 2先跑通再放大✅ 深入阅读顺序核心概念 → 启动脚本 → 奖励 → 自定义一句话总结miles_diffusion 用耦合的 Flow-GRPO 重放轨迹、解耦的 DiffusionNFT 自采时间步覆盖了扩散模型 RL 的两大范式并靠可替换组件和丰富插件点把接入下一个算法/模型变成了改配置的活儿而非重写框架的活儿。【免费下载链接】milesMiles is an enterprise-facing reinforcement learning framework for LLM and VLM post-training, forked from and co-evolving with slime.项目地址: https://gitcode.com/GitHub_Trending/miles1/miles创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考