LoginSignup
2
3

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

Last updated at Posted at 2023-07-02

この記事は、medium.com に公開されている「How to run Stable Diffusion on Intel GPUs with OpenVINO」https://medium.com/openvino-toolkit/how-to-run-stable-diffusion-on-intel-gpus-with-openvino-840714f122b4 の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
*****************************************

この記事のPDF版は下記からご利用になれます。
https://www.isus.jp/wp-content/uploads/pdf/openvino_01_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 – シストリック・アレイ (英語)https://www.anandtech.com/show/16895/a-sneak-peek-at-intels-xe-hpg-gpu-architecture) が有効になると、GPU 処理が大幅に高速化されることです。

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

image.png

まず、OpenVINO™ ノートブックのリポジトリー (英語)https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks にアクセスします。このリポジトリーに、このデモを完了するために必要なものがすべて含まれています。
図3.png

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

インストール方法
最初に、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
図5.png

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

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

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

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

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

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

最新情報: Stable Diffusion v2 が OpenVINO™ ノートブックで利用できるようになりました (英語)。https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/236-stable-diffusion-v2

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

OpenVINO™ ツールキットとは

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

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

法務上の注意書き

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

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

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

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

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

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

© Intel Corporation. Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。

  • その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3