从v0.1到v0.2.1:Qwen-Image-2.1-viggle-turbo完整演进史,96组实测数据看懂少步生图进化
发布时间:2026/10/2 7:06:30 作者:尧图编辑部 阅读量:1,286

从v0.1到v0.2.1Qwen-Image-2.1-viggle-turbo完整演进史96组实测数据看懂少步生图进化【免费下载链接】Qwen-Image-2.1-viggle-turbo项目地址: https://ai.gitcode.com/hf_mirrors/Viggle/Qwen-Image-2.1-viggle-turboQwen-Image-2.1-viggle-turbo 是 Viggle 基于 Qwen-Image-2.1 用 DMDDistribution Matching Distillation蒸馏出的少步生图 LoRA文生图和 1–3 张参考图编辑只需6 步基础模型要 40 步端到端约5 倍速且全程无需 CFG。本文带你完整复盘它从 v0.1 到 v0.2.1 的三代演进并用官方 96 组留出实测数据讲清楚蒸馏学生模型到底追上了老师多少。1️⃣ 它是什么给 Qwen-Image-2.1 装上少步生图外挂一句话一个加载在基础模型上的蒸馏 LoRA 适配器同时干两件事文生图纯文字提示词生成图像️指令式图像编辑给 1–3 张参考图 一句指令如把背景换成日落海滩主体不变核心卖点是速度基础模型跑 40 步它只跑6 次 transformer 前向无 CFG每步只需一次模型调用整体约快 5 倍且在官方 Qwen 示例上多数提示词下难以与基础模型分辨。蒸馏配方DMD2 / SenseFlow 式分布匹配 提示词增强后的教师目标LoRA 作用在注意力、图像 MLP、modulation 和时间步嵌入投影上训练 700 步全程不合并进 transformerbf16 合并是有损的运行时加载才是精确的。2️⃣ 版本演进路线v0.1 → v0.2 → v0.2.1三个版本都保留在仓库中方便复现对比但官方明确推荐只用 v0.2.1版本发布训练进度采样步数交付文件状态v0.1早期4 步训练4 步LoRA r64 全量微调transformer/仅留档参考v0.22026-09-23step 600首发 5 步同权重 6 步亦可LoRA r256/r128 peft_v0.2/仅留档参考v0.2.12026-09-24step 700EMA6 步LoRA r256/r128 peft_v0.2.1/✅ 当前推荐关键细节v0.2 与 v0.2.1 来自同一条训练 runv0.2.1 只是多训了 100 步、同一配方、同一 6 步调度——升级几乎是白捡的。3️⃣ 96组实测数据v0.2.1 到底追上基础模型多少官方在 96 条留出用户请求文生图 编辑混合上与 40 步基础模型配官方提示词增强逐项对比指标v0.1 LoRA r64v0.1 全量微调v0.2.1 r256 · 6步v0.2 r256 · 6步v0.2 · 5步v0.2 · 4步采样多样性相对基础模型¹0.750.720.980.970.930.89构图漂移相对基础模型²−0.019−0.0330.000−0.0010.0000.002布局与基础模型明显不同的提示词占比³——0%0%4%—三个指标怎么用大白话理解采样多样性同一提示词换 8 个随机种子出图之间差异有多大以基础模型的 1.00 为基准。v0.1 的典型病症是种子坍缩——换种子也出几乎一样的布局v0.2.1 达到 0.98基本恢复基础模型的随机性。构图漂移同一种子下主体位置相对基础模型输出的水平偏移单位图宽0 就是放在老师放的位置。布局差异占比96 条请求里构图肉眼可见不同的比例。v0.2.1 相比 v0.2 的进一步收益锐度 0.0199 vs 0.0187Laplacian 指标多样性 0.98 vs 0.97构图漂移同样为 0。还有一处基础模型仍领先小面积、密集文字的渲染8 步调度可缩小差距复杂编辑见下文已知限制。4️⃣ 为什么是 6 步必须知道的采样调度规则这是全项目最容易被踩坑的部分官方给出了明确的操作规则标准配置num_inference_steps6sigmas[1.0, 0.9375, 0.875, 0.75, 0.5, 0.25]true_cfg_scale1.0不加负提示词。这些是原始 sigma 节点任何分辨率下都照抄管线会自动做分辨率相关的时间偏移。➕改步数只动高噪端构图在 raw sigma 1→0.875 之间决定低噪节点0.875, 0.75, 0.5, 0.25是学生被训练落点动它们整图会变软锐度从 0.020 掉到 0.014。实测5 步→4% 提示词构图漂移6 步→0%7 步→0% 但肉眼无进一步提升。密集文字场景加到 8 步sigmas[1, 0.9375, 0.875, 0.75, 0.625, 0.5, 0.25, 0.125]小字明显更干净。⚙️必须用随附调度器scheduler/scheduler_config.jsonshift_terminal被改为null基础配置的0.02会毁掉最后一步。别叠两个学生LoRA 盖在微调 transformer 上、或两个 LoRA 同开LoRA scale 保持 1.0。️参考图顺序即编号列表第 1 张就是提示词里的image 1/image1不指定尺寸时输出比例跟随最后一张参考图ComfyUI 里是跟随第一张。建议开提示词重写学生是对增强后的教师目标蒸馏的官方 PE-T2I / PE-I2I 重写器对构图和文字渲染都有帮助。训练分辨率重心文生图在 1024²/2048² 像素面积编辑在 1024²/1536² 面积训练其他尺寸可用但这两个区间质量最稳如 16:9 对应 1376×768、2720×1536。5️⃣ 快速上手如何加载 v0.2.1 少步生图 LoRA环境详见 README.md Install 节pip install -U torch transformers5.17,6 accelerate safetensors peft pillow # diffusers 需要 README 中钉住的 git 版本QwenImage21Pipeline 尚未进入官方发行版加载与生成核心就三步pipe QwenImage21Pipeline.from_pretrained(Qwen/Qwen-Image-2.1, dtypetorch.bfloat16) pipe.load_lora_weights(Viggle/Qwen-Image-2.1-viggle-turbo, weight_nameQwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r256.safetensors) pipe.scheduler FlowMatchEulerDiscreteScheduler.from_pretrained( Viggle/Qwen-Image-2.1-viggle-turbo, subfolderscheduler) # 文生图num_inference_steps6, sigmas[1.0,0.9375,0.875,0.75,0.5,0.25], true_cfg_scale1.0 # 编辑再加 image[参考图列表]output_resolution1024完整调用示例见 README.md 的 Usage 与 Rules that matter 小节。peft用户也可以直接加载 peft_v0.2.1/adapter_model.safetensors训练原始 F32 精度键名不同二选一即可其超参可见 peft_v0.2.1/adapter_config.jsonr256, lora_alpha256目标模块为to_q/to_k/to_v/to_out.0、img_mlp.*、modulation.1、timestep_embedder.linear_*。6️⃣ ComfyUI一键拖入少步生图工作流仓库内置完整的 ComfyUI 方案已适配 0.37.0 的原生 Qwen-Image-2.1 支持comfyui/viggle_turbo.py复制到ComfyUI/custom_nodes/后重启新增两个节点comfyui/Qwen-Image-2.1-viggle-turbo-t2i.json文生图工作流拖入即用comfyui/Qwen-Image-2.1-viggle-turbo-edit.json编辑工作流示例参考图 comfyui/input/woman2.webp 与 comfyui/input/cat.webp 复制到ComfyUI/input/两个自定义节点为什么不能省节点作用为什么内置 LoRA 加载器不够Viggle Turbo Sigmas按输出分辨率动态偏移后的 6 步调度标准 KSampler 调度器与训练节点不一致Viggle Turbo LoRA (unmerged)运行时按Wx BAx旁路施加 LoRA内置加载器会把 LoRA 合并进权重bf16 下平均只保留约 70% 的更新量int8 下再加约 4 倍量级的重量化噪声同一批请求、同噪声下的 LPIPS 距离越小越接近 diffusers 参考transformer内置合并加载未合并节点无 LoRA 本底差距bf160.0930.0520.033int80.0860.0380.045显存参考int8 transformer int8 文本编码器 r128 LoRA 提示词增强全开1248×832 输出峰值约26 GB VRAMbf16 文件可无缝替换。代价是未合并节点每步多约 10–25% 耗时strength 保持 1.0。7️⃣ r128 vs r256体积减半的 LoRA 值得吗r128 文件不是重新训练而是对 r256 更新量做逐层精确 SVD 截断Eckart–Young 意义下的最优秩 128 近似每层保留更新能量83–100%中位数 95%丢弃部分不到基础权重的 0.05%96 组留出请求上r128 与 r256 出图 LPIPS 差0.0244——而把 r256 原样重分解什么都不变只有浮点舍入就有 0.0239 的差异说明 r128 基本贴在地面上作为对照 r64 是 0.0267结论ComfyUI 用 Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r128.safetensors680 MB省一半显存/下载损失可忽略追求极限保真选 Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r256.safetensors1.3 GBbf16。8️⃣ 已知限制与版本选择建议诚实的边界官方 Known limitations⚠️复杂编辑仍会输给 40 步基础模型多参考图合成、换脸、身份保持类编辑仍可能出现重影/复制主体保持不变类请求可能身份漂移比 v0.1 罕见得多⚠️ 小字/长文字更容易乱码密集文字场景建议切 8 步⚠️ 2K 输出只有肉眼对比没有数值结论RGBA、蒙版编辑、5–10 张参考图可用但未测量⚠️ 文中指标为团队自测96/32 条留出请求不引用标准 benchmark怎么选场景推荐日常文生图 / 编辑diffusersv0.2.1 r256 · 6 步ComfyUIv0.2.1 r128 未合并 LoRA 节点 · 6 步海报/密集文字v0.2.1 · 8 步v0.1 / v0.2 文件仅复现研究用无使用理由⚖️ 许可提醒本模型为 Qwen-Image-2.1 的衍生作品采用Qwen RESEARCH LICENSE见 LICENSE仅限非商业研究与评估商业使用需向权利方另行申请授权署名要求见 NOTICE。9️⃣ 仓库文件速查表文件说明Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r256.safetensors✅ 推荐主力v0.2.1 LoRAr256, bf16, 1.3 GBQwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r128.safetensorsr128 截断版680 MBComfyUI 默认peft_v0.2.1/v0.2.1 同权重的 peft 键格式训练原始 F32Qwen-Image-2.1-viggle-turbo-v0.2-5step-lora-r256.safetensors、Qwen-Image-2.1-viggle-turbo-v0.2-5step-lora-r128.safetensors、peft_v0.2/v0.2step 600留档参考用法同 v0.2.1Qwen-Image-2.1-viggle-turbo-4step-lora-r64.safetensors、peft/、transformer/v0.1 LoRA r64 与全量微调 transformertransformer/config.json32 层、64 通道、128 注意力头维留档参考scheduler/scheduler_config.json随附调度器shift_terminal: null采样必须使用comfyui/自定义节点、文生图/编辑工作流、示例参考图LICENSE、NOTICE非商业研究许可与署名要求【免费下载链接】Qwen-Image-2.1-viggle-turbo项目地址: https://ai.gitcode.com/hf_mirrors/Viggle/Qwen-Image-2.1-viggle-turbo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考