
Qwen-Image-2.1-viggle-turbo如何实现5倍加速DMD2少步蒸馏与SenseFlow段内引导全拆解Qwen-Image-2.1-viggle-turbo是 Viggle 基于 Qwen-Image-2.1 训练的少步蒸馏加速版 AI 绘图 LoRA 适配器只需6 次 transformer 前向传播原版需 40 步端到端提速约5 倍同时支持文生图与 1–3 张参考图驱动的图像编辑全程无需分类自由引导CFG。本文完整拆解其 DMD2 蒸馏与 SenseFlow 段内引导两大核心技术并给出可直接落地的 6 步采样参数与 ComfyUI 工作流配置。一、项目速览40 步到 6 步快在哪里 传统扩散模型生一张图要迭代采样几十步每一步都要完整跑一遍大模型这是显存和时间消耗的大头。viggle-turbo 的思路是训练一个学生模型让它学会用 6 步逼近 40 步老师模型的效果。对比项基础模型 Qwen-Image-2.1viggle-turbo v0.2.1采样步数40 步6 步CFG 引导需要每步双倍前向不需要true_cfg_scale1.0端到端速度基准约快 5 倍质量基准绝大多数提示词下难以分辨差异文件形态完整模型LoRA 适配器r256 约 1.3 GB / r128 约 0.7 GB官方在 96 条留出用户请求上的实测数据见 README.mdv0.2.1 的采样多样性达到基础模型的0.98 倍构图漂移为0%布局与基础模型一致。二、核心技术一DMD2 少步蒸馏Distribution Matching DistillationDMD2Yin et al., 2024的核心思想不是让学生逐像素模仿老师的输出而是匹配两者的分布让 6 步学生生成的图像在整体统计分布上与 40 步老师采样出的图像分布一致。具体到本项目学生形态是一个LoRA 适配器rank 256叠加在基础模型 transformer 之上覆盖注意力投影、图像 MLP、调制层和时间步嵌入等关键模块模块清单可查 peft_v0.2.1/adapter_config.json训练时叠加了提示词增强PE后的教师目标——老师输出的不是裸提示词下的结果而是官方 PE-T2I / PE-I2I 重写器增强后的目标因此推理时建议开启提示词增强ComfyUI 工作流中自带该选项组LoRA不合并进 transformer合并到 bf16 有损平均只保留约 70% 的更新量运行时加载才是无损的。这也是 ComfyUI 里需要专门节点的原因见第五节。蒸馏带来的直接收益步数从 40 降到 6transformer 前向次数减少 85% 以上去掉了 CFG——原本每步要跑有条件 无条件两次前向true_cfg_scale1.0后只剩一次单步成本直接再降近一半。两者叠加就是端到端约 5 倍的加速来源。三、核心技术二SenseFlow 段内引导纯少步蒸馏有个经典副作用4 步直接 rollout 会出现细节丢失、重影ghosting和构图漂移。v0.2/v0.2.1 的解法是SenseFlow 风格的段内引导intra-segment guidance在训练目标中把学生在自己每个采样段内的速度场回归到老师对应的速度场上。通俗地说学生不再只是结果像老师而是在每一步的走法上都向老师看齐这样少步采样时的轨迹不会乱飘。效果体现在实测指标上——v0.2 之后构图漂移降到 0%种子多样性恢复到基础模型的 0.98 倍v0.1 只有 0.75 倍。另一个关键细节是采样调度的切分规则训练用 4 步节点linspace(1, 1/4, 4)推理时把最高噪声的段1 → 0.75切成 3 份得到 6 步调度[1.0, 0.9375, 0.875, 0.75, 0.5, 0.25]。为什么这么做因为构图在 raw sigma 1 到 0.875 之间就决定了高噪声端一个大步会导致布局漂移而低噪声节点0.75, 0.5, 0.25是学生被训练落点不能乱动。四、文件结构与核心权重选择 仓库内各版本文件及用途如下文件 / 目录说明Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r256.safetensors推荐使用。v0.2.1 LoRArank 256 / alpha 256bf161.3 GBQwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r128.safetensorsr256 经逐层精确 SVD 截断Eckart–Young 最优近似680 MBLPIPS 差异 0.0244 已接近噪声底peft_v0.2.1/同一适配器的 peft 键格式版本训练时 F32可用load_lora_adapter直接加载comfyui/ComfyUI 自定义节点 文生图/编辑两套现成工作流 示例参考图scheduler/scheduler_config.json必须使用的调度器配置shift_terminal从基础模型的 0.02 改为null否则会毁掉最后一步Qwen-Image-2.1-viggle-turbo-v0.2-5step-lora-r256.safetensorsv0.2同训练 run 的 step-600保留供复现Qwen-Image-2.1-viggle-turbo-4step-lora-r64.safetensors / transformer/v0.1 遗留产物无需使用⚠️ 注意文本编码器、VAE、processor 不在本仓库分发运行时从基础模型仓库加载切勿叠加两个学生LoRA 全量微调 transformer 不能同时上。五、安装与 6 步采样黄金法则 ⚙️依赖安装pip install -U torch transformers5.17,6 accelerate safetensors peft pillow pip install githttps://github.com/huggingface/diffusers.git80c7ed262aeffbeb43ef13ae04baeb9b84515a69加载 LoRA 后以下四条规则每一条都会实打实影响出图质量摘自 README.md 的 Rules that matter步数与节点绑定num_inference_steps6sigmas[1.0, 0.9375, 0.875, 0.75, 0.5, 0.25]。这是raw sigma 节点pipeline 会对它应用分辨率相关的时间偏移任何分辨率都原样传入。改步数只动高噪声端保留0.875, 0.75, 0.5, 0.25只均匀切分1 → 0.875。5 步[1, 0.875, 0.75, 0.5, 0.25]有 4% 提示词构图漂移6 步为 0%7 步[1, 0.9583, 0.9167, 0.875, 0.75, 0.5, 0.25]与 6 步无肉眼差别。用其他步数的均匀linspace或加 CFG 都不有帮助。用仓库自带的调度器配置或设shift_terminalNone基础配置里的shift_terminal: 0.02会毁掉最后一步。LoRA 强度保持 1.0alpha 等于 rank。其他要点参考图顺序决定提示词中image 1 / image 2的指代最多 3 张参考图不指定height/width时输出长宽比跟随最后一张参考图ComfyUI 中跟随第一张密集小文本场景推荐 8 步sigmas[1, 0.9375, 0.875, 0.75, 0.625, 0.5, 0.25, 0.125]小字清晰度明显更好。六、ComfyUI 工作流两个节点 无损 LoRA ️comfyui/ 目录提供了完整开箱方案已用 ComfyUI 0.37.0 验证viggle_turbo.py —— 两个自定义节点复制到ComfyUI/custom_nodes/后重启Viggle Turbo Sigmas内置 6 步调度并自动应用分辨率动态偏移替代 KSampler 的标准 scheduler配合 euler BasicGuider无 CFG、无负提示词使用Viggle Turbo LoRA (unmerged)以y Wx BAx的旁路方式在运行时应用 LoRA。ComfyUI 原生 LoRA 加载器会把权重合并bf16 下平均只保留约 70% 的更新量int8 下重量化引入约 4 倍于更新量的噪声实测 LPIPS 差距明显0.093 vs 0.052。未合并节点每步多 10–25% 耗时但精度对齐 diffusers 基准。Qwen-Image-2.1-viggle-turbo-t2i.json / Qwen-Image-2.1-viggle-turbo-edit.json —— 拖入 ComfyUI 即可运行的文生图与编辑工作流各带设置说明和可选提示词增强组。显存参考工作流默认 int8 transformer int8 文本编码器 r128 LoRA 提示词增强全开1248×832 出图峰值约26 GB VRAM想更稳可换 bf16 文件体积翻倍。七、文生图与图像编辑速览 ✨文生图训练集中在 1024² 与 2048² 面积档位覆盖 1:1、4:3、16:9 等常用比例完整分辨率对照表见 README.md图像编辑传入 1–3 张参考图 指令即可如把背景换成日落海滩主体保持不变。训练分辨率集中在 1024² 与 1536² 面积参考图统一按 1024² 面积编码推荐开启官方 PE 提示词重写T2I 用 PE-T2I、I2I 用 PE-I2I学生是对提示词增强后的教师目标蒸馏的配上重写器在构图和渲染文字上收益最明显。八、已知局限与许可证说明 ⚠️客观来看v0.2.1 在复杂编辑场景仍落后于 40 步基础模型多参考图合成、换脸、身份保持类编辑仍可能产生重复/重影人物小字或长文本渲染比基础模型更容易乱码8 步可显著缓解2K 输出质量仅有目测对比无量化指标。许可证本模型基于 Qwen-Image-2.1 的衍生作品采用 Qwen 研究许可证见 LICENSE 与 NOTICE仅限非商业用途研究或评测商用需另行取得授权。九、总结Qwen-Image-2.1-viggle-turbo 用一套非常干净的组合拳实现了 5 倍加速DMD2 分布匹配蒸馏把 40 步压缩到 6 步SenseFlow 段内引导保住了少步采样的细节与构图稳定性再配合无 CFG 单向前向和运行时不合并 LoRA两个工程细节把损失压到最低。对新手而言抓住三件事就能正确用上它6 步 指定 sigma 节点、自带 scheduler 配置、LoRA 强度 1.0。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考