CoolFace
Modelpublic

wwdsada/qwenimage21gguf

sourceHugging Faceotherupdated 5d agoView on Hugging Face
2likes1.8kdownloads
Model Card

Qwen-Image-2.1 — GGUF

Qwen-Image-2.1 扩散模型(DiT)的 GGUF 量化版本, 面向 stable-diffusion.cpp 与 ComfyUI-GGUF 的低显存推理。

⚠️ 本仓库仅包含 DiT(扩散模型)权重。文本编码器与 VAE 需另外获取,见 配套组件。

关于 Qwen-Image-2.1

  • —统一的文生图 + 图像编辑模型
  • —视觉生成组件 7B 参数、32 层 Single-Stream DiT
  • —混合粒度注意力 + prefix KV cache 复用,兼顾质量与推理效率
  • —支持原生 RGBA 透明图生成与编辑
  • —图像编辑最多支持 10 张参考图,可用圈选 / 涂鸦 / 遮罩指定局部编辑
  • —调度器:Flow Matching + Euler discrete(dynamic shifting)

量化档位

全部档位均为 265 个张量、7.115 G 参数。源模型 265 个张量全部为 BF16; 转换时其中 65 个 1D norm 张量被提升为 `F32`(32× attn.norm_q.weight、 32× attn.norm_k.weight、1× txt_in.text_norm.weight),这是对 QK-Norm 的精度保护, 属无损位宽扩展(BF16 左移 16 位补零 → F32,数值零损失),并非量化误差。 量化档位另有 3 个敏感张量保持 BF16:img_in.weight、txt_in.in_layer.weight、 txt_in.out_layer.weight(量化器按 img_in. / txt_in. 前缀硬编码排除)。

M / S / L 的差别只在一处:32 个 `attn.to_v.weight` 被升一级。 img_mlp.out.weight 不匹配任何 ffn_down 规则,所以留在基础档。升级规则(源码 img_tensor_get_type):

档位`to_v` 升级为实测
Q5KM / Q4KM全部 → Q6_KQ6_K × 32
Q3KL全部 → Q5_KQ5_K × 32
Q3KM前 2 个 → Q5K,其余 Q4KQ4K × 30 + Q5K × 2
Q4KS前 4 个 → Q5K,其余 Q4KQ4K × 28 + Q5K × 4
Q2_K全部 → Q3_KQ3_K × 32
Q80 / Q6K / Q5KS / Q3KS不升级无
"前 N 个" 按 GGUF 内张量写入顺序(字典序)计数,所以实际是第 0、1、10、11 层, 不是第 0~3 层。这一点常被误读。
文件大小量化类型分布说明
qwen-image-2.1-BF16.gguf13.25 GiBBF16 200 / F32 65无损基准,体积最大
qwen-image-2.1-Q8_0.gguf7.07 GiBQ8_0 197 / BF16 3 / F32 65质量最接近原版,首选
qwen-image-2.1-Q6_K.gguf5.47 GiBQ6_K 197 / BF16 3 / F32 65质量与体积平衡
qwen-image-2.1-Q5_K_M.gguf4.66 GiBQ5K 165 / Q6K 32 / BF16 3 / F32 65比 Q5KS 略好
qwen-image-2.1-Q5_K_S.gguf4.60 GiBQ5_K 197 / BF16 3 / F32 65
qwen-image-2.1-Q4_K_M.gguf3.90 GiBQ4K 165 / Q6K 32 / BF16 3 / F32 65推荐,质量损失小
qwen-image-2.1-Q4_K_S.gguf3.78 GiBQ4K 193 / Q5K 4 / BF16 3 / F32 65性价比不如 Q4KM
qwen-image-2.1-Q3_K_L.gguf3.03 GiBQ3K 165 / Q5K 32 / BF16 3 / F32 65
qwen-image-2.1-Q3_K_M.gguf2.97 GiBQ3K 165 / Q4K 30 / Q5_K 2 / BF16 3 / F32 65
qwen-image-2.1-Q3_K_S.gguf2.90 GiBQ3_K 197 / BF16 3 / F32 65不推荐
qwen-image-2.1-Q2_K.gguf2.28 GiBQ2K 165 / Q3K 32 / BF16 3 / F32 65极限压缩,画质损失明显

各档位实测质量

以原生 bf16 safetensors 为基准,抽样 11 个张量(覆盖 attn q/out、imgmlp、txtin、 imgin/projout 及 F32 提升张量)反量化比对:

档位余弦相对 RMSE最大绝对误差
BF161.00000000.000%0.00000
Q8_00.99997250.742%0.00598
Q6_K0.99973862.287%0.02393
Q5KM / Q5KS0.99899874.475%0.06301
Q4KM / Q4KS0.99609658.839%0.10559
Q3KL / Q3KM / Q3KS0.983617418.246%0.26800
Q2_K0.941586035.453%0.35107

两个值得注意的点:

  • —`img_in.weight`、`txt_in.in_layer.weight`、`txt_in.out_layer.weight` 误差恒为 0.000% —— 它们是保 BF16 的 3 个张量;attn.norm_q.weight、txt_in.text_norm.weight 同样为 0.000% —— 它们是 F32 提升张量,不参与量化。
  • —M 版与 S 版在抽样上误差相同,因为差异只落在 attn.to_v.weight 这 32 个张量上, 而抽样误差统计的是最大值,被未升级的大张量主导。M 版的收益体现在 to_v 上。

与原生 bf16 的等价性(已逐张量验证)

以 Comfy-Org/Qwen-Image-2.1 的 diffusion_models/qwen_image_2.1_bf16.safetensors (14,230,280,616 B)为基准,对 qwen-image-2.1-BF16.gguf(14,230,294,688 B)做全量比对:

检查项结果
张量名 / 数量 / 顺序265 / 265,完全一致
200 个 BF16 张量数据逐字节 100% 相同
65 个 F32 张量数据100% 等于 BF16 无损扩展(左移 16 位补零),非量化
参数量7.115 G,完全相同
文件体积差+14,072 B(0.0001%),全部来自头部与 32 字节对齐 padding

即 BF16 档在数值上与原生 bf16 safetensors 完全等价,唯一区别是容器格式 (ggml 张量维度按 ne[0] 最快变化存储,与 safetensors 的行优先布局互为逆序描述, 实际内存排布一致)。用 Q8_0 及以上档位时,唯一损失来自量化本身。

怎么选

显存建议档位
6 ~ 8 GBQ4_K_M(优先)/ Q3_K_M
8 ~ 12 GBQ5_K_M / Q6_K
12 GB 以上Q8_0
精度对比测试BF16

不建议 `Q3_K_S` 与 `Q2_K`:Q3 档整体已到 18% 相对误差、余弦 0.984, 出图会出现明显退化;Q2K 余弦只有 0.942、误差 35%,基本只适合做体积下限测试。 `Q3KL` / `Q3KM` 与 `Q3KS` 的抽样误差完全相同,但前者把 32 个 `tov 升了级, 实际观感会好于 Q3KS`,多出的体积是值得的。

注意:显存只是下限。Qwen-Image-2.1 原生分辨率 2048×2048,高分辨率下激活值占用显著, 实际可用档位还取决于分辨率与 batch。显存吃紧时配合 --offload-to-cpu 或 ComfyUI 的分块加载。

配套组件

DiT 之外还需要以下两个组件,可从 Comfy-Org/Qwen-Image-2.1 获取:

组件文件放置目录
文本编码器(Qwen3-VL-8B)qwen3vl_8b_bf16.safetensorsmodels/text_encoders/
VAEqwen_image_2.1_vae_bf16.safetensorsmodels/vae/

ComfyUI 使用

📂 ComfyUI/models/
├── unet/                                    ← 本仓库的 GGUF 放这里
│   └── qwen-image-2.1-Q4_K_M.gguf
├── text_encoders/
│   └── qwen3vl_8b_bf16.safetensors
└── vae/
    └── qwen_image_2.1_vae_bf16.safetensors

需要安装 ComfyUI-GGUF,用 Unet Loader (GGUF) 节点加载。 ComfyUI 本体需要支持 Qwen-Image-2.1 架构的版本。

推荐参数

  • —步数:40(官方推荐)
  • —CFG:官方示例未显式设置,使用 pipeline 默认值;ComfyUI 中从 4.0 起调
  • —分辨率:原生 2048×2048,官方支持以下宽高比
比例分辨率
1:12048 × 2048
4:32400 × 1792
3:41792 × 2400
3:22528 × 1696
2:31696 × 2528
16:92752 × 1536
9:161536 × 2752

RGBA 透明图

生成透明背景图时,推荐使用官方指定的 prompt 格式:

This is an RGBA image with transparency. <你的描述>. The image has alpha channel and the background is transparent.

量化方法

使用 stable-diffusion.cpp 的 convert 模式, 从官方 bf16 单文件权重转换:

bash
sd-cli -M convert qwen_image_2.1_bf16.safetensors \
       -o qwen-image-2.1-Q8_0.gguf \
       --type q8_0

--type 可取 f32 / f16 / q8_0 / q6_K / q5_K / q4_K / q3_K / q2_K 等。 转换只需 CPU 与内存,不需要 GPU。

本仓库全部 11 个文件的 SHA256 均已与本地源文件逐一校验一致。

许可证

本模型继承 Qwen-Image-2.1 的 Qwen Research License Agreement。使用前请阅读原始许可条款。