ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Stable Diffusion v1 模型卡深度解读:LDM 架构、训练细节与 InvokeAI 中的 SD1.x 推理实践

2026/9/10 13:51:41 拓冰建站 浏览量
Stable Diffusion v1 模型卡深度解读:LDM 架构、训练细节与 InvokeAI 中的 SD1.x 推理实践 Stable Diffusion v1 模型卡深度解读LDM 架构、训练细节与 InvokeAI 中的 SD1.x 推理实践【免费下载链接】InvokeAIInvoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.项目地址: https://gitcode.com/GitHub_Trending/in/InvokeAI本指南以 InvokeAI 仓库中的Stable_Diffusion_v1_Model_Card.md为骨架系统解读 Stable Diffusion v1 这一基于潜在扩散模型Latent Diffusion Model, LDM的文生图模型的架构、训练过程、评估方法、局限与偏见并结合 InvokeAI 仓库中的真实配置v1-inference.yaml与源码说明 SD1.x 模型在 InvokeAI 创作引擎中如何被识别、加载与推理。读完本文你既能完整理解 v1 模型卡的全部事实要素也能在 InvokeAI 中正确配置、加载并使用 SD1.x 系列模型。模型概述Model DetailsStable Diffusion v1 是首个公开发布的 Stable Diffusion 系列模型其模型卡与权重最初发布于 CompVis 的 stable-diffusion 仓库。它的核心身份信息如下开发者Developed byRobin Rombach、Patrick Esser模型类型Model type基于扩散过程的文生图模型Diffusion-based text-to-image generation model语言Language(s)英文许可证License专有许可Proprietary仓库根目录的 LICENSE 文件为对应许可文本模型描述Model Description这是一个可根据文本提示text prompt生成和修改图像的模型。它属于潜在扩散模型使用一个固定的、预训练好的文本编码器CLIP ViT-L/14将文本映射为条件信号这一设计思路源自 Imagen 论文的实践。为什么是潜在扩散模型模型卡明确指出 v1 是一个 Latent Diffusion Model。与直接在像素空间做去噪的标准扩散模型不同LDM 先在自编码器Autoencoder的**潜在空间latent space**中执行扩散过程而非在原始像素空间中进行。这样做带来的直接收益是扩散过程的计算维度大幅降低训练与推理都更加高效自编码器提供的紧凑潜在表示latent representation保留了图像的结构信息文本条件通过交叉注意力cross-attention注入扩散骨干网络实现细粒度的文本-图像对齐。这一思想也正是 InvokeAI 选择支持 SD1.x 作为核心基础模型的原因之一潜在空间设计让模型在常规消费级 GPU 上即可运行。文本编码CLIP ViT-L/14v1 使用固定的预训练 CLIP ViT-L/14 作为文本编码器将提示词编码为 768 维的上下文向量。这一数值可以从 InvokeAI 的推理配置中得到印证在 v1-inference.yaml 中UNet 的context_dim: 768正是 CLIP ViT-L/14 的隐层维度cond_stage_trainable: false说明文本编码器在推理阶段保持冻结、不参与训练。模型卡中使用固定、预训练文本编码器的表述与配置完全一致。SD1.x 在 InvokeAI 中的落地从模型卡到推理配置模型卡描述的是模型本身而 InvokeAI 作为面向 Stable Diffusion 系列模型的创作引擎将 v1 的架构细节沉淀为可执行的推理配置。理解这些配置是让 SD1.x 权重真正跑起来的关键。v1 推理配置结构InvokeAI 在 invokeai/configs/stable-diffusion/ 目录下为 SD1.x 家族维护了多个 YAML 配置包括v1-inference.yaml标准 txt2img / img2img 推理配置v1-inpainting-inference.yaml局部重绘inpainting专用配置v1-finetune.yaml、v1-finetune_style.yaml微调场景配置v1-inference-v.yaml、v2-*.yamlv2 系列配置sd_xl_base.yaml、sd_xl_inpaint.yaml、sd_xl_refiner.yamlSDXL 系列配置。其中v1-inference.yaml的顶层结构与模型卡描述的 LDM 架构一一对应model: base_learning_rate: 1.0e-04 target: invokeai.backend.models.diffusion.ddpm.LatentDiffusion params: linear_start: 0.00085 linear_end: 0.0120 num_timesteps_cond: 1 log_every_t: 200 timesteps: 1000 first_stage_key: jpg cond_stage_key: txt image_size: 64 channels: 4 cond_stage_trainable: false # Note: different from the one we trained before conditioning_key: crossattn monitor: val/loss_simple_ema scale_factor: 0.18215 use_ema: False各关键字段的语义如下timesteps: 1000扩散过程使用 1000 个去噪时间步这也是 v1 标准采样步数上限scale_factor: 0.18215潜在空间缩放因子用于将自编码器的 latent 乘以此系数使潜在分布接近标准正态是训练与推理通用的重要常数channels: 4潜在空间的通道数对应模型卡中映射到 H/f × W/f × 4 的 latentimage_size: 64潜在空间的图像尺寸约定512/8 64conditioning_key: crossattn文本条件通过交叉注意力注入与模型卡描述一致。UNet 骨干网络在unet_config一节中SD1.x 的 UNet 结构被明确描述为unet_config: target: invokeai.backend.stable_diffusion.diffusionmodules.openaimodel.UNetModel params: image_size: 32 # unused in_channels: 4 out_channels: 4 model_channels: 320 attention_resolutions: [ 4, 2, 1 ] num_res_blocks: 2 channel_mult: [ 1, 2, 4, 4 ] num_heads: 8 use_spatial_transformer: True transformer_depth: 1 context_dim: 768 use_checkpoint: True legacy: False这是 v1 家族 UNet 的标准形态320 基础通道、2 个残差块、通道倍数 [1,2,4,4]、8 头注意力context_dim: 768对接 CLIP ViT-L/14 的文本隐层。深度depth变体与重绘inpaint变体则通过修改in_channels实现。三种模型变体的输入通道差异从源码 stable_diffusion.py 中可以看到 InvokeAI 对 SD1 家族变体的通道映射VARIANT_TO_IN_CHANNEL_MAP { ModelVariantType.Normal: 4, ModelVariantType.Depth: 5, ModelVariantType.Inpaint: 9, }Normal常规4 通道即纯 latentDepth深度5 通道额外拼接 1 通道深度图条件Inpaint重绘9 通道对应 v1-inpainting-inference.yaml 中的注释# 4 data 4 downscaled image 1 mask——即 4 通道 latent 4 通道下采样原图 1 通道蒙版。此外inpainting 配置使用conditioning_key: hybrid混合条件注入base_learning_rate: 7.5e-05并将文本嵌入向量数调整为num_vectors_per_token: 8与常规模型的 1 个向量/词元形成对比。单文件权重的配置映射对于以 .ckpt/.safetensors 单文件形式分发的 SD1 权重InvokeAI 通过 single_file_config_files.py 将 LegacyConfigKey 映射到上述配置): stable-diffusion/v1-inference.yaml, ... LegacyConfigKey(ModelType.VAE, BaseModelType.StableDiffusion1): stable-diffusion/v1-inference.yaml,也就是说当你把sd-v1-*.ckpt或社区微调的 SD1.5 单文件权重放入 InvokeAI 时系统会自动为其匹配v1-inference.yaml作为模型结构定义再通过StableDiffusionPipeline.from_single_file见 stable_diffusion.py加载。InvokeAI 内置的 SD1.x 生态模型在 starter_models.py 中InvokeAI 为 Stable Diffusion 1.5 基础准备了完整的模型包sd1_bundle见 starter_models.py以BaseModelType.StableDiffusion1为基座类型其中包括主模型MainDreamShaper 8含 inpainting 变体、EasyNegative、Deliberate含 inpainting 变体等社区微调模型见 starter_models.pyControlNet 系列lllyasviel 的control_v11p_sd15_*全家桶canny、inpaint、mlsd、depth、normalbae、seg、lineart、lineart_anime、openpose、scribble、softedge、shuffle、tile全部基于 sd-1.5 训练T2I-Adapter 系列t2iadapter_*_sd15v2canny、sketch、depthIP-Adapter 系列ip_adapter_sd15、ip_adapter_plus_sd15、ip_adapter_plus_face_sd15。这些条目说明SD1.x 不仅是 InvokeAI 支持的历史模型其微调生态ControlNet、IP-Adapter、T2I-Adapter、LoRA至今仍是社区创作的重要一环。用途Uses直接用途Direct Use按照模型卡的说明v1 面向研究用途典型研究领域与任务包括生成式模型的安全部署研究——如何安全部署可能产生有害内容的模型对生成模型的局限与偏见进行探测和理解艺术创作、设计及其他艺术流程中的图像生成教育与创意工具中的应用生成模型的基础研究。禁止用途、恶意使用与越界使用Misuse, Malicious Use, and Out-of-Scope Use模型卡特别说明本节内容源自 DALL-E Mini 模型卡但同样适用于 Stable Diffusion v1。核心约束包括不得故意创建或传播制造敌意、疏离环境的图像包括令人不安、痛苦或冒犯的内容以及传播历史或现存刻板印象的内容越界使用Out-of-Scope Use模型并未被训练为对人、事件的事实性/真实性呈现因此用它生成此类内容超出模型能力边界滥用与恶意使用Misuse and Malicious Use包括但不限于——生成贬低、非人化或以其他方式有害的人物、环境、文化、宗教等表征故意宣扬或传播歧视性内容与有害刻板印象未经同意冒充他人未经可能看到内容的人的同意生成性内容错误信息与虚假信息极端暴力与血腥内容的呈现违反条款共享受版权保护或有许可限制的材料包括对其的改动版本。局限与偏见Limitations and Bias局限Limitations模型卡明确列举了 v1 的已知技术局限这些在 InvokeAI 中实际使用 SD1.x 时依然适用无法实现完美照片写实photorealism无法渲染可读的文字legible text在组合性compositionality困难任务上表现不佳例如渲染红色立方体放在蓝色球体上A red cube on top of a blue sphere这类需要精确空间关系的描述面部与人物可能生成不佳主要以英文标注训练其他语言表现显著下降自编码部分是有损的lossy——潜在空间的压缩与重建会引入信息损失训练数据为大规模数据集 LAION-5B其中包含成人内容在没有额外安全机制与考量时不适合直接用于产品。偏见Bias模型卡指出图像生成模型的能力令人印象深刻但也可能强化或加剧社会偏见v1 基于 LAION-2B(en) 的子集训练该数据集主要由英文描述构成使用其他语言的社区与文化中的文本与图像很可能未被充分覆盖这影响了模型的整体输出白人、西方文化常常被当作默认设定模型使用非英文提示词生成内容的能力显著差于英文提示词。对使用 InvokeAI 进行创作的用户而言这意味着应当对 SD1.x 的输出保持批判性审视必要时通过提示词工程、负面提示如 EasyNegative 嵌入等方式缓解偏差影响。训练Training训练数据Training Data开发者使用的训练数据集为LAION-2B(en) 及其子集详见下节。训练流程Training ProcedureStable Diffusion v1 是结合自编码器autoencoder与在其潜在空间中训练的扩散模型的潜在扩散模型。训练期间的核心流程为图像编码图像通过编码器转为潜在表示。自编码器使用8 倍相对下采样因子relative downsampling factor of 8将形状为H × W × 3的图像映射为H/f × W/f × 4的 latent其中 f 8文本编码文本提示通过 ViT-L/14 文本编码器编码条件注入文本编码器的**非池化输出non-pooled output**经由交叉注意力送入潜在扩散模型的 UNet 骨干网络损失函数采用 UNet 对加入 latent 的噪声的预测与真实噪声之间的重建目标reconstruction objective作为损失。三个官方检查点模型卡提供了三个官方检查点sd-v1-1.ckpt、sd-v1-2.ckpt与sd-v1-3.ckpt其训练历程如下检查点训练过程sd-v1-1.ckpt先在 laion2B-en 上以 256×256 分辨率训练 237k 步再在 laion-high-resolutionLAION-5B 中分辨率 ≥ 1024×1024 的 170M 样本上以 512×512 分辨率训练 194k 步sd-v1-2.ckpt从sd-v1-1.ckpt恢复训练在 laion-improved-aestheticslaion2B-en 的子集筛选条件为原始尺寸 ≥ 512×512、预估美学评分 5.0、预估水印概率 0.5上以 512×512 分辨率训练 515k 步sd-v1-3.ckpt从sd-v1-2.ckpt恢复训练在 laion-improved-aesthetics 上以 512×512 分辨率训练 195k 步并采用 **10% 的文本条件丢弃dropout**以改进无分类器引导采样classifier-free guidance sampling其中sd-v1-3.ckpt引入的 10% 文本条件丢弃正是如今 InvokeAI 界面中CFG Scale无分类器引导强度参数能够生效的前提——引导机制依赖模型对有条件/无条件两种预测的插值。训练超参数模型卡给出了 v1 训练的完整超参数硬件Hardware32 × 8 × A100 GPUs优化器OptimizerAdamW梯度累积Gradient Accumulations2Batch32 × 8 × 2 × 4 2048学习率Learning rate前 10,000 步线性预热warmup至 0.0001之后保持恒定。这一学习率设置与推理配置形成了对应在 v1-inference.yaml 的scheduler_config中warm_up_steps: [ 10000 ]与模型卡的warmup to 0.0001 for 10,000 steps完全一致base_learning_rate: 1.0e-04也正是 0.0001。也就是说InvokeAI 的推理配置完整保留了原模型的训练设定这在微调finetune场景下可直接复用。评估结果Evaluation Results模型卡中的评估信息如下使用不同的无分类器引导尺度classifier-free guidance scales1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0与 50 步 PLMS 采样展示了三个检查点的相对改进评估基于 COCO2017 验证集的 10000 条随机提示词在 512×512 分辨率下进行未针对 FID 分数进行专门优化。模型卡原文档配有一张v1-variants-scores.jpg的 Pareto 对比图展示三个检查点在质量与效率间的权衡但该图片未包含在当前 InvokeAI 仓库中。在实际使用中sd-v1-3及其社区延续 SD1.5因其更高的美学评分数据占比与引导优化是 InvokeAI 中最常见的 SD1 系列推荐基础模型。环境影响Environmental Impact模型卡基于 Machine Learning Impact calculatorLacoste et al., 2019对 v1 训练的碳排放进行了估算硬件类型Hardware TypeA100 PCIe 40GB使用时长Hours used150,000 小时云服务商Cloud ProviderAWS计算区域Compute RegionUS-east碳排放量Carbon Emitted功耗 × 时间 × 基于电网位置的碳排放系数约 11,250 kg CO2 当量。这一数据提醒研究与实践者大型生成模型的训练有可观的碳足迹评估算力与可持续性应成为模型选型与部署的考量维度之一。引用Citation模型卡提供了标准的 BibTeX 引用条目对应论文《High-Resolution Image Synthesis With Latent Diffusion Models》CVPR 2022InProceedings{Rombach_2022_CVPR, author {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\orn}, title {High-Resolution Image Synthesis With Latent Diffusion Models}, booktitle {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month {June}, year {2022}, pages {10684-10695} }该模型卡由 Robin Rombach 与 Patrick Esser 撰写结构上参考了 DALL-E Mini 模型卡。延伸阅读在 InvokeAI 中启用 SD1.x若要在 InvokeAI 中使用本文所述的 SD1.x 模型可参考以下仓库资源模型结构定义invokeai/configs/stable-diffusion/v1-inference.yaml、v1-inpainting-inference.yaml内置 SD1.5 模型清单主模型、ControlNet、IP-Adapter、T2I-Adapterstarter_models.py模型加载器与变体通道映射stable_diffusion.py单文件权重到配置的映射single_file_config_files.py相关测试模型加载相关用例见 tests/backend/model_manager/例如针对 StableDiffusion1 检查点加载与配置映射的验证。将sd-v1-*.ckpt或社区 SD1.5 微调权重放入 InvokeAI 的模型目录后系统会依据上述配置自动完成结构识别、子模型拆分与 pipeline 加载随后即可在 WebUI 中以 SD1.x 为基座进行 txt2img、img2img、inpainting 及 ControlNet 等全套创作流程。【免费下载链接】InvokeAIInvoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.项目地址: https://gitcode.com/GitHub_Trending/in/InvokeAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考