Stable Cascade
详情
下载文件
模型描述
演示:
multimodalart:https://hf.co/spaces/multimodalart/stable-cascade
ehristoforu:https://hf.co/spaces/ehristoforu/Stable-Cascade
Stable Cascade
该模型基于 Würstchen 架构构建,其与 Stable Diffusion 等其他模型的主要区别在于,它在小得多的潜在空间中运行。为什么这很重要?潜在空间越小,推理速度就越快,训练成本就越低。
潜在空间有多小?Stable Diffusion 使用 8 倍压缩因子,将 1024x1024 图像编码为 128x128。而 Stable Cascade 实现了 42 倍压缩因子,这意味着它能够将 1024x1024 图像编码为 24x24,同时仍保持清晰的重建效果。文本条件模型则在高度压缩的潜在空间中进行训练。该架构的先前版本相比 Stable Diffusion 1.5 实现了 16 倍的成本降低。
因此,这类模型非常适合对效率要求较高的应用场景。此外,所有已知的扩展方法,如微调、LoRA、ControlNet、IP-Adapter、LCM 等,也同样适用于此方法。
模型详情
模型描述
Stable Cascade 是一个扩散模型,旨在根据文本提示生成图像。
- 开发方:Stability AI
- 资助方:Stability AI
- 模型类型:生成式文生图模型
模型来源
出于研究目的,我们推荐使用我们的 StableCascade GitHub 仓库:https://github.com/Stability-AI/StableCascade
模型概览
Stable Cascade 由三个模型组成:Stage A、Stage B 和 Stage C,它们共同构成一个图像生成级联结构,因此得名“Stable Cascade”。
Stage A 和 B 用于压缩图像,类似于 Stable Diffusion 中 VAE 的作用。
然而,这种架构能够实现更高的图像压缩率。Stable Diffusion 模型使用 8 倍的空间压缩因子,将 1024x1024 图像编码为 128x128;而 Stable Cascade 实现了 42 倍压缩因子,将 1024x1024 图像编码为 24x24,同时仍能精确解码图像。这带来了训练和推理成本大幅降低的巨大优势。此外,Stage C 负责根据文本提示生成 24x24 的小尺寸潜在表示。下图直观展示了这一过程。

本次发布提供:Stage C 两个检查点、Stage B 两个检查点、Stage A 一个检查点。Stage C 包含 10 亿和 36 亿参数两个版本,但我们强烈推荐使用 36 亿参数版本,因为大部分微调工作都集中于此。Stage B 的两个版本参数量分别为 7 亿和 15 亿,两者均表现优异,但 15 亿版本在重建细微细节方面更胜一筹。因此,若要获得最佳效果,建议每阶段均使用较大版本。最后,Stage A 包含 2000 万参数,因其体积较小,参数固定不变。
评估

根据我们的评估,Stable Cascade 在几乎所有对比中均在提示对齐和美学质量方面表现最佳。上图展示了使用混合了 parti-prompts(链接)和美学提示的人类评估结果。具体而言,Stable Cascade(30 步推理)与 Playground v2(50 步推理)、SDXL(50 步推理)、SDXL Turbo(1 步推理)和 Würstchen v2(30 步推理)进行了比较。
代码示例
⚠️ 重要:要使以下代码正常运行,您必须在 PR 完成前从该分支安装 diffusers:
pip install git+https://github.com/kashif/diffusers.git@wuerstchen-v3
import torch
from diffusers import StableCascadeDecoderPipeline, StableCascadePriorPipeline
device = "cuda"
num_images_per_prompt = 2
prior = StableCascadePriorPipeline.from_pretrained("stabilityai/stable-cascade-prior", torch_dtype=torch.bfloat16).to(device)
decoder = StableCascadeDecoderPipeline.from_pretrained("stabilityai/stable-cascade", torch_dtype=torch.float16).to(device)
prompt = "Anthropomorphic cat dressed as a pilot"
negative_prompt = ""
prior_output = prior(
prompt=prompt,
height=1024,
width=1024,
negative_prompt=negative_prompt,
guidance_scale=4.0,
num_images_per_prompt=num_images_per_prompt,
num_inference_steps=20
)
decoder_output = decoder(
image_embeddings=prior_output.image_embeddings.half(),
prompt=prompt,
negative_prompt=negative_prompt,
guidance_scale=0.0,
output_type="pil",
num_inference_steps=10
).images
# 现在 decoder_output 是一个包含 PIL 图像的列表
使用场景
直接使用
目前该模型仅限于研究用途。可能的研究领域和任务包括:
- 生成式模型研究。
- 安全部署可能生成有害内容的模型。
- 探索和理解生成式模型的局限性与偏见。
- 艺术创作生成及在设计和其他艺术过程中的应用。
- 教育或创意工具中的应用。
以下用途被排除在外。
超出范围的使用
该模型并未训练用于真实或准确地表现人物或事件,因此使用该模型生成此类内容超出了其能力范围。
不得以任何方式违反 Stability AI 的 可接受使用政策 使用本模型。
局限性与偏见
局限性
- 面部和人物整体可能无法正确生成。
- 模型的自编码部分是有损的。
建议
本模型仅限用于研究目的。







