目前 huggingface 已經有一個 Stable Cascade 的線上演示,可以快速體驗:https://huggingface.co/spaces/multimodalart/stable-cascade
目前 Stable Cascade 的模型和程式碼(包括推理和訓練)已經開源:
模型:https://huggingface.co/stabilityai/stable-cascade
程式碼: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