インテル Arcで画像生成系AI入門!設定方法とパフォーマンス検証でArc×生成AIを解説
提供: ASRock/テックウインド
OpenVINOを利用したStable Diffusion+Automatic 1111環境を構築する
ここから先は実際の導入手順解説となる。Stable Diffusionでインテル Arcによる推論処理の高速化を図るには、インテルが提供する「OpenVINO」の活用が肝となる。幸いなことにOpenVINO入りのStable Diffusion+Automatic 1111環境およびインストールガイドがGitHubのリポジトリー(https://github.com/openvinotoolkit/stable-diffusion-webui/wiki/Installation-on-Intel-Silicon)にあるので、これを利用させていただくとしよう。一部機能が未対応だそうだが、Stable Diffusion環境のスタートとしては十分のはずだ。
●手順1:GitとPythonの導入
Stable Diffusionを始めるにあたり、Windowsに「Git」と「Python」の導入が必要となる。GitはGitHubのリポジトリーから必要なファイルを取得するために必要だし、PythonはAI処理に必須となる。
PythonはPython公式(https://www.python.org/)のインストーラーのほか、Anaconda(https://www.anaconda.com/)、さらにAnacondaのミニマルな要素だけを抽出したMiniconda(https://docs.anaconda.com/free/miniconda/)があるが、本稿ではAnacondaを使用している。
GitもAnacondaもインストール時に様々なオプションが提示されるが、特にこだわりがなければ何も変更せずに先へ先へと進めて問題ない。
今回紹介するStable Diffusion+Automatic 1111のリポジトリーは少々古いPython(3.10.6)の利用を前提している。Anacondaインストール時に導入されるPython 3.11でも動作するが、残念ながら万全ではないようだ。そこで3.10.6環境を「py310」という名前をつけて構築する。Anaconda Promptを起動し、以下のコマンドを入力し[Enter]キーを叩く。全部手打ちでもよいが以下のテキストのコピー&ペーストが楽だ。
conda create -n py310 python==3.10.6
その後、以下のコマンドでPython 3.10.6環境に切り替わる。このまま手順3の初回起動まで、このAnaconda Promptは閉じずにいよう。閉じてしまったらAnaconda Prompt上でconda activate py310をもう一度実行すればいい。
conda activate py310
●手順2:Stable Diffusionのリポジトリーを取得(クローン)する
Anaconda Promptを起動し、以下のコマンドを入力してEnterキーを押す。これによりWindowsのホームフォルダー(C:¥Users¥ユーザー名)直下に「stable-diffusion-webui」というフォルダーが生成され、そこにリポジトリー内のファイルがダウンロードされる。
git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git
●手順3:Stable Diffusionの起動
Anaconda Prompt上で以下のようにコマンドを入力。1つ打ち終わるごとに[Enter]キーだ。こういうCLIに慣れているなら[Tab]キーによる補完を上手く使えば、毎回コピー&ペーストする必要はない。初めてwebui-user.batを実行した時は足りないファイルのダウンロードが入るのでしばし待つ(インターネットの接続速度による)必要があるが、起動に成功すればブラウザーが自動的に起動し、Automatic 1111のインターフェースが出現する。
cd stable-diffusion-webui
webui-user.bat
この手順(手順3全体)がStable Diffusion+Automatic 1111そのものの起動手順となる。一度手順3を実施したら、以降はこの手順3だけを繰り返せばよい。手順1で作成したPython 3.10.6環境の有効化(conda activate py310)も2回目以降は不要となる。
ここでいきなりプロンプトを入力し始めても良いが、まだインテル Arcで処理できるようにはなっていない。OpenVINOを利用するように設定し、推論デバイスにGPUを選択する必要がある。ここだけは起動するたびに毎回設定する必要がある。
この後はAutomatic 1111で自由な探索が待っている。解像度やSampling Steps、シード値などを好みの値に設定し、好みのプロンプトを入力した後「Generate」ボタンで生成開始だ。解像度を上げすぎると処理がとんでもなく遅くなるため、VRAM 8GBのArc A580〜A770なら768×768ドットまでにとどめておきたい。VRAM 16GBのA770なら1024×1024ドットもいけそうだが、Stable Diffusionが沈黙してしまったのでオススメはできない。
またAutomatic 1111を起動した直後、あるいは解像度などのパラメーターを変更した直後の処理は必ず余分に時間がかかる(解像度に依存する)点は覚えておきたい。
「SD.Next」も試してみよう
Stable Diffusionの他にも、インテル Arc環境で利用できる画像生成系AIが存在する。それが「SD.Next」だ。インテル Arcのパフォーマンスを活かすためには、「Intel extension for PyTorch」、通称「IPEX」を組み込んだビルドを試すのがいいようだ。SD.Next+IPEX環境の構築には様々なガイドが存在するが、なかなか上手く動かないものだ。筆者が試して動いたものを軽く紹介するとしよう。
●手順1:GitとPythonの導入
これは先ほどのStable Diffusion+Automatic 1111導入手順とまったく同じなので割愛する。Pythonも3.10.6そのままでいいだろう。
●手順2:SD.Nextを取得
Anaconda Promptで以下のコマンドを実行し、SD.Nextのリポジトリーの内容を自分のPCにクローンする。URLが変わっただけで、やっている事は先のStable Diffusionと同じだ。
git clone https://github.com/vladmandic/automatic
●手順3:SD.Nextの起動
起動手順はAnaconda Prompt上で行うが、コマンドの内容が先のStable Diffusionと微妙に異なる。専用のオプション(--use-ipex)を付けないとIPEXが有効とならず、CPUだけで処理するようになるからだ。SD.Nextも2回目以降はこの手順3だけ繰り返せばよい。
cd automatic webui.bat --use-ipex