🤗 Diffusers 1 周年快乐!

发布于 2023 年 7 月 20 日
在 GitHub 上更新

🤗 Diffusers 很高兴庆祝它的第一个周年纪念日!这是激动人心的一年,我们为在社区和开源贡献者的帮助下取得的成就感到自豪和感激。去年,DALL-E 2、Imagen 和 Stable Diffusion 等文本到图像模型以其从文本生成令人惊叹的逼真图像的能力吸引了全世界的注意力,引发了生成式 AI 领域的大量兴趣和发展。但这些强大模型的访问受到限制。

在 Hugging Face,我们的使命是通过协作和互相帮助,共同构建一个开放和道德的 AI 未来,从而使优秀的机器学习民主化。我们的使命促使我们创建了 🤗 Diffusers 库,以便每个人都可以尝试、研究或仅仅是玩转文本到图像模型。这就是为什么我们将该库设计成一个模块化工具箱,您可以自定义扩散模型的组件,或者直接开箱即用。

在 🤗 Diffusers 成立 1 周年之际,以下是我们社区帮助添加到库中的一些最显著功能的概述。我们为成为一个积极参与的社区的一员而感到自豪和无比感激,该社区促进可访问的使用,推动扩散模型超越文本到图像生成,并全面激发灵感。

目录

追求真实感

生成式 AI 模型以创建逼真图像而闻名,但如果仔细观察,您可能会发现某些地方看起来不对劲,比如在手上生成多余的手指。今年,DeepFloyd IF 和 Stability AI SDXL 模型通过提高生成图像的质量,使其更加逼真而引起轰动。

DeepFloyd IF - 一种模块化扩散模型,包含不同的图像生成过程(例如,图像放大 3 倍以生成更高分辨率的图像)。与 Stable Diffusion 不同,IF 模型直接在像素级别工作,并使用大型语言模型对文本进行编码。

Stable Diffusion XL (SDXL) - Stability AI 最新的 Stable Diffusion 模型,参数比其前身 Stable Diffusion 2 多得多。它生成超逼真的图像,利用一个基础模型来实现对提示的紧密遵循,以及一个专注于细节和高频内容的精炼模型。

立即访问 DeepFloyd IF 文档 和 SDXL 文档,了解如何开始生成自己的图像!

视频流程

文本到图像流程很酷,但文本到视频更酷!我们目前支持两种文本到视频流程:VideoFusionText2Video-Zero

如果您已经熟悉文本到图像流程,使用文本到视频流程也非常相似。

import torch
from diffusers import DiffusionPipeline
from diffusers.utils import export_to_video

pipe = DiffusionPipeline.from_pretrained("cerspense/zeroscope_v2_576w", torch_dtype=torch.float16)
pipe.enable_model_cpu_offload()

prompt = "Darth Vader surfing a wave"
video_frames = pipe(prompt, num_frames=24).frames
video_path = export_to_video(video_frames)
Generated video of Darth Vader surfing.

我们预计文本到视频将在 🤗 Diffusers 的第二年经历一场革命,我们很高兴看到社区在此基础上构建什么,以推动从语言生成视频的界限!

文本到 3D 模型

除了文本到视频,我们现在还可以实现文本到 3D 生成,这要归功于 OpenAI 的 Shap-E 模型。Shap-E 通过编码大量的 3D-文本对数据集进行训练,并且扩散模型以编码器的输出为条件。您可以为视频游戏、室内设计和建筑设计 3D 资产。

今天就用 ShapEPipelineShapEImg2ImgPipeline 试一试吧。

3D render of a birthday cupcake generated using SHAP-E.

图像编辑流程

图像编辑是时尚、材料设计和摄影中最实用的用例之一。随着扩散模型的发展,图像编辑的可能性持续扩大。

🤗 Diffusers 中有许多 流程 支持图像编辑。有一些图像编辑流程允许您将所需的编辑描述为提示,从图像中删除概念,甚至还有一个流程可以统一多种生成方法来创建高质量图像,如全景图。借助 🤗 Diffusers,您现在就可以体验未来的照片编辑!

更快的扩散模型

扩散模型因其迭代步骤而耗时。借助 OpenAI 的 一致性模型,图像生成过程显著加快。在现代 CPU 上生成单个 256x256 分辨率的图像仅需 3/4 秒!您可以使用 🤗 Diffusers 中的 ConsistencyModelPipeline 试用此功能。

除了更快的扩散模型之外,我们还提供了许多优化技术以加快推理速度,例如 PyTorch 2.0 的 scaled_dot_product_attention() (SDPA) 和 torch.compile()、切片注意力、前馈分块、VAE 平铺、CPU 和模型卸载等等。这些优化节省了内存,从而加快了生成速度,并允许您在消费级 GPU 上运行推理。当您使用 🤗 Diffusers 分发模型时,所有这些优化都将立即得到支持!

此外,我们还支持特定的硬件和格式,如 ONNX、Apple Silicon 计算机的 mps PyTorch 设备、Core ML 等。

要了解更多关于我们如何使用 🤗 Diffusers 优化推理的信息,请查看文档

伦理与安全

生成模型很酷,但它们也可能产生有害和不适宜的内容。为了帮助用户负责任和道德地与这些模型互动,我们添加了一个 safety_checker 组件,用于标记推理过程中生成的不适当内容。模型创建者可以选择将此组件集成到他们的模型中。

此外,生成模型还可以用于制造虚假信息。今年早些时候,尽管图像是假的,但 Balenciaga Pope 因其逼真程度而走红。这强调了区分生成内容和人类内容机制的重要性。这就是为什么我们为 SDXL 模型生成的图像添加了隐形水印,这有助于用户更好地了解情况。

这些功能的开发遵循我们的 道德章程,您可以在我们的文档中找到它。

支持 LoRA

微调扩散模型代价高昂,对于大多数消费级 GPU 来说遥不可及。我们添加了低秩适应(LoRA)技术来弥补这一差距。LoRA 是一种参数高效的微调方法,使用它,您可以更快地微调大型扩散模型并消耗更少的内存。生成的模型权重也比原始模型轻得多,因此您可以轻松共享您的自定义模型。如果您想了解更多信息,我们的文档 展示了如何使用 LoRA 对 Stable Diffusion 进行微调和推理。

除了 LoRA,我们还支持其他用于个性化生成的训练技术,包括 DreamBooth、文本反演、自定义扩散等等!

Torch 2.0 优化

PyTorch 2.0 引入了torch.compile()scaled_dot_product_attention() 的支持,这是注意力机制的更高效实现。🤗 Diffusers 提供了对这些功能的一流支持,从而大大缩短了推理延迟,有时甚至可以快两倍以上!

除了视觉内容(图像、视频、3D 资产等),我们还增加了对音频的支持!查看文档以了解更多信息。

社区亮点

过去一年最令人欣慰的经历之一是看到社区如何将 🤗 Diffusers 融入他们的项目中。从为更快地训练文本到图像模型而改编低秩适应 (LoRA),到构建最先进的修复工具,以下是我们最喜欢的一些项目:

我们构建了 Core ML Stable Diffusion,旨在让开发者更轻松地在他们的 iOS、iPadOS 和 macOS 应用程序中添加最先进的生成式 AI 功能,并在 Apple Silicon 上实现最高效率。我们基于 🤗 Diffusers 而不是从头开始构建,因为 🤗 Diffusers 始终处于快速发展的领域前沿,并促进了新旧思想之间急需的互操作性。

Atila Orhon

🤗 Diffusers 对我来说绝对是开发者友好的,让我能够直接深入研究 Stable Diffusion 模型。主要区别在于,🤗 Diffusers 的实现通常不是来自研究实验室的代码,这些代码主要关注高速度驱动。虽然研究代码通常编写得很差且难以理解(缺乏类型、断言、不一致的设计模式和约定),但 🤗 Diffusers 对我来说使用起来轻而易举,几个小时内就能实现我的想法。没有它,我需要投入更多时间才能开始尝试。编写良好的文档和示例也非常有帮助。

Simo

BentoML 是一个统一的框架,用于构建、发布和扩展包含传统机器学习、预训练 AI 模型、生成式模型和大型语言模型的生产就绪型 AI 应用程序。所有 Hugging Face Diffuser 模型和流程都可以无缝集成到 BentoML 应用程序中,从而使模型能够在最合适的硬件上运行并根据使用情况独立扩展。

BentoML

Invoke AI 是一款开源生成式 AI 工具,旨在赋能游戏设计师、摄影师、建筑师和产品设计师等专业创意人士。Invoke 最近在 invoke.ai 推出了其托管服务,允许用户从任何计算机生成资产,并由开源领域的最新研究提供支持。

InvokeAI

TaskMatrix 连接大型语言模型和一系列视觉模型,从而在聊天过程中发送和接收图像。

Chenfei Wu

Lama Cleaner 是一款强大的图像修复工具,它利用 Stable Diffusion 技术从您的图片中删除不需要的物体、缺陷或人物。它还可以轻松擦除并替换图像中的任何内容。

Qing

Grounded-SAM 结合了强大的零样本检测器 Grounding-DINO 和 Segment-Anything-Model (SAM),构建了一个强大的流程,可以根据文本输入检测和分割所有内容。当与 🤗 Diffusers 修复模型结合时,Grounded-SAM 可以执行高度可控的图像编辑任务,包括替换特定对象、修复背景等。

Tianhe Ren

Stable-Dreamfusion 利用 🤗 Diffusers 中 2D 扩散模型的便捷实现来复制最近的文本到 3D 和图像到 3D 方法。

kiui

MMagic (Multimodal Advanced, Generative, and Intelligent Creation) 是一个先进且全面的生成式 AI 工具箱,提供最先进的 AI 模型(例如由 🤗 Diffusers 和 GAN 驱动的扩散模型)来合成、编辑和增强图像和视频。在 MMagic 中,用户可以使用丰富的组件来自定义自己的模型,就像玩乐高一样,并且可以轻松管理训练循环。

mmagic

Tune-A-Video 由 Jay Zhangjie Wu 及其 Show Lab 团队开发,是首个使用单个文本-视频对微调预训练文本到图像扩散模型的项目,并能实现在保持动作的同时改变视频内容。

Jay Zhangjie Wu

我们还与 Google Cloud (慷慨提供了计算资源) 合作,提供技术指导和指导,帮助社区使用 TPU 训练扩散模型(在此处查看活动的总结 here)。有许多很酷的模型,例如这个结合了 ControlNet 和 Segment Anything 的 demo

ControlNet and SegmentAnything demo of a hot air balloon in various styles

最后,我们很高兴收到来自 300 多位贡献者对我们代码库的贡献,这使我们能够以最开放的方式进行协作。以下是我们社区的一些贡献:

除此之外,还要衷心感谢以下为我们提供 Diffusers 最强大功能(排名不分先后)的贡献者们:

使用 🤗 Diffusers 构建产品

在过去的一年里,我们还看到许多公司选择在 🤗 Diffusers 的基础上构建他们的产品。以下是一些引起我们注意的产品:

  • PlaiDay:“PlaiDay 是一种生成式 AI 体验,人们可以在其中协作、创作和连接。我们的平台释放了人类无限的创造力,并为表达提供了一个安全、有趣的社交画布。”
  • Previs One:“Previs One 是一个用于电影故事板和预可视化的扩散流程——它像导演一样理解电影和电视的构图规则。”
  • Zust.AI:“我们利用生成式 AI 为品牌和营销机构创建工作室质量的产品照片。”
  • Dashtoon:“Dashtoon 正在构建一个用于创建和消费视觉内容的平台。我们有多个流程,可以加载多个 LORA、多个 control-net,甚至多个由 diffusers 提供支持的模型。Diffusers 大大降低了产品工程师和机器学习工程师之间的差距,使 dashtoon 能够更快、更好地为用户提供价值。”
  • Virtual Staging AI:“使用生成模型用美丽的家具填充空房间。”
  • Hexo.AI:“Hexo AI 通过大规模个性化营销帮助品牌在营销支出上获得更高的投资回报率。Hexo 正在构建一个专有的营销活动生成引擎,该引擎可以摄取客户数据并生成符合品牌规范的个性化创意。”

如果您正在基于 🤗 Diffusers 构建产品,我们非常乐意与您交流,以了解如何共同改进该库!请随时联系 patrick@hf.cosayak@hf.co

展望未来

在我们庆祝第一个周年纪念日之际,我们感谢社区和开源贡献者在如此短的时间内帮助我们取得了如此大的成就。我们很高兴地宣布,我们将在今年秋季的 ICCV 2023 上展示 🤗 Diffusers 演示——如果您参加,请务必前来参观!我们将继续开发和改进我们的库,让每个人都能更轻松地使用。我们也很高兴看到社区将利用我们的工具和资源创造出什么。感谢您迄今为止参与我们的旅程,我们期待着继续共同普及优秀的机器学习!🥳

❤️ Diffusers 团队


致谢:感谢 Omar SansevieroPatrick von PlatenGiada Pistilli 的审阅,以及 Chunte Lee 的缩略图设计。

社区

注册登录 发表评论