Stable Diffusion 模型原理与本地部署实战
Stable Diffusion 是基于潜在扩散模型(Latent Diffusion Models, LDMs)的文生图模型。它建立在自注意力机制和扩散过程之上,灵感来源于在自然图像建模领域取得巨大成功的扩散模型。
论文原理
该模型源自 CVPR 2022 收录的论文《High-Resolution Image Synthesis with Latent Diffusion Models》。其核心在于通过一系列扩散步骤,从噪声中逐步生成图像。每一步中,模型预测条件分布并生成下一步输入。
核心架构
-
训练自编码模型(AutoEncoder) 编码器将图像压缩为潜在表示(latent representation),解码器将其还原为像素空间。这一步旨在降低计算复杂度,为后续扩散操作做准备。
-
感知压缩(Perceptual Compression) 利用预训练的自编码模型将图片转换到潜在表示空间。这种压缩方式保留了重要特征,同时忽略高频信息,大幅降低了训练和采样的计算成本。
-
潜在表示空间上的 Diffusion 操作 在潜在空间进行类似标准扩散模型的时序去噪。具体实现通常采用 time-conditional UNet,结合时间条件信息进行图像生成。

上图展示了模型的框架图。以下是关键步骤的解析:
- 图片感知压缩:通过忽略高频信息保留基础特征,使得模型能在较短时间内生成高质量图像。
- 潜在扩散模型:可理解为时序去噪自编码器,目标是根据输入预测去噪后的变体或噪音。
- 条件机制:通过引入条件变量 $c$ 控制合成过程,并在 UNet 主干上增加 cross-attention 机制,支持文本、类别等多种模态输入。
实验结果
模型在不同数据集(如 CelebAHQ、ImageNet)上训练后,能够生成高质量的样本。下采样因子直接影响模型的感知压缩程度,进而影响推断速度和样本质量之间的平衡。


环境配置
本地部署需要一定的硬件资源,建议使用配备独立显卡的电脑。显存不足会导致生成速度极慢甚至无法运行。
1. 准备环境
推荐使用 Conda 管理 Python 环境,避免依赖冲突:
# 创建环境
conda create -n sd python=3.10.9
# 激活环境
conda activate sd
确保系统已安装 Git 工具,以便拉取官方代码。若网络受限,可寻找镜像源下载。
2. 拉取代码
克隆官方仓库:






