AMD Ryzen AIソフトウェアとNPUドライバのインストールしたRyzen 7 8845HS搭載な自身初購入のミニパソコンAOOSTAR GEM12 Pro MAX/Windows 11 Proにamd / RyzenAI-SWをgit cloneしてAI学習してみる話。
amd / RyzenAI-SWとは、AMD Ryzen AI搭載デバイス用にAMD Ryzen AIソフトウェア用のサンプル、チュートリアル、デモンストレーションを含むリポジトリです。
ただし、Strix/Strix Halo/Krackan Point等なら、RyzenAI-SW以下のdemo/、example/、tutorial/などサンプルを全て試せるでしょうが、自身唯一の対応マシンRyzen 7 8845HS/Hawk Point(や少し前までのPhoenix)では、tutorial/のみ試すことができると考えて良さそうです。
おそらく、これはPhoenixやHawk Pointが、INT8にしか対応していないため、INT8ベースなtutorial/以下はいけますが、F32から変換する格好でベースがBF16っぽいexample/以下は、途中まで実行、推論についてはBF16ではなく、INT8に変換すれば推論含め実行できるものの、精度が落ちるからでしょう、期待した結果にならなかったりします。
尚、このリポジトリは、Windowsを前提に作られてはいますが、githubで公開のリポジトリからXDNAドライバをインストールするか、ベータ版かリリースを待ってAMDXDNA対応のLinuxカーネルを使いつつ、公式ドキュメントに沿ってRyzen AIソフトウェアをインストール、Linuxカーネル上のGPU/NPUの無効|有効を確認すれば尚、Ryzen AIソフトウェアを導入してあれば、少なくともPython+CPUでならLinuxでも実行結果を得ることができたりします。
というのもWindows用ということもあり、WindowsのDirectX用コマンドを使っているからかiGPU、やはり、Windowsコマンドが影響している模様、かつ、共有ライブラリが足りず、リンカー用のパスを足しても、ソースをコンパイルしなおさないとダメっぽいエラーに遭遇したりでNPUの検出などには失敗、CPUで再試行したりするので。
Ryzen AI Software 1.4 documentationのGetting Started Tutorialには、ダウンロードでも良さげな記載もありますが、GitとGit LFSをインストールした上、git cloneしておくのが賢明です。
これについては、当該リポジトリ冒頭にも記載があり、Gitは、もちろんのこと、大きなサイズのファイルのダウンロードも許容するGit LFSもインストールしておく必要があります。
Windowsだと公式など信頼できるところからダウンロードしたパッケージを(Linux、UbuntuなどDeiban系ならapt install git git-lfsするなどして)インストールすることになるでしょう。
とかくAI関連の開発においては、往々にしてモデルなど巨大なファイルを扱うことがあるので、そうしないとこれに含まれるサンプルプログラムでさえ、実行時に原因を突き止めづらいエラーになることがあるからです。
更に、これに関連し、そうしたとしてもtorch 2.6.0含む以降のバージョンを使う場合、セキュリティ要件強化により、後述の通り、チュートリアル getting started resnetにおいては、1ヶ所、修正というか、追記が必要となります。
というわけでクローンしたい任意のパスに移動して[git clone https://github.com/amd/RyzenAI-SW.git]します。
このAMD Ryzen AIソフトウェアのRyzen AIが機能していることをテストできるquicktest.pyで無事[Passed Test]となったら、RyzenAI-SWにあるサンプルを実行してみてはいかがでしょうか。
AI開発に慣れているとしてもRyzen AIを初めて使うなら、練習にふさわしいと思えるものになるでしょう。
なお、前述のGetting Started Tutorialには、getting_started_resnetしかありませんが、クローンしたディレクトリ(フォルダ)には、次のようなサンプルがあり、実行してみました。