2022年XNUMX月、私たちは 発表の AWS のお客様は、テキストから画像を生成できる 安定拡散 モデルイン Amazon SageMaker ジャンプスタート. 本日、JumpStart の Stable Diffusion モデルを使用して画像をアップスケールする (品質を落とさずに画像のサイズを変更する) ことができる新機能を発表します。 低解像度でぼやけたピクセル化された画像は、より滑らかで鮮明で詳細に見える高解像度画像に変換できます。 と呼ばれるこのプロセス アップスケーリング、実際の画像とによって生成された画像の両方に適用できます テキストから画像への安定拡散モデル. アーティストや写真家だけでなく、e コマースや不動産などのさまざまな業界で画質を向上させるために使用できます。 さらに、アップスケーリングは、高解像度の画面に表示されたときに、低解像度の画像の視覚的な品質を向上させることができます。
Stable Diffusion は AI アルゴリズムを使用して画像をアップスケールし、画像のギャップを手動で埋める必要のある手動作業の必要性を排除します。 何百万もの画像でトレーニングされており、高解像度の画像を正確に予測できるため、従来の画像アップスケーラーと比較して詳細が大幅に向上します。 さらに、最近傍法などの非深層学習手法とは異なり、Stable Diffusion は画像のコンテキストを考慮し、テキスト プロンプトを使用してアップスケーリング プロセスをガイドします。
この投稿では、XNUMX つの方法で Stable Diffusion アップスケーラー モデルをデプロイして推論を実行する方法の概要を説明します。 Amazon SageMakerスタジオ、およびプログラムによって JumpStart API で利用可能 SageMaker Python SDK.
ソリューションの概要
次の画像は、モデルによって実行されるアップスケーリングの例を示しています。 左側は、モデルによって生成された画像のサイズに合わせて拡大された元の低解像度画像です。 右側は、モデルによって生成された画像です。
最初に生成された画像は、低解像度の猫画像とプロンプト「白猫」の結果です。
XNUMX 番目に生成された画像は、低解像度の蝶の画像と「緑の葉の上の蝶」というプロンプトの結果です。
Stable Diffusion のような大きなモデルを実行するには、カスタムの推論スクリプトが必要です。 エンド ツー エンドのテストを実行して、スクリプト、モデル、および目的のインスタンスが効率的に連携することを確認する必要があります。 JumpStart は、しっかりとテストされたすぐに使えるスクリプトを提供することで、このプロセスを簡素化します。 これらのスクリプトには、Studio UI からワンクリックでアクセスできます。 JumpStart API.
次のセクションでは、Studio UI または JumpStart API を使用してモデルをデプロイし、推論を実行する方法の概要を説明します。
このモデルを使用することにより、以下に同意することに注意してください CreativeML Open RAIL++-M ライセンス.
StudioUIからJumpStartにアクセスします
このセクションでは、Studio UI を使用して JumpStart モデルをトレーニングおよびデプロイする方法を示します。 次のビデオは、事前トレーニング済みの Stable Diffusion アップスケーラー モデルを JumpStart で見つけてデプロイする方法を示しています。 モデル ページには、モデルとその使用方法に関する貴重な情報が含まれています。 推論には ml.p3.2xlarge インスタンス タイプを使用します。これは、低価格で低推論レイテンシーに必要な GPU アクセラレーションを提供するためです。 SageMaker ホスティングインスタンスを設定したら、選択します 配備します. エンドポイントが起動して実行され、推論リクエストに応答できるようになるまで 5 ~ 10 分かかります。
推論までの時間を短縮するために、JumpStart には、新しく作成されたエンドポイントで推論を実行する方法を示すサンプル ノートブックが用意されています。 Studio でノートブックにアクセスするには、 ノートブックを開く セクションに StudioのEndpointを使用する モデル エンドポイント ページのセクション。
SageMakerSDKでJumpStartをプログラムで使用する
JumpStart UI を使用すると、数回クリックするだけで、事前トレーニング済みのモデルをインタラクティブにデプロイできます。 ただし、SageMaker Python SDK に統合された API を使用して、プログラムで JumpStart モデルを使用することもできます。
このセクションでは、JumpStart で適切な事前トレーニング済みモデルを選択し、このモデルを SageMaker エンドポイントにデプロイし、デプロイされたエンドポイントで推論を実行します。すべて SageMaker Python SDK を使用します。 次の例には、コード スニペットが含まれています。 このデモのすべてのステップを含む完全なコードについては、 JumpStart の紹介 – プロンプトに従って画質を向上させる ノートブックの例。
事前トレーニング済みのモデルをデプロイする
SageMaker は、さまざまなビルドおよびランタイム タスクに Docker コンテナを利用します。 JumpStart は SageMakerディープラーニングコンテナ フレームワーク固有の (DLC)。 最初に、追加のパッケージと、選択したタスクのトレーニングと推論を処理するスクリプトをフェッチします。 次に、事前トレーニング済みのモデル アーティファクトが個別にフェッチされます。 model_uris
、プラットフォームに柔軟性を提供します。 これにより、複数の事前トレーニング済みモデルを XNUMX つの推論スクリプトで使用できます。 次のコードは、このプロセスを示しています。
次に、これらのリソースを SageMakerモデル インスタンス化してエンドポイントをデプロイします。
モデルがデプロイされた後、リアルタイムで予測を取得できます!
入力形式
エンドポイントは、低解像度の画像を生の RGB 値または base64 でエンコードされた画像として受け入れます。 推論ハンドラーは、に基づいて画像をデコードします。 content_type
:
-
content_type = “application/json”
、入力ペイロードは、未加工の RGB 値、テキスト プロンプト、およびその他のオプション パラメータを含む JSON ディクショナリである必要があります -
content_type = “application/json;jpeg”
、入力ペイロードは、base64 でエンコードされた画像、テキスト プロンプト、およびその他のオプション パラメータを含む JSON ディクショナリである必要があります
出力フォーマット
次のコード例では、出力がどのように見えるかを垣間見ることができます。 入力形式と同様に、エンドポイントは画像の生の RGB 値または base64 でエンコードされた画像で応答できます。 設定で指定可能 accept
XNUMX つの値のいずれかに:
-
accept = “application/json”
、エンドポイントは画像の RGB 値を含む JSON ディクショナリを返します -
accept = “application/json;jpeg”
の場合、エンドポイントは base64.b64 エンコーディングでエンコードされたバイトとして JPEG 画像を含む JSON ディクショナリを返します
生の RGB 値でペイロードを送受信すると、入力ペイロードと応答サイズのデフォルト制限に達する可能性があることに注意してください。 したがって、base64 でエンコードされたイメージを設定して使用することをお勧めします。 content_type = “application/json;jpeg”
および accept = “application/json;jpeg”
.
次のコードは、推論リクエストの例です。
エンドポイントの応答は、生成された画像とプロンプトを含む JSON オブジェクトです。
サポートされるパラメーター
Stable Diffusion アップスケーリング モデルは、画像生成用の多くのパラメーターをサポートしています。
- 画像 – 低解像度の画像。
- プロンプト – イメージ生成をガイドするプロンプト。 文字列または文字列のリストにすることができます。
- num_inference_steps (オプション) – 画像生成中のノイズ除去ステップの数。 ステップ数が多いほど、画質が向上します。 指定する場合は、正の整数にする必要があります。 推論ステップが増えると、応答時間が長くなることに注意してください。
- guide_scale (オプション) – ガイダンス スケールを高くすると、画像の品質が犠牲になりますが、プロンプトにより密接に関連する画像になります。 指定する場合は、float にする必要があります。
guidance_scale<=1
無視されます。 - negative_prompt (オプション) – これは、このプロンプトに対してイメージ生成をガイドします。 指定する場合は、文字列または文字列のリストであり、一緒に使用する必要があります
guidance_scale
。 場合guidance_scale
が無効になっている場合、これも無効になります。 さらに、プロンプトが文字列のリストである場合、negative_prompt も文字列のリストでなければなりません。 - シード(オプション) – これにより、再現性のためにランダム化された状態が修正されます。 指定する場合は、整数にする必要があります。 同じシードで同じプロンプトを使用すると、結果のイメージは常に同じになります。
- noise_level (オプション) – これにより、アップスケーリングの前に潜在ベクトルにノイズが追加されます。 指定する場合は、整数にする必要があります。
エンドポイントを繰り返し呼び出して画像を再帰的にアップスケールし、より高品質の画像を取得できます。
イメージのサイズとインスタンス タイプ
モデルによって生成される画像は、元の低解像度画像の最大 5.2 倍のサイズになる場合があります。 さらに、モデルのメモリ要件 (GPU メモリ) は、生成された画像のサイズと共に増加します。 したがって、すでに高解像度の画像をアップスケーリングする場合、または画像を再帰的にアップスケーリングする場合は、大容量の GPU メモリを備えたインスタンス タイプを選択してください。 たとえば、ml.g3.2xlarge には、以前に使用した ml.pXNUMXxlarge インスタンス タイプよりも多くの GPU メモリがあります。 さまざまなインスタンス タイプの詳細については、次を参照してください。 AmazonEC2インスタンスタイプ.
画像を少しずつアップスケーリングする
大きな画像をアップスケーリングするときのメモリ要件を減らすために、画像を小さなセクションに分割できます。 タイル、各タイルを個別にアップスケールします。 タイルが拡大された後、それらをブレンドして最終的な画像を作成できます。 この方法では、モデルがタイルの内容を理解し、奇妙な画像の作成を回避できるように、タイルごとにプロンプトを調整する必要があります。 ブレンドを容易にするために、プロンプトのスタイル部分はすべてのタイルで一貫している必要があります。 より高いノイズ除去設定を使用する場合、モデルが画像を適応させる自由度が高くなるため、プロンプトでより具体的にすることが重要です。 タイルに背景しか含まれていない場合や、画像のメイン コンテンツに直接関連していない場合、これは困難な場合があります。
制限とバイアス
Stable Diffusion はアップスケーリングで優れたパフォーマンスを発揮しますが、いくつかの制限や偏りがあります。 これらには以下が含まれますが、これらに限定されません。
- トレーニング データにこれらの機能を備えた十分な画像が含まれていないため、モデルは正確な顔や手足を生成しない場合があります
- モデルは、 LAION-5B データセット、成人向けコンテンツが含まれており、さらに考慮しないと製品の使用に適さない可能性があります
- モデルは英語のテキストでトレーニングされているため、モデルは英語以外の言語ではうまく機能しない可能性があります
- モデルは画像内に適切なテキストを生成できません
制限とバイアスの詳細については、 Stable Diffusion アップスケーラー モデル カード.
クリーンアップ
ノートブックの実行が完了したら、プロセスで作成されたすべてのリソースを必ず削除して、請求が停止されるようにしてください。 エンドポイントをクリーンアップするコードは、関連する ノート.
まとめ
この投稿では、JumpStart を使用して事前トレーニング済みの Stable Diffusion アップスケーラー モデルをデプロイする方法を示しました。 この投稿ではコード スニペットを示しました。このデモのすべての手順を含む完全なコードは、 JumpStart の紹介 – プロンプトに従って画質を向上させる 例のノート。 ご自身で解決策を試し、ご意見をお寄せください。
モデルとその仕組みの詳細については、次のリソースを参照してください。
JumpStart の詳細については、次のブログ投稿をご覧ください。
著者について
ヴィヴェック・マダン博士 Amazon SageMaker JumpStart チームの応用科学者です。 イリノイ大学アーバナ シャンペーン校で博士号を取得し、ジョージア工科大学で博士研究員を務めました。 彼は機械学習とアルゴリズム設計の活発な研究者であり、EMNLP、ICLR、COLT、FOCS、および SODA カンファレンスで論文を発表しています。
ヘイコ・ホッツ AI と機械学習のシニア ソリューション アーキテクトで、自然言語処理 (NLP)、大規模言語モデル (LLM)、ジェネレーティブ AI に特に重点を置いています。 この役職に就く前は、Amazon の EU カスタマー サービスのデータ サイエンス責任者でした。 Heiko は、お客様が AWS で AI/ML ジャーニーを成功させるのを支援し、保険、金融サービス、メディアとエンターテイメント、ヘルスケア、公益事業、製造など、多くの業界の組織と協力してきました。 余暇には、平子はできるだけ旅行に出かけます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- 私たちについて
- 加速する
- 同意
- 受け入れる
- アクセス
- 正確な
- 正確にデジタル化
- 達成
- アクティブ
- 適応する
- NEW
- さらに
- 追加
- 成人
- 後
- に対して
- AI
- AIと機械学習
- AI / ML
- アルゴリズム
- すべて
- ことができます
- 既に
- 常に
- Amazon
- アマゾンセージメーカー
- Amazon SageMaker ジャンプスタート
- および
- アナウンス
- API
- API
- 適用された
- 適切な
- Artists
- 関連する
- 自動的に
- 利用できます
- AWS
- 背景
- ベース
- なぜなら
- さ
- バイアス
- 請求
- 混合
- ブログ
- ブログの投稿
- ブレーク
- ビルド
- 呼ばれます
- 取得することができます
- CAT
- 挑戦
- チェック
- 選択する
- class
- より明確に
- 密接に
- コード
- 注釈
- 比べ
- 会議
- 整合性のある
- コンテナ
- コンテナ
- 含まれています
- コンテンツ
- コンテキスト
- 変換
- 作ります
- 作成した
- 作成
- カスタム
- 顧客
- 顧客サービス
- Customers
- データ
- データサイエンス
- 減少
- 深いです
- 深い学習
- デフォルト
- 実証します
- 展開します
- 展開
- 設計
- 詳細
- 詳細な
- 異なります
- 直接に
- 無効
- デッカー
- そうではありません
- 間に
- 各
- 前
- 容易
- eコマース
- 効率良く
- どちら
- 排除
- 端から端まで
- エンドポイント
- 英語
- 確保
- エンターテインメント
- エントリ
- 不動産
- EU
- 例
- 例
- 顔
- 特徴
- フェッチ
- 少数の
- File
- ファイナル
- ファイナンシャル
- 金融業務
- もう完成させ、ワークスペースに掲示しましたか?
- 名
- フィット
- 柔軟性
- フロート
- フォーカス
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- 自由
- から
- フル
- さらに
- さらに
- 生成する
- 生成された
- 世代
- 生々しい
- 生成AI
- 取得する
- 与える
- 垣間見ます
- 良い
- GPU
- グリーン
- 育ちます
- ガイド
- ガイド
- ハンドル
- ヘルスケア
- 高さ
- ことができます
- 高解像度の
- より高い
- ヒット
- ホスティング
- 認定条件
- How To
- しかしながら
- HTML
- HTTPS
- イリノイ州
- 画像
- 画像
- 重要
- 印象的
- 改善します
- in
- include
- 含めて
- 増える
- 個別に
- 産業
- 情報
- 保険
- 統合された
- インタフェース
- IT
- 旅
- JSON
- 既知の
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 大
- レイテンシ
- つながる
- LEARN
- 学習
- ことができます
- 制限
- 限定的
- 制限
- ライン
- リスト
- より長いです
- 見て
- のように見える
- 負け
- ロー
- 機械
- 機械学習
- メイン
- make
- マニュアル
- 手仕事
- 手動で
- 製造業
- 多くの
- 一致
- メディア
- メモリ
- 方法
- 何百万
- 分
- ML
- モデル
- 他には?
- の試合に
- ナチュラル
- 自然言語処理
- 必要
- 新作
- NLP
- ノイズ
- ノート
- 11月
- 数
- オブジェクト
- ONE
- 開いた
- 注文
- 組織
- オリジナル
- その他
- 概要
- 自分の
- パッケージ
- 論文
- パラメータ
- 部
- パフォーマンス
- 画像
- ピース
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- 正の
- 可能
- ポスト
- 投稿
- 力
- 予測する
- 予測
- Predictor
- 現在
- ブランド
- 事前の
- プロセス
- 処理
- プロダクト
- 提供します
- は、大阪で
- 提供
- 公表
- Python
- 品質
- ランダム化
- Raw
- 準備
- リアル
- 不動産
- 受け入れ
- 推奨する
- 関連する
- 残る
- 繰り返し
- 要求
- リクエスト
- 必要とする
- 要件
- 要件
- 必要
- 研究者
- 解像度
- リソース
- 反応します
- 応答
- 結果
- 結果として
- 結果
- return
- 収益
- RGB
- 職種
- ラン
- ランニング
- セージメーカー
- 同じ
- 規模
- 科学
- 科学者
- 画面
- スクリプト
- SDDK
- 二番
- セクション
- セクション
- シード
- 選択
- 送信
- シニア
- サービス
- サービス
- 設定
- 設定
- いくつかの
- すべき
- 表示する
- 作品
- 重要
- 同様に
- サイズ
- より小さい
- より滑らかに
- So
- 溶液
- ソリューション
- 特別
- 特定の
- 指定の
- 安定した
- 都道府県
- ステップ
- 停止
- 研究
- 成功した
- そのような
- 苦しみ
- 十分な
- サポート
- 取る
- 取り
- 仕事
- タスク
- チーム
- テク
- テクニック
- テスト
- アプリ環境に合わせて
- したがって、
- 介して
- 時間
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- 今日
- 一緒に
- 伝統的な
- トレーニング
- 訓練された
- トレーニング
- 旅行
- ui
- わかる
- 大学
- us
- つかいます
- ユーザー
- ユーザーインターフェース
- 公益事業
- 利用
- 貴重な
- 価値観
- さまざまな
- 、
- ビデオ
- 方法
- この試験は
- which
- 白
- 意志
- 以内
- 無し
- 仕事
- 共に働く
- 働いていました
- 作品
- You
- あなたの
- ゼファーネット