🚀 svdq-int4-flux.1-fill-dev
svdq-int4-flux.1-fill-dev
是一个图像生成模型,它是 FLUX.1-Fill-dev
的 INT4 量化版本,可基于文本描述填充现有图像中的区域,能节省约 4 倍内存,且推理速度比原始 BF16 模型快 2 - 3 倍。
模型信息
属性 |
详情 |
开发团队 |
MIT、NVIDIA、CMU、普林斯顿大学、加州大学伯克利分校、上海交通大学和 Pika Labs |
模型类型 |
INT W4A4 模型 |
模型大小 |
6.64GB |
模型分辨率 |
像素数量需为 65,536 的倍数 |
许可证 |
Apache - 2.0 |

🚀 快速开始
量化方法 -- SVDQuant
SVDQuant 概述。阶段 1:最初,激活 X 和权重 W 都包含离群值,这使得 4 位量化具有挑战性。阶段 2:我们将离群值从激活迁移到权重,从而得到更新后的激活和权重。虽然激活变得更容易量化,但权重现在变得更难。阶段 3:SVDQuant 进一步使用奇异值分解(SVD)将权重分解为低秩分量和残差。因此,低秩分支以 16 位精度运行,从而减轻了量化难度。
Nunchaku 引擎设计
(a) 天真地以秩 32 运行低秩分支会由于 Down Projection 中 16 位输入的额外读取和 Up Projection 中 16 位输出的额外写入而引入 57% 的延迟开销。Nunchaku 通过内核融合优化了此开销。(b) Down Projection 和 Quantize 内核使用相同的输入,而 Up Projection 和 4 - Bit Compute 内核共享相同的输出。为了减少数据移动开销,我们将前两个和后两个内核融合在一起。
📦 安装指南
请按照 mit - han - lab/nunchaku 中的说明设置环境。
💻 使用示例
基础用法
使用 Diffusers
库运行模型:
import torch
from diffusers import FluxFillPipeline
from diffusers.utils import load_image
from nunchaku.models.transformer_flux import NunchakuFluxTransformer2dModel
image = load_image("https://huggingface.co/mit-han-lab/svdq-int4-flux.1-fill-dev/resolve/main/example.png")
mask = load_image("https://huggingface.co/mit-han-lab/svdq-int4-flux.1-fill-dev/resolve/main/mask.png")
transformer = NunchakuFluxTransformer2dModel.from_pretrained("mit-han-lab/svdq-int4-flux.1-fill-dev")
pipe = FluxFillPipeline.from_pretrained(
"black-forest-labs/FLUX.1-Fill-dev", transformer=transformer, torch_dtype=torch.bfloat16
).to("cuda")
image = pipe(
prompt="A wooden basket of a cat.",
image=image,
mask_image=mask,
height=1024,
width=1024,
guidance_scale=30,
num_inference_steps=50,
max_sequence_length=512,
).images[0]
image.save("flux.1-fill-dev.png")
Comfy UI
开发中,敬请期待!
🔧 技术细节
- 模型运行限制:该模型仅可在具有 sm_86(安培架构:RTX 3090、A6000)、sm_89(阿达架构:RTX 4090)和 sm_80(A100)架构的 NVIDIA GPU 上运行。更多详细信息请参阅此 issue。
- 细节差异:与 BF16 模型相比,在细节上可能会观察到一些细微差异。
📄 许可证
该模型使用 Apache - 2.0 许可证。
🔖 引用
如果您发现此模型对您的研究有用或相关,请引用:
@inproceedings{
li2024svdquant,
title={SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models},
author={Li*, Muyang and Lin*, Yujun and Zhang*, Zhekai and Cai, Tianle and Li, Xiuyu and Guo, Junxian and Xie, Enze and Meng, Chenlin and Zhu, Jun-Yan and Han, Song},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}