🧠

【AMDで機械学習】新型GPU RX9070XTを手に入れたからAIを動かしてみた

に公開

なんか色々作るのが大好きなしがないエンジニアをやっております。
今回は、運良く店頭で最新のAMDのGPU RX9070XTを買うことができたので、StableDiffusionを動かしてみた記事(日記)になります。

(椅子を買いに行ったついでに在庫確認したらあって本当に運が良かった

環境構築

AMDのGPUは, ROCmというAIのためのソフトウェアを使用して機械学習ができるのですが、現在Windowsには対応していないのでなんやかんやする必要があります。

久しぶりにUbuntuを触りたくなったので、Windowsとデュアルブート構成にしてみました。

パーティション分割とデフラグ

Windowsに使ってるストレージを分割したかったのですが、なぜかできない。
調べてみると、デフラグという操作をしてストレージを綺麗にしないといけないそう。

デフラグできるツールを入れて試してみると、1日じゃ終わらなさそうだったので、パーティション分割できるソフトを入れました。
色々あったんですが無料でできたのはこのソフトでした。

https://www.softpedia.com/get/System/Hard-Disk-Utils/NIUBI-Partition-Editor.shtml

このソフトにたどり着くまで過ごく時間かかった;_;

これで晴れてデフラグ&パーティション分割できました

Ubuntuのインストール

これは、ネットにある手順通りさっとできました。

注意点としては、ブートをUEFIのメディアを選ぶこと!

Pyrotch環境構築

環境構築はネットで散見する方法で概ねできました。

  1. 製品ページからドライバをダウンロード&インストール
    https://www.amd.com/ja/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9070xt.html

  2. 下記コマンド実行

$ sudo apt-get update
$ amdgpu-install --usecase=rocm,graphics
$ sudo usermod -a -G render $LOGNAME
$ sudo usermod -a -G video $LOGNAME

renderとvideoグループに追加しないといけない(大切

  1. ROCmのバージョン確認
$ apt show rocm-libs -a

6.3系だった

  1. minicondaインストール

  2. ここからpytorchインストールのコマンドコピペ
    https://pytorch.org/get-started/locally/

  3. 下記のpythonコードを実行して、「Everything fine!」なら構築完了

https://gist.github.com/damico/484f7b0a148a0c5f707054cf9c0a0533

Stable Diffusion WebUIを動かす

このリポジトリをクローンして、launh.pyを実行するだけで問題なく動きました。

https://github.com/AUTOMATIC1111/stable-diffusion-webui

RX9070XTの実力はいかほどに

それではお待ちかねの処理速度比較をします。
私はNVIDIAのGeForceシリーズを持っていないので、GoogleColabProで使えるGPUとの比較になります。

512 * 512 の画像を4枚を4回実行でこんな感じでした

Device Time [s]
RX9070XT 50
T4 52
L4 25
A100 11

。。。。。T4と同じくらい(遅い

参考までにHello Asuka Benchmarkはこんな感じ

Device Time [s]
RX9070XT 42
A100 18

まとめ

RX9070XTはT4と同じくらいの機械学習の性能があることがわかりました。

ROCmの最適化に期待したいとこ!!

Discussion