🚀 ⚡ 快速扩散:FlashPixart ⚡
Flash Diffusion是Jasper Research的Clément Chadebec、Onur Tasar、Eyal Benaroche和Benjamin Aubin在论文Flash Diffusion: Accelerating Any Conditional Diffusion Model for Few Steps Image Generation中提出的一种扩散蒸馏方法。该模型是Pixart-α模型的一个6650万参数的LoRA蒸馏版本,能够在4步内生成1024x1024的图像。查看我们的实时演示和官方Github仓库。
🚀 快速开始
本模型可以直接使用diffusers
库中的PixArtAlphaPipeline
。它可以将所需的采样步骤减少到4步。
基础用法
import torch
from diffusers import PixArtAlphaPipeline, Transformer2DModel, LCMScheduler
from peft import PeftModel
transformer = Transformer2DModel.from_pretrained(
"PixArt-alpha/PixArt-XL-2-1024-MS",
subfolder="transformer",
torch_dtype=torch.float16
)
transformer = PeftModel.from_pretrained(
transformer,
"jasperai/flash-pixart"
)
pipe = PixArtAlphaPipeline.from_pretrained(
"PixArt-alpha/PixArt-XL-2-1024-MS",
transformer=transformer,
torch_dtype=torch.float16
)
pipe.scheduler = LCMScheduler.from_pretrained(
"PixArt-alpha/PixArt-XL-2-1024-MS",
subfolder="scheduler",
timestep_spacing="trailing",
)
pipe.to("cuda")
prompt = "A raccoon reading a book in a lush forest."
image = pipe(prompt, num_inference_steps=4, guidance_scale=0).images[0]
🔧 技术细节
该模型在4个H100 GPU上进行了40k次迭代训练(约188小时)。更多参数细节请参考论文。
评估指标
属性 |
详情 |
FID-10k |
29.30 (4 NFE) |
CLIP Score |
0.303 (4 NFE) |
📚 详细文档
引用
如果您觉得这项工作有用或在研究中使用了它,请考虑引用我们:
@misc{chadebec2024flash,
title={Flash Diffusion: Accelerating Any Conditional Diffusion Model for Few Steps Image Generation},
author={Clement Chadebec and Onur Tasar and Eyal Benaroche and Benjamin Aubin},
year={2024},
eprint={2406.02347},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
📄 许可证
该模型遵循知识共享署名-非商业性使用许可协议(Creative Commons BY-NC license)。