Quantcast
Channel: SHIROのIchigoJam日記
Viewing all articles
Browse latest Browse all 122

Copilot+PC(AMD)で画像生成AIを試す

$
0
0

私はノートPCはThinkPadを30年ほど愛用していますが、7年振りに新しく買い換えました。
購入したのは「ThinkPad T14s Gen 6 Strix Point AMD」です。
www.lenovo.com
AMDのCPU「Ryzen AI 7 PRO 360」を搭載していて、AI処理用のNPU(Neural Processing Unit)を搭載した「Copilot+PC」です。
スペックの詳細は上記のサイトを参照してください。


こちらのブログで書いているように、私は画像生成AIをいろいろ試しています。
このCopilot+PCでどのように画像生成ができるのか?NPUの効果はあるのか?試してみました。

紹介動画


www.youtube.com

環境構築

基本のWindows11設定やアップデートを済ませた後、AI用の環境を準備します。
AMDの公式サイト(英語)に環境構築方法のドキュメントがあり、ダウンロードファイルのリンクもあります。
https://ryzenai.docs.amd.com/en/latest/inst.html

Visual Studio 2022

Microsoftのサイトから、Visual Studio 2022をダウンロードします。
https://visualstudio.microsoft.com/ja/vs/
ダウンロードファイルの種別は「Community 2022」で良いです。
インストーラーファイル(VisualStudioSetup.exe)がダウンロードされるので、それを実行します。
各種ファイルをダウンロードしながらインストールします。

cmake

プログラムをコンパイルするツール「cmake」をインストールします。
https://cmake.org/download/
「Latest Release (3.31.6)」のリストにある「Windows x64 Installer」(cmake-3.31.6-windows-x86_64.msi)をダウンロードします。
ダウンロードされたインストーラーを実行して、インストールします。

NPUドライバ

上記のAMDのドキュメントページから、NPU Driver 1.3.1_242(RAI_1.3._242_WHQL.zip)をダウンロードします。
(なおダウンロードする前に、AMDのユーザーアカウントの作成と、ユーザー登録が必要です)
ダウンロードしたZIPファイルを展開して、「npu_sw_installer.exe」を実行します。
(セキュリティ警告が出ますが、強制的に実行します)
ターミナルの黒い画面が一瞬表示されて、すぐにインストールが終了します。
バイスマネージャーを開くと、「NPU Compute Accelerator Device」が入っています。

タスクマネージャーのパフォーマンスタブを出すと、「NPU」のパフォーマンスグラフが追加されています。

Anaconda

開発環境の「Anaconda」をダウンロードします。
https://www.anaconda.com/download
ページの右側に登録ウインドウが表示されていますが、下にある小さい文字の「Skip registration」をクリックすると、登録せずにダウンロードページへ行けます。
フルバージョンの「Anaconda」とミニバージョンの「Miniconda」がありますが、AnacondaのWindows版をダウンロードします。
実行してインストーラーを起動します。
インストールパスが「C:¥ProgramData¥anaconda3」になります。
(ProgramDataディレクトリは隠しディレクトリになっているので注意)

※なおネット上の情報では「Minicondaでもよい」とも書かれていますが、私のThinkPadではMinicondaをインストールすると、次のRyzen AI Softwareのインストールで「Anacondaが見つからない。システム環境変数PATHにパスを追加をせよ」とエラーが出て、環境変数をいくらいじっても先へ進めませんでした。Anacondaだとインストール時に自動的にPATHを追加してくれます。

Ryzen AI Software

上記のAMDのドキュメントページのリンクから、ryzen-ai-1.3.1.msiをダウンロードして、インストールします。

DirectMLを有効にする

以上で基本的な環境はできるのですが、NPUを使うためにはローレベル環境の「DirectML」をインストールする必要があります。
その情報は、Microsoftのサイトにあります。
learn.microsoft.com
こちらの手順に従い、上でインストールしたAnacondaを使って、conda仮想環境の中からtorch-directmlモジュールをインストールします。
コマンドプロンプトウインドウを出して、

conda create --name pytdml -y
conda init ←ページには書かれていませんがこれが必要でした。
conda activate pytdml
pip install torch-directml

StabilityMatrixで画像生成→失敗

最初に、これまでデスクトップPCで使っていた「StabilityMatrix」環境をインストールして試してみました。
が、ComfyUIやstable-diffusion-webuiなどのインターフェースを組み込んだものの、モデルを選択したり画像生成をスタートしたりすると、エラーが出て止まったりフリーズしたりして、結局うまく動きませんでした。

AMUSEで画像生成

そこで、AMD環境に最適化された画像生成AIツール「AMUSE」を試してみました。
www.amuse-ai.com
内部でStable Diffusionを使っていて、Stable Diffusion用の生成モデルをインストールして使えます。
なお「Ryzen AI 7 PRO環境で実行するには16GBのRAMが必要」と聞いていたので、32GB搭載のThinkPadを今回選びました。

インストール後に起動すると、簡単なイージーモードが表示されます。

最初は何も生成モデルが入っていない状態なので、左下の「Advanced」ボタンをクリックして、アドバンスモードに入ります。
上のタブ「Model Manager」をクリックして、生成モデルを検索してインストールします。
「NPU」とタグが付いたモデルを検索すると、「SDXL Turbo」1個しか出てこなかったので、それをインストールします。

イージーモード

イージーモード画面に戻り、左側のペインで画像生成のプロンプトや条件を設定します。

  • Prompt=とりあえず「1girl,japanese,cute,sweet,smile」
  • Perfomance=中間の「Balanced」に。
  • Image Count=1。一度に画像を何枚生成するかの設定。
  • AMD XDNA 2 Stable Diffusion=ON
  • AMD XDNA Super Resolution=ON
  • Aspect Ratio=一番左の正方形をクリックして選択

これで下の「Generate Image」ボタンをクリックすると、画像を生成します。

所要時間は、画像1枚目は初期設定で数十秒+画像生成で数秒くらい。2枚目からは画像生成のみなので数秒くらいで生成できます。
ちなみに標準だと画像サイズは512×512ドットですが、上記の「AMD XDNA Super Resolution」をONにしておくと、生成後に超解像拡大して1024×1024ドットの画像が生成されます。
生成後に右下の「Save Image」ボタンをクリックすると、任意のディレクトリに画像を保存できます。

イージーモード(高品質)

ちなみに生成設定の「Performance」で「Quality」を選ぶと、追加で生成モデル「Dreamshaper Lightning」をダウンロードします。

ダウンロード・インストール後に「Quality」で画像生成すると、生成時間は1分くらいかかりますが、2048×2048ドットのかなり綺麗な画像ができます。
このサイズの画像が1分で生成できるのはかなり速いです。

生成した画像(2048×2048ドット)はこちら。

アドバンスモード

アドバンスモードだと、いろいろ細かい設定ができます。

左側ペインの上部で、使用モデルなどの設定をします。

  • Model Selector=インストールされている生成モデルから、使用モデルを選びます。
  • Variant=DefaultとRyzenAIが選べます。今回はRyzenAIを選択。
  • AMD XDNA Super Resolution=イージーモードと同じく、ONにすると生成画像が2倍に超解像拡大されます。

設定したら、右下の「Load」ボタンをクリックすると、モデルなどを読み込んで「Ready!」表示になります。

ペインの下部で、オプションの設定をします。

  • Width, Height=512×512ドットに設定。ちなみにこれ以上のサイズを設定するとエラーになって生成できません。
  • Inference Steps=この画像サイズなので20ステップに設定。

これくらいで「Generate」ボタンをクリックすると、画像が生成されます。
生成中は左下の棒グラフの「NPU」が動くので、NPUが使われていることがわかります。

ちなみに上部の設定「Variant」を「Default」にすると、生成画像サイズは「1024×1024ドット」も設定できます。
超解像をONにすると、生成画像は2048×2048ドット)
が、この場合はNPUを使わずCPUだけで作画するらしく(最後の超解像度化だけGPUを使用)、画像品質が悪くなります。

アドバンスモード(高品質)

イージーモード(高品質)で書いた生成モデル「Dreamshaper Lightning」を使うように指定すると、1024×1024ドットの解像度設定でも画像が生成できます。
超解像をONにすると、生成画像は2048×2048ドット)
ただし生成時間が1分くらいかかるのと、GPUやNPUは使わずCPUだけで作画するようです。
生成した画像(2048×2048ドット)はこちら。

まとめ

以上、AMDのCPU・GPU・NPUに最適化されたAMUSEを使うことで、短時間で簡単な画像生成ができることがわかりました。
大容量VRAMのビデオカードを積んだデスクトップPCにはさすがに速度や品質は負けますが、持ち歩けるノートPCでサクサクと画像が作れるのはいいですね。
願わくば、

  • NPUを使う生成モデルがもっと増えてほしい!
  • もっと環境構築が簡単にできるといいのに…

Copilot+PCで画像生成AIを使うとどうなのか?という情報がネット上に少ないので、今回の記事を書いてみました。
皆さんの参考になれば幸いです。


Viewing all articles
Browse latest Browse all 122

Trending Articles