Prhub

#21415 [diffusion] fix: fix qwen-image with nunchaku

原始 PR 作者 mickqian 合并时间 2026-03-26 16:31 文件变更 1 提交数 1 评论 8 代码增减 +28 / -8

执行摘要

修复 Qwen-Image 模型与 nunchaku 量化的兼容性问题。

根据 Issue 评论,此 PR 旨在解决 'Qwen-Image 模型与 nunchaku 量化兼容性问题'(引用自 gemini-code-assist[bot] 的总结),确保模型在量化配置下能正常运行,避免权重加载失败或推理错误。

建议从事扩散模型或多模态生成的工程师精读此 PR,以了解 ReplicatedLinear 的集成方式和量化适配模式。特别关注 prefix 参数的设置和 forward 方法的调整,可作为量化兼容性修复的参考案例。

讨论亮点

review 中,gemini-code-assist[bot] 指出两个关键问题:img_mod 和 txt_mod 中的 ReplicatedLinear 的 prefix 参数应设置为 f'{prefix}.img_mod.1' 和 f'{prefix}.txt_mod.1',以匹配 Sequential 模块的索引,确保权重正确加载。评论以高优先级标记,并提供了具体建议代码。但 PR 被合并时未应用这些建议,讨论未进一步展开,可能遗留未解决疑虑。

实现拆解

主要修改文件 qwen_image.py 中的 QwenImageBlock 类:

1) 在 init 方法中,将 to_add_out、to_out、img_mod 和 txt_mod 的 nn.Linear 层替换为 ReplicatedLinear,并传递 quant_config 和 prefix 参数以支持量化。
2) 在 forward 方法中,调整 img_mod_params 和 txt_mod_params 的获取方式,从直接调用改为解包元组(如 img_mod_params, _ = self.img_mod1),以适配 ReplicatedLinear 的多返回值输出。

文件 模块 状态 重要度
python/sglang/multimodal_gen/runtime/models/dits/qwen_image.py multimodal_gen/runtime/models/dits modified 5.0

关键符号

__init__ forward

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

prefix 参数正确性 正确性

gemini-code-assist[bot] 指出 img_mod 和 txt_mod 中的 ReplicatedLinear 的 prefix 参数设置不正确,应为 f'{prefix}.img_mod.1' 和 f'{prefix}.txt_mod.1',以确保权重加载与模型层次结构匹配。

结论:PR 被合并但未应用建议,结论未明确,可能遗留风险。 · unresolved

风险与影响

技术风险包括:

1) prefix 参数设置错误可能导致权重加载失败或模型输出不准确,影响推理结果。
2) forward 方法中解包逻辑调整不当可能引入运行时错误或数据不一致。
3) 缺少显式测试覆盖,无法验证修复在 nunchaku 量化场景下的实际效果。风险主要集中在 qwen_image.py 文件的模型初始化部分。

影响范围:使用 Qwen-Image 模型与 nunchaku 量化的用户,涉及扩散模型的多模态生成功能。影响程度:中等,修复了特定配置下的兼容性问题,但对其他模型或功能无直接影响。系统层面,仅修改了单个模型文件,不会改变整体架构。团队需注意权重加载逻辑的潜在问题。

权重加载错误 缺少测试覆盖

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论