目前、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 は 2 つの潜在的な拡散モデルと小さな VQGAN モデルで構成されており、1 つの潜在的な拡散モデルが生成の役割を果たし、もう 1 つの潜在的な拡散モデルと VQGAN が再構築の役割を果たします。ここで皆さんはおそらく疑問に思うかもしれませんが、なぜデコードに拡散モデルを使用する必要があるのか、SD のように小さなデコーダを直接使用しないのか、それは主に 42 倍のダウンサンプリング率がまだ大きな損失を引き起こすためであり、デコードにより生成能力の高い拡散モデルが必要です(ここでは、192x192 サイズのプレビュー画像をデコードするために小さな畳み込みネットワークが公開されていますhttps://github.com/Stability-AI/StableCascade/blob/master/modules/previewer.py)。実際、VAE も情報の損失がある圧縮ですので、DALLE-3 も拡散モデルに基づく潜在的なデコーダを作り出しました。さらに、Stable Cascade の 3 つのステージの推論順序は、Stage C -> Stage B -> Stage A です。では、なぜ 3 つのデコードモデルの番号が逆になっているのでしょうか、これはおそらく番号がトレーニングの順序に従っているためだと思われます。まず、Stage A をトレーニングし、次に Stage B をトレーニングする必要があります。Stage B のトレーニング時には、同時に Semantic Compressor もトレーニングする必要があります(EfficientNetV2-S の事前トレーニングモデルは ImageNet に基づいており、画像の意味を正確にエンコードすることはできません)。そして、Semantic 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