目前、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