OpenVINO™ を使用してインテル® GPU で Stable Diffusion を実行する方法

OpenVINO™ ツールキット

この記事は、Medium に公開されている「How to run Stable Diffusion on Intel GPUs with OpenVINO」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


この記事の PDF 版はこちらからご利用になれます。

注: この方法は CPU 上でも実行できます。

OpenVINO™ ノートブックには、いくつかの AI サンプルが用意されています。では、Stable Diffusion を実行してモデルを OpenVINO™ 中間表現 (IR) 形式に変換し、CPU や GPU で効率的に実行できることはご存知ですか? FP32 モデルを FP16 に圧縮することにより、モデルのサイズがほぼ半分に減り、実行に必要な RAM/VRAM の量も大幅に減ります。最も重要なのは、インテル® Xe マトリクス・エクステンション (インテル® XMX – シストリック・アレイ (英語)) が有効になると、GPU 処理が大幅に高速化されることです。

以下に、ノートブックを実行して得られた結果をいくつか示します。インテル® Arc™ A770m では、(デバッグモードなしで) 1 秒あたり約 6.0 回の反復を実行できます。以下のような高品質のイメージを生成するのに、通常は約 10 秒もかかりません。


OpenVINO™ ノートブックを使用してインテル® Arc™ A770m で Stable Diffusion の Text-to-image パイプラインを実行した結果。


Image-to-Image パイプラインで写真を水彩画に変換した例。

まず、OpenVINO™ ノートブックのリポジトリー (英語) にアクセスします。このリポジトリーに、このデモを完了するために必要なものがすべて含まれています。


Stable Diffusion は 225-stable-diffusion-text-to-image フォルダーに含まれています。

このフォルダーには、有名な Text-to-image パイプラインだけでなく、Image-to-Image 生成パイプラインも含まれています。では、実際にパイプラインを実行してみましょう。


パイプライン

インストール方法

最初に、OpenVINO™ ノートブックをインストールします。Windows* を使用している場合は、以下の手順に従ってください。
https://github.com/openvinotoolkit/openvino_notebooks/wiki/Windows (英語)

Linux* を使用している場合は、以下の手順に従ってください。
https://github.com/openvinotoolkit/openvino_notebooks/wiki/Ubuntu (英語)

具体的に説明します。

Python* 3.10.x (またはそれ以前) をインストールして仮想環境を作成します。

python3 -m venv openvino_env
source openvino_env/bin/activate #for linux

git clone コマンドを実行してリポジトリーのクローンを作成します。

git clone --depth=1 https://github.com/openvinotoolkit/openvino_notebooks.git
cd openvino_notebooks

すべてのライブラリーと依存ファイルをインストールします。

pip install -r requirements.txt

Jupyter* Notebook を実行します。

jupyter lab notebooks


[Run All Cells] を選択して待ちます。

コードを見てみましょう。ここでは、PyTorch* パイプラインを実際に最適化し、OpenVINO™ を使用してコードを実行します。

初回のダウンロードと変換には少し時間がかかります。完了すると、IR ファイルのセットが得られます。事前トレーニング済みの、最適化されたモデルを huggingface (英語) から入手することもできます。

インテル® Arc™ GPU を利用可能な場合は、コードを「GPU」に変更できます。デフォルトは「AUTO」で、GPU を検出すると自動的に GPU に切り替わります。


GPU で実行。


AUTO プラグイン。最初に CPU を使用した後、自動的に GPU に切り替わります。

ここでは、ステップを 30 に設定しました。見栄えの良い結果を得るには 50 に設定します。ここで入力テキストを変更すると、さまざまなシーンを生成できます。とてもクールな、素晴らしいイメージを生成したい場合は、コミュニティーがまとめたプロンプトをいくつか試してみてください。https://mpost.io/best-100-stable-diffusion-prompts-the-most-beautiful-ai-text-to-image-prompts/ (英語)

最後に、各ステップで何が起こったかを視覚化する GIF ファイルも生成しました。

Image-to-Image パイプライン

ノートブックで作業を続けると、プロンプトを使用して最終イメージの外観に「影響を与える」こともできることが分かります。ここでは写真を水彩画に変換する例を示しました。


初期イメージとプロンプトに基づいてイメージを生成します。これで必要な結果が得られます。


Image-to-Image パイプラインの結果。

最新情報: Stable Diffusion v2 が OpenVINO™ ノートブックで利用できるようになりました (英語)。

まとめ

Stable Diffusion の動作を確認したい場合、およびインテルのハードウェアにおけるハードウェア・アクセラレーションの動作を確認したい場合は、OpenVINO™ ノートブックを使用するのが最適です。質問がある場合や、得られた結果を披露したい場合は、GitHub* のディスカッション・ボード (英語) にコメントしてください。コーディングを楽しみましょう!

この記事が役立った場合は、オリジナル記事の Clap ボタンを押してください。ありがとうございます!

#iamintel

OpenVINO™ ツールキットとは

AI を加速する無償のツールである OpenVINO™ ツールキットは、インテルが無償で提供しているインテル製の CPU や GPU、VPU、FPGA などのパフォーマンスを最大限に活用して、コンピューター・ビジョン、画像関係をはじめ、自然言語処理や音声処理など、幅広いディープラーニング・モデルで推論を最適化し高速化する推論エンジン / ツールスイートです。

OpenVINO™ ツールキット・ページでは、ツールの概要、利用方法、導入事例、トレーニング、ツール・ダウンロードまでさまざまな情報を提供しています。ぜひ特設サイトにアクセスしてみてください。

https://www.intel.co.jp/content/www/jp/ja/internet-of-things/openvino-toolkit.html

法務上の注意書き

インテルのテクノロジーを使用するには、対応したハードウェア、ソフトウェア、またはサービスの有効化が必要となる場合があります。

絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。

実際の費用と結果は異なる場合があります。

インテルは、サードパーティーのデータについて管理や監査を行っていません。ほかの情報も参考にして、正確かどうかを評価してください。

インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。

本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。

© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

タイトルとURLをコピーしました