Stable Cascade

詳細

ファイルをダウンロード

モデル説明

デモ

Stable Cascade

このモデルは、Würstchenアーキテクチャに基づいて構築されており、Stable Diffusionなどの他のモデルとの主な違いは、はるかに小さな潜在空間で動作する点です。なぜこれが重要なのでしょうか?潜在空間が小さいほど、推論が高速になり、トレーニングコストが削減されます。

潜在空間はどれほど小さいのでしょうか?Stable Diffusionは圧縮係数8を使用し、1024×1024の画像を128×128にエンコードします。一方、Stable Cascadeは圧縮係数42を達成しており、1024×1024の画像を24×24にエンコードしながら、鮮明な復元を実現できます。テキスト条件付きモデルは、この非常に高圧縮された潜在空間でトレーニングされます。このアーキテクチャの以前のバージョンは、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は、画像生成のカスケードを表す3つのモデル、Stage A、Stage B、Stage Cから構成されており、これが「Stable Cascade」という名前の由来です。

Stage AとBは、Stable DiffusionにおけるVAEの役割と同様に画像を圧縮するために使用されます。

しかし、この構成でははるかに高い画像圧縮が可能になります。Stable Diffusionモデルは空間圧縮係数8を使用して、1024×1024の画像を128×128にエンコードするのに対し、Stable Cascadeは圧縮係数42を達成し、1024×1024の画像を24×24にエンコードしながら正確に画像をデコードできます。これにより、トレーニングと推論のコストが大幅に削減されます。さらに、Stage Cはテキストプロンプトを入力として、小さな24×24の潜在変数を生成する役割を担っています。以下の図はこれを視覚的に示しています。

今回のリリースでは、Stage C用に2つのチェックポイント、Stage B用に2つ、Stage A用に1つを提供しています。Stage Cは10億パラメータと36億パラメータのバージョンを提供していますが、ほとんどのチューニング作業が36億パラメータ版に集中されているため、こちらの使用を強く推奨します。Stage Bの2つのバージョンはそれぞれ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の利用規約に違反するいかなる方法でも使用しないでください。

制限とバイアス

制限

  • 顔や一般の人々が適切に生成されないことがあります。

  • モデルの自己符号化部分は損失を伴います。

推奨事項

このモデルは研究目的のみに使用することを意図しています。

モデルの使い始め方

https://github.com/Stability-AI/StableCascade をチェックしてください

このモデルで生成された画像

画像が見つかりません。