在人工智能的图像生成领域,Stable Diffusion 3模型以其卓越的性能和创新性,标志着AI艺术创作进入了一个全新的纪元。Stable AI公司通过这一模型,展示了AI在艺术创作和视觉设计中的无限潜力。
技术革新:扩散模型的突破
Stable Diffusion 3模型基于扩散模型技术,这是一种新颖的生成模型框架。它通过在数据中逐步引入随机性,然后再逐步去除这些随机性,来生成新的数据样本。与传统的生成对抗网络(GANs)相比,扩散模型在图像质量、多样性和生成速度上都有显著提升。
作为 Stability AI 的 Stable Diffusion 家族最新的模型,Stable Diffusion 3[1](SD3) 现已登陆 Hugging Face Hub,并且可用在 Diffusers 中使用了。
当前放出的模型版本是 Stable Diffusion 3 Medium,有二十亿 (2B) 的参数量。
针对当前发布版本,还提供了:
-
Hub 上可供下载的模型
-
Diffusers 的代码集成
-
SD3 的 Dreambooth 和 LoRA 训练脚本
模型特性:细节与真实感的双重飞跃
Stable Diffusion 3在图像质量上实现了质的飞跃。它能够生成细节丰富、真实感强的图像,无论是复杂的纹理还是微妙的光影变化,都能得到精确的呈现。这一点在Hugging Face博客中得到了详细的展示和讨论。
作为一个隐变量扩散模型,SD3 包含了三个不同的文本编码器 (CLIP L/14[2]、OpenCLIP bigG/14[3] 和 T5-v1.1-XXL[4]) 、一个新提出的多模态 Diffusion Transformer (MMDiT) 模型,以及一个 16 通道的 AutoEncoder 模型 (与 Stable Diffusion XL[5] 中的类似)。
SD3 以序列 Embedding 的形式处理文本输入和视觉隐空间特征。位置编码 (Positional Encoding) 是施加在隐空间特征的 2x2 patch 上的,随后被展开成 patch 的 Enbedding 序列。这一序列和文本的特征序列一起,被送入 MMDiT 的各个模块中去。两种特征序列被转化成相同特征维度,拼接在一起,然后送入一系列注意力机制模块和多层感知机 (MLP) 里。
为应对两种模态间的差异,MMDiT 模块使用两组不同的权重去转换文本和图像序列的特征维度。两个序列之后会在注意力操作之前被合并在一起。这种设计使得两种表征能在自己的特征空间里工作,同时也使得它们之间可以通过注意力机制 [1] 从对方的特征中提取有用的信息。这种文本和图像间双向的信息流动有别于以前的文生图模型,后者的文本信息是通过 cross-attention 送入模型的,且不同层输入的文本特征均是文本编码器的输出,不随深度的变化而改变。
此外,SD3 还在时间步 (timestep) 这一条件信息上加入了汇合过的文本特征,这些文本特征来自使用的两个 CLIP 模型。这些汇合过的文本特征被拼接在一起,然后加到时间步的 Embedding 上,再送入每个 MMDiT 模块。
除了结构上的创新,SD3 也使用了 conditional flow-matching[6] 作为训练目标函数来训练模型。这一方法中,前向加噪过程被定义为一个 rectified flow[7],以一条直线连接数据分布和噪声分布。
采样过程也变得更简单了,当采样步数减少的时候,模型性能也很稳定。为此,我们也引入了新的 scheduler ( FlowMatchEulerDiscreteScheduler ),集成了 rectified flow-matching 的运算公式以及欧拉方法 (Euler Method) 的采样步骤。同时还提出了一个与生成分辨率相关的 shift 参数。对于高分辨率,增大 shift 的值可以更好地处理 noise scaling。针对 2B 模型,我们建议设置 shift=3.0 。
模型使用:方便和快捷的双重结合
如想在 diffusers 中使用 SD3,首先请确保安装的 diffusers 是最新版本:
pip install --upgrade diffusers
使用模型前,你需要先到 Stable Diffusion 3 Medium 在 Hugging Face 的页面[8],填写表格并同意相关内容。一切就绪后,你需要登录你的 huggingface 账号:
huggingface-cli login
下面程序将会下载 SD3 的 2B 参数模型,并使用 fp16 精度。Stability AI 原本发布的模型精度就是 fp16 ,这也是推荐的模型推理精度。
- 文生图
import torch
from diffusers import StableDiffusion3Pipeline
pipe = StableDiffusion3Pipeline.from_pretrained(“stabilityai/stable-diffusion-3-medium-diffusers”, torch_dtype=torch.float16)
pipe = pipe.to(“cuda”)
image = pipe(
“A cat holding a sign that says hello world”,
negative_prompt=“”,
num_inference_steps=28,
guidance_scale=7.0,
).images[0]
image
- 图生图
import torch
from diffusers import StableDiffusion3Img2ImgPipeline
from diffusers.utils import load_image
pipe = StableDiffusion3Img2ImgPipeline.from_pretrained(“stabilityai/stable-diffusion-3-medium-diffusers”, torch_dtype=torch.float16)
pipe = pipe.to(“cuda”)
init_image = load_image(“https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png”)
prompt = “cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k”
image = pipe(prompt, image=init_image).images[0]
image
应用场景:跨行业的广泛应用
Stable Diffusion 3的应用范围极为广泛,从艺术创作到游戏设计,从电影制作到虚拟现实,这一模型都能够提供强大的支持。它的灵活性和高效性使其成为多个行业的理想选择。
挑战与展望:技术的自我完善
尽管Stable Diffusion 3在技术上取得了巨大成功,但它也面临着一些挑战。例如,如何确保生成图像的多样性和原创性,以及如何处理与版权相关的问题,都是该领域需要进一步探讨的问题。
未来展望:Stable Diffusion 3的潜力
随着技术的不断进步,Stable Diffusion 3有望在未来发挥更大的作用。随着模型的进一步优化和算法的改进,我们期待Stable Diffusion 3能够在图像生成领域带来更多的创新和突破。
结语:
Stable Diffusion 3模型不仅代表了AI图像生成技术的新高度,也为我们打开了探索创意和视觉表现新领域的大门。随着技术的不断发展,我们有理由相信,Stable Diffusion 3将在未来继续引领图像生成的潮流,为艺术创作和工业应用带来革命性的变化。
写在最后
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。