この記事では、Amazon SageMaker での Stable Diffusion Quick Kit のデプロイメントを使用して、Stable Diffusion モデルの基本、HuggingFace Difusers インターフェイス、および Quick Kit を使用して SageMaker エンドポイントに推論サービスを迅速にデプロイする方法を紹介します。
安定拡散モデル
2022 年に、StabilityAI、Runway、およびミュンヘン大学の CompVis チームが共同で Stable Diffusion モデルをリリースしました。モデルのコードと重みはオープンソース化されています。現在の主流バージョンは v1.5 (runwayml/stable-diffusion-) v1-5)、v2、および v2.1 (安定性 a/安定拡散-2、安定性 a/安定拡散-2-1)。安定拡散モデルは、ヒントを使用して、含めるか省略する要素を記述する新しい画像を生成するだけでなく、ヒントに記述された新しい要素を使用して既存の画像を再描画することもサポートしています。また、このモデルでは、既存にヒントを追加することもできます。図の内側と外側の図。
安定拡散は、潜在拡散モデル (LDM) に基づくテキストから画像へのモデルです。Stable Diffusion は、変分自動エンコーダ (VAE)、U-Net、テキスト エンコーダの 3 つの部分で構成されます。安定拡散は、テキスト生成専用の LAION-5B のサブセットで潜在拡散モデルをトレーニングします。このモデルは、潜在表現空間でデータの「ノイズ除去」を繰り返すことによって画像を生成し、その表現結果を完全な画像にデコードします。画像生成は GPU 上で 10 秒未満で完了できます。これにより、着地しきい値が大幅に削減され、テキストと画像生成の分野で火を起こしました。
安定拡散モデル
一般的な形式と保存方法
現在、コミュニティ内のさまざまな Stable Diffusion 派生モデルにはさまざまなファイル形式と保存方法があり、これらのファイル形式と保存方法が異なると、ユーザーは読み込みと推論に異なるコードを使用する必要があります。安定拡散モデルの主流のファイル形式は主に ckpt とセーフテンソルの 2 つで、保存方法は 1 つのファイルとディフューザ構造に分けることができます。
安定拡散モデルの一般的な推論方法
安定拡散モデルの一般的な使用法:
- ネイティブ pytorch コードについては、CompVis は Stable Diffusion の stack-diffusion-v1-4 で txt2img.py および img2img.py を提供します。これらは、pytorch を介してモデルをロードすることによって生成されます。
- Stable-Diffusion-WebUI、InvokAI、ComfyUI などの GUI は、通常、これらのツールは UI および推論サービスと連携して動作し、ローカル グラフィックス カードにデプロイされます。
- HuggingFace Difusers インターフェイスは、StableDiffusionPipeline、StableDiffusionImg2ImgPipeline を介してサードパーティ モデルまたはローカル モデルを迅速にロードでき、Stable Diffusion Quick Kit は Difuser の方法で呼び出されます。
推論プロセスでは、対応するサンプラー (サンプラー、ディフューザーではスケジューラーと呼ばれます) を選択できます。一般的なサンプラーには、Euler Discrete、Euler Ancestral Discrete、DDIM、KDPM2 Discrete、LMSD などが含まれます。
SageMaker で Quick Kit を使用する
安定拡散推論サービスの迅速な展開
クラウド上にデプロイされた安定拡散モデルの推論とトレーニングのために Amazon クラウド アーキテクト チームによって特別に作成されたエンジニアリング コードは、sagemaker-stablediffusion-quick-kit を通じて、ディフューザー ディレクトリ構造のモデルを SageMaker に迅速にデプロイでき、生成された Http プロトコルの API インターフェイスと、フロント エンドとバック エンドを分離するインターフェイス。これにより、Amazon クラウド テクノロジーのユーザーは安定した拡散をビジネスや製品に迅速に適用できるようになります。
結論は
まとめると、Stable Diffusion の推論は比較的時間のかかるサービスであり、クライアントにサービスを提供する際には、複数の同時リクエストに対するサービスの可用性と拡張性を考慮する必要がありますが、AI 推論は通常のアプリケーション サービスと比較して、比較的高価な GPU リソースの使用信頼性の高いサービスを確保するという前提の下でコストを効果的に制御する方法も、Amazon クラウド テクノロジーが考慮する必要がある重要な要素です。
SageMaker の非同期推論は、上記の目標を簡単に達成できます。その内部キューは、フロントエンドのリクエストとバックエンドの推論を分離し、トラフィックのピーク時のバッファリングを実現して、サービスの可用性を確保できます。SageMaker の非同期推論による AutoScaling は、自動的に拡張できます。推論ノードは、リソースの回復を実現します。トラフィックの少ない時間帯に利用し、コストを節約します。v100 専用グラフィックス カードや 3090 などの民間グラフィックス カードと比較して、SageMaker が提供する ml.g4dn や ml.g5 などのよりコスト効率の高いモデルが推論の実装に使用されており、前提条件の下でリソース コストをさらに制御できます。パフォーマンスを確保すること。SageMaker と Stable Diffusion Quick Kit を組み合わせると、Amazon Cloud 上での拡散モデルのエンジニアリング展開を迅速に完了でき、ユーザーの AIGC 製品化に強固で信頼性の高い基盤を提供できます。