この記事は、インテルのブログで公開されている「Try Out Text-to-Image GenAI with a Stable Diffusion Workshop on the Intel® Tiber™ Developer Cloud」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
この記事の PDF 版はこちらからご利用になれます。
インテル® Tiber™ AI クラウドとは?
インテル® Tiber™ AI クラウド (旧称: インテル® Tiber™ デベロッパー・クラウド) は、クラウドベースのプラットフォームであり、開発者、AI/ML 研究者、エコシステム・パートナー、AI スタートアップ、およびエンタープライズ顧客に、最先端のインテルのハードウェアとソフトウェア・ソリューションを提供することで、AI とハイパフォーマンス・コンピューティング・アプリケーションを低コスト、低オーバーヘッドで構築、テスト、実行、最適化できるようにします。インテル® Tiber™ AI クラウドは、開発者に、インテルの CPU、GPU、および AI PC 上で小規模または大規模なワークロードを使用してイノベーションを行う簡単なパスを提供します。これには、oneAPI などの AI 向けに最適化されたソフトウェアも含まれます。
プラットフォームとハードウェアの機能をテストし、インテルで何ができるのかを知りたい開発者やエンタープライズ顧客向けには、無料の共有環境と Jupyter* Notebook が用意されています。
この記事では、テキストプロンプトに基づいて画像を作成する Stable Diffusion モデルの実践的な体験を提供するワークショップについて説明します。PyTorch* とインテル® Gaudi® AI アクセラレーターを活用して、Stable Diffusion の text-to-image 生成モデルで推論を実行する方法と、インテル® Tiber™ AI クラウドが生成 AI ワークロードの開発とデプロイにどのように役立つかが分かります。
生成 AI と Stable Diffusion
生成 AI は、さまざまな業界で急速に普及し、コンテンツの作成方法を変革し、問題解決や創造性の限界を押し広げる新たな手段を提供しています。text-to-image 生成は、ユーザーが提供したテキスト文の意味とコンテキストを解釈して、テキストプロンプトに基づいて画像を作成する人気の生成 AI アプリケーションです。このモデルは、画像と対応するテキストの説明のペアで構成される大規模なデータセットでトレーニングされ、単語と視覚的特徴の関連性を学習します。
Stable Diffusion は、text-to-image 合成によって画像を作成する人気のディープラーニング生成 AI モデルです。Diffusion (拡散) モデルでは、ランダムノイズを徐々に精製して意味のある視覚出力にすることで画像が作成されます。オープンソースで効率的かつスケーラブルな Stable Diffusion は、クリエイティブなアプリケーションで人気があります。
このトレーニングでは、インテル® Gaudi® AI アクセラレーターと PyTorch* を使用して Stable Diffusion モデルを実行します。GPU サポートとより優れたパフォーマンスを得るため、PyTorch* 向けインテル® エクステンション (英語) も利用できます。これは、インテル® プロセッサー上で大規模言語モデル (LLM) や生成 AI (GenAI) など、さまざまなアプリケーションのディープラーニング・トレーニングと推論のパフォーマンスを最適化します。
Stable Diffusion ワークショップによる推論
最初に、cloud.intel.com (英語) にサインインします。まだアカウントをお持ちでない場合は、こちらの手順に従ってアカウント登録を行ってください。
サインインしたら、コンソールの左上のメニューアイコンをクリックして Training (英語) を選択します。
Training ページには、インテル® Tiber™ AI クラウドで利用できる JupyterLab* ワークショップがいくつか用意されています。AI、インテル® Gaudi® 2 AI アクセラレーターを使用した AI、インテル® データセンター GPU マックス・シリーズを使用した AI、C++ SYCL*、レンダリング・ツールキットなどがあります。
このチュートリアルでは、AI with Intel Gaudi 2 Accelerator トレーニングの Inference with Stable Diffusion v2.1 ワークショップ (英語) を使用します。[Launch] をクリックして Jupyter* Notebook にアクセスします。
Jupyter* Notebook トレーニングが起動したら、右上の Kernel が Python 3 (ipykernel) に設定されていることを確認します。セルを実行し、ノートブックの手順に従って、Stable Diffusion を使用して推論を行い、プロンプトから画像を作成するいくつかのサンプルを確認してください。以下は、トレーニング・ノートブックに記載された手順の詳しい説明です。
注: ここでは参考用にコードの一部のみを表示しており、実行に必要な重要な行が含まれていません。完全なコードは、Jupyter* Notebook を参照してください。
ステップ 1: 環境のセットアップ
まず、Habana Model-References リポジトリーのブランチを Docker* にクローンし、Python* パッケージの依存関係をすべてインストールします。また、Hugging Face (英語) からモデルのチェックポイントをダウンロードします。
%cd ~/Gaudi-tutorials/PyTorch/Single_card_tutorials !git clone -b 1.15.1 https://github.com/habanaai/Model-References %cd Model-References/PyTorch/generative_models/stable-diffusion-v-2-1 !pip install -q -r requirements.txt !wget https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/ v2-1_512-ema-pruned.ckpt
すべての要件とモデルをダウンロードしたら、画像生成の準備は完了です。
ステップ 2: 推論の実行
prompt = input("Enter a prompt for image generation: ")
上記のコード行は、モデルが画像を作成するのに必要なプロンプトフィールドを作成します。任意のテキストを入力して画像を作成できます。このチュートリアルでは、「cat wearing a hat」 (帽子をかぶった猫) というプロンプトを使用します。
テキスト プロンプトを入力すると、定義済みパラメーターを持つ以下のコードが実行され、画像が作成されます。
cmd = f'python3 scripts/txt2img.py --prompt "{prompt}" 1 --ckpt v2-1_512-ema-pruned.ckpt \ --config configs/stable-diffusion/v2-inference.yaml \ --H 512 --W 512 \ --n_samples 1 \ --n_iter 2 --steps 35 \ --k_sampler dpmpp_2m \ --use_hpu_graph' print(cmd) import os os.system(cmd)
ステップ 3: 結果の表示
Stable Diffusion を使って作成された画像を確認します。ノートブックのセルを実行するか、左側のパネルの File Browser を使って出力フォルダーに移動します。
/Gaudi-tutorials/PyTorch/Single_card_tutorials/Model-References
/PyTorch/generative_models/stable-diffusion-v-2-1/outputs/txt2img-samples/
作成された画像は outputs フォルダー以下に grid-0000.png という名前で保存されています。以下は、このチュートリアルのプロンプトから作成された画像です。
上記のステップを実行することで、インテル® Gaudi® AI アクセラレーター上で PyTorch*、モデル推論、プロンプト・エンジニアリングなど、生成 AI と Stable Diffusion の機能を試すことができます。
インテル® Tiber™ AI クラウドで最新のシリコン・ハードウェアと最適化されたソフトウェアにアクセスし、革新的な AI プロジェクトを開発および強化してみてください。インテルの AI ツールとフレームワークの最適化 (英語) をチェックし、インテルの AI ソフトウェア・ポートフォリオ (英語) の基盤となる統一されたオープンな標準ベースの oneAPI プログラミング・モデルについて学びましょう。また、業界をリードする独立系ソフトウェア・ベンダー (ISV)、システム・インテグレーター (SIer)、OEM、エンタープライズ・ユーザーとのコラボレーション (英語) が、AI の導入をどのように加速させるかをご覧ください。