项目介绍:Wuerstchen
Wuerstchen是一个面向ICLR 2024大会的创新框架,旨在优化文本条件模型的训练流程。它通过将计算上昂贵的文本条件阶段移到高度压缩的潜在空间中,极大地提高了训练效率。
项目背景
传统的方法通常使用单阶段压缩,而Wuerstchen则引入了多阶段的压缩机制,共分为三个阶段:阶段A、B用于图像的压缩,阶段C则在低维度潜在空间中学习文本条件部分。这个设计使得Wuerstchen能够实现42倍的压缩率,同时还能忠实地重建图像。这种创新使得阶段C的训练速度快且计算成本低廉。
如何使用Wuerstchen
用户可以通过提供的notebook轻松使用该模型。阶段B的notebook用于重建,而阶段C的notebook则用于进行文本条件生成。用户还可以在Google Colab上尝试文本到图像的生成。
使用🧨 diffusers
Wuerstchen已全面集成到diffusers
库中,下面是如何使用它的简单示例代码:
# pip install -U transformers accelerate diffusers
import torch
from diffusers import AutoPipelineForText2Image
from diffusers.pipelines.wuerstchen import DEFAULT_STAGE_C_TIMESTEPS
pipe = AutoPipelineForText2Image.from_pretrained("warp-ai/wuerstchen", torch_dtype=torch.float16).to("cuda")
caption = "Anthropomorphic cat dressed as a fire fighter"
images = pipe(
caption,
width=1024,
height=1536,
prior_timesteps=DEFAULT_STAGE_C_TIMESTEPS,
prior_guidance_scale=4.0,
num_images_per_prompt=2,
).images
有关更多信息,可以查看官方文档。
自行训练Wuerstchen
Wuerstchen的训练速度比其他文本到图像的模型快得多,并且在12x12的较小潜在空间中进行。我们为阶段B和阶段C提供了相关的训练脚本,方便用户自行进行模型训练。
模型下载
提供两种版本的Wuerstchen模型供下载:
模型 | 下载路径 | 参数数量 | 条件 | 训练步数 | 分辨率 |
---|---|---|---|---|---|
Würstchen v1 | Hugging Face | 1B (阶段C) + 600M (阶段B) + 19M (阶段A) | CLIP-H-Text | 800,000 | 512x512 |
Würstchen v2 | Hugging Face | 1B (阶段C) + 600M (阶段B) + 19M (阶段A) | CLIP-bigG-Text | 918,000 | 1024x1024 |
致谢
特别感谢Stability AI为我们的研究提供了计算支持。
引用说明
如果您在研究中使用了我们的方案或受其启发,我们非常乐意您能够引用我们的论文。以下是参考文献格式:
@inproceedings{
pernias2024wrstchen,
title={W\"urstchen: An Efficient Architecture for Large-Scale Text-to-Image Diffusion Models},
author={Pablo Pernias and Dominic Rampas and Mats Leon Richter and Christopher Pal and Marc Aubreville},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=gU58d5QeGv}
}
Wuerstchen通过其高效的创新设计,为文本到图像生成树立了新的标杆,为科研工作者和开发者提供了一个高效且成本低廉的工具。