目前 huggingface 已经有一个 Stable Cascade 的在线 demo,可以快速体验:https://huggingface.co/spaces/multimodalart/stable-cascade
目前 Stable Cascade 的模型和代码(包括推理和训练)已经开源:
model:https://huggingface.co/stabilityai/stable-cascade
code:https://github.com/Stability-AI/StableCascade/tree/master
首先我们简单介绍一个 Stable Cascade 的模型架构,Stable Cascade 是基于之前的 Wuerstchen 架构,这个模型包含 3 个阶段,如下所示:
总结来看,Stable Cascade 是两个 latent diffusion 模型加一个小的 VQGAN 模型,其中一个 latent diffusion 起到生成的作用,而另外一个 latent diffusion 加 VQGAN 起到重建的作用。这里大家可能会想,为啥还需要用一个扩散模型来解码,而不是像 SD 那样直接用一个小的 decoder,主要是因为 42x 的下采样率还是损失比较大,需要一个生成能力更强的扩散模型来解码(这里公开了一个小的卷积网络来https://github.com/Stability-AI/StableCascade/blob/master/modules/previewer.py 来解码为 192x192 大小的预览图像),其实 VAE 也是有损压缩的,所以 DALLE-3 也搞出来一个基于扩散模型的 latent decoder。此外,Stable Cascade 的三阶段推理顺序是:Stage C -> Stage B -> Stage A,那么为啥三个解码的模型序号是反的,我猜这是因为序号是按照训练顺序来的,首先要训练 Stage A,然后是要训练 Stage B,注意训练 Stage B 的时候同时要把 Semantic Compressor 一起训练(EfficientNetV2-S 预训练模型是基于 ImageNet 的,并不能精准编码图像语义),然后固定 emantic Compressor 训练 Stage C。
在模型对比上,Stable Cascade 在文本一致性和图像质量上是优于 Playground v2, SDXL, SDXL Turbo 和 Würstchen v2。
参考
https://stability.ai/news/introducing-stable-cascade
https://huggingface.co/stabilityai/stable-cascade