许可证:其他
许可证名称:flux-1-dev-non-commercial-license
标签:
- 图像到图像
- SVDQuant
- INT4
- FLUX.1
- 扩散模型
- 量化
- 图像修复
- 图像生成
- 文本到图像
- ICLR2025
- FLUX.1-Fill-dev
语言:
- 英语
基础模型:
- black-forest-labs/FLUX.1-Fill-dev
基础模型关系:量化
管道标签:图像到图像
数据集:
- mit-han-lab/svdquant-datasets
库名称:diffusers
svdq-int4-flux.1-fill-dev
是 FLUX.1-Fill-dev
的 INT4 量化版本,能够根据文本描述填充现有图像中的区域。它提供了约4倍的内存节省,同时运行速度比原始BF16模型快2-3倍。
方法
量化方法 —— SVDQuant
SVDQuant概述。第一阶段:原始情况下,激活值 X 和权重 W 均包含异常值,使得4位量化具有挑战性。第二阶段:我们将激活中的异常值迁移到权重中,得到更新后的激活和权重。虽然激活变得更容易量化,但权重现在变得更加困难。第三阶段:SVDQuant进一步通过SVD将权重分解为低秩分量和残差。因此,低秩分支以16位精度运行,缓解了量化难度。
Nunchaku引擎设计
(a) 如果简单地以秩32运行低秩分支,由于在下投影中额外读取16位输入和在上投影中额外写入16位输出,将引入57%的延迟开销。Nunchaku通过内核融合优化了这一开销。(b) 下投影和量化内核使用相同的输入,而上投影和4位计算内核共享相同的输出。为了减少数据移动开销,我们将前两个和后两个内核融合在一起。
模型描述
- 开发团队: 麻省理工学院、英伟达、卡内基梅隆大学、普林斯顿大学、加州大学伯克利分校、上海交通大学和Pika Labs
- 模型类型: INT W4A4模型
- 模型大小: 6.64GB
- 模型分辨率: 像素数需要是65,536的倍数。
- 许可证: Apache-2.0
使用方法
Diffusers
请按照 mit-han-lab/nunchaku 中的说明设置环境。然后您可以运行以下代码来使用模型:
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="一个装着猫的木篮子。",
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
正在开发中,敬请期待!
限制
- 该模型仅可在NVIDIA GPU架构sm_86(Ampere:RTX 3090、A6000)、sm_89(Ada:RTX 4090)和sm_80(A100)上运行。更多详情请参见此问题。
- 您可能会在细节上观察到与BF16模型的一些微小差异。
引用
如果您发现此模型有用或与您的研究相关,请引用:
@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}
}