DeepFloyd IF 是由 StabilityAI 旗下的 DeepFloyd Lab 推出的开源文本到图像模型,据资料介绍,该模型具有高写实度和语言理解能力,是一种新型的先进开源文本到图像模型。
用途
IF 主要用于文本到图像的生成,支持多种模式:
- Dream 模式:基础的文本到图像生成。
- 零样本图像到图像翻译:包括风格迁移,使输出图像呈现支持图像的风格。
- 超分辨率:可使用 IF-II 和 IF-III 或 Stable x4 对图像进行超分(两阶级联),不限于 IF 生成的图像。
- 零样本修复:即 inpainting。 上述模式可在本地 Jupyter Notebook 中使用。
主要能力与架构
IF 是一种模块化组合模型,包含一个冻结的文本编码器和三个级联像素扩散模块:
- 基础模型:基于文本提示生成 64x64 像素图像。
- 两个超分辨率模型:分别生成 256x256 像素和 1024x1024 像素的图像,分辨率逐级提升。 所有阶段均使用基于 T5 transformer 的冻结文本编码器提取文本嵌入,然后输入到采用交叉注意力和注意力池化增强的 UNet 架构中。据资料称,该模型在 COCO 数据集上取得了 6.66 的零样本 FID 分数。
使用方式
- 最低硬件要求:使用所有 IF 模型需要:
- IF-I-XL(4.3B 文本到 64x64 基础模块)与 IF-II-L(1.2B 到 256x256 放大模块)需 16GB 显存。
- 再加上 Stable x4(到 1024x1024 放大)需 24GB 显存。
- 需要 xformers 并设置环境变量 FORCE_MEM_EFFICIENT_ATTN=1。
- 本地 Notebook:提供 Jupyter Notebook 支持 Dream、风格迁移、超分辨率或修复模式。
- 与 🤗 Diffusers 集成:IF 已集成到 Hugging Face Diffusers 库中。Diffusers 允许单独运行每个阶段,便于用户自定义图像生成过程并检查中间结果。使用前需接受使用条件:拥有 Hugging Face 账户并登录,在 DeepFloyd/IF-I-XL-v1.0 的模型卡上接受许可证,安装 huggingface_hub,在 Python shell 中运行登录函数并输入访问令牌。
- 安装 diffusers 及依赖后,可在本地运行模型。默认情况下 Diffusers 利用模型 CPU 卸载,仅需约 14 GB 显存即可运行整个 IF 流程。若使用 torch>=2.0.0,需删除所有 enable_xformers_memory_efficient_attention() 函数。
- 加速推理和降低内存消耗的更多方法,可参考 Diffusers 文档中的推理时间优化和低内存优化部分。
- 微调:Diffusers 的 dreambooth 脚本支持对 IF 进行微调,通过参数高效微调,可在单 GPU 和约 28 GB 显存下为 IF 添加新概念。
- 代码本地运行:加载模型到显存,Dream 模式为文本到图像,支持零样本图像到图像翻译、超分辨率、零样本修复等。
适用场景
- 文本到图像生成,追求高写实度和语言理解。
- 图像风格迁移、超分辨率、图像修复。
- 通过 Diffusers 库进行自定义图像生成流程和中间结果检查。
- 在单 GPU 上微调添加新概念。
限制
- 模型存在已知限制和偏见,详见模型卡。
- 初始版本采用仅限研究用途的受限许可证,暂时用于收集反馈,之后计划发布完全开源模型。
- 权重和模型卡将陆续在 Hugging Face 的 DeepFloyd 组织下发布,并有其自己的 LICENSE。代码在本仓库中根据定制许可证发布。
- 资料中未提供具体的收费、价格、平台、效果或使用步骤等更多信息。
致谢与团队
- 创作者:Alex Shonenkov、Misha Konstantinov、Daria Bakshandaeva、Christoph Schuhmann、Ksenia Ivanova、Nadiia Klokova。
- 特别感谢 StabilityAI 及其 CEO Emad Mostaque 提供 GPU 计算和基础设施,感谢 LAION 和 Christoph Schuhmann 对项目和数据集贡献,感谢 Huggingface 团队优化模型速度和内存消耗、创建演示并提供建议。
- 外部贡献者:@Apolinário、@patrickvonplaten、@williamberman、@hysts、@Dango233 等。
- 研究论文即将发布。