シンギュラリティ実験ノート

購入した1000ドルPCで何がどこまでできるのか実験した記録です。

Windows+Jan+iGPUで生成AIを動かしてみた

Janでは開発やサポート用のプラットホームとしてDiscordというコミュニケーションサービスを使っている。JanをAMDGPUで動かせないものかと先日Discordを眺めていたら以下の情報を見つけた。

Discord

現在、マルチ GPU サポートは NVIDIA GPU でのみ利用可能であり、CUDA のインストールが必要です。 Vulkan モードで動作する AMD GPU の場合、単一の GPU のみがサポートされます。私たちは、ROCm と HIP を使用して AMD GPU のサポートを構築する方法を模索しています。将来的には、これにより AMD GPU のマルチ GPU サポートが可能になる可能性があります。現時点では、マルチ GPU 機能は、Vulkan モードが無効になっている NVIDIA GPU に制限されています。

Vulkanモードを使えばAMDの単一GPUなら動きそうだということで、今日、私の秘密基地(シェアオフィスのこと)で実験した結果、動かすことに成功したのでここにまとめておきたい。

Vulkanとは

簡単に言うと「次世代のリアルタイム3次元グラフィックAPI」というものらしい。JanではこのAPIを利用してLLMの計算(推論)をAMDGPUで行わせることができるようだ。

Vulkanの導入方法(Windows編)

Vulkan.lunarg.comのページからWindows用のインストールプログラムをダウンロードし、インストールするだけであった。途中でコンポーネントを選択する画面が出る。基本は何も選ばなくて大丈夫のようだが、私は動作確認に必要かと思い全て選択した。

インストール終了後、導入したフォルダのBinフォルダの下にvkviaというプログラムができる。実行すると立方体がクルクル回るデモが動き、正常に導入できたことを確認できる。

JanをVulkanモードにする

  1. Janの画面の左下にあるSettingsのアイコンを押す
  2. Advanced Settingsを選ぶ
  3. Experimental Modeのスイッチをオンにする
  4. Vulkan Supportのスイッチをオンにする

ここまで操作するとGPU AccelerationのChoose device(s)が自動的に「AMD Radeon 780M Graphics」に設定される。

Jan Advanced Settings

VulkanモードでJanを動かす

以上の設定でGPUでJanの上で生成AIを動かすことができる。AI動作中にタスクモニタを確認したところ、GPU Compute 0のところに動作状況が表示された。

GUP動作状況

性能的には14.5 token/Secとなった。CPUで動かしたときには4~9 token/Secであったと思うので2~3倍の性能アップということになる。折角GPUがあるなら使いたいというのが人情である。GPUを使うことで性能をアップさせることができて満足だ。

ただし、手放しで喜べない点もある。ELYZAのような大きいモデルサイズになるとエラーになり起動しなくなるのだ。これはGPU専用メモリが8GBしかないことが原因と思われる。モデルサイズが4GB程度であれば正常に動作しているが、5GBになるともう動かないようだ。

Janの設定をCPUモードに戻す時の注意点

Janの設定をVulkanモードからCPUのモードに戻す時に1点だけ注意が必要だ。画面で設定を戻すだけではCPUでも動かなくなる。GPUでずっと運用しないといけなくなるのかと私も一瞬焦ったが、この問題は設定ファイルを直接編集することで解決できた。

Janを導入したフォルダのsettingsフォルダにsettings.jsonというファイルがある。この中のrun_modeがgpuのままになっているのが原因だ。cpuに直すことで動作するようになった。

{
  "notify": true,
  "run_mode": "cpu",
  "nvidia_driver": {
    "exist": false,
    "version": ""
  },
  "cuda": {
    "exist": false,
    "version": ""
  },
  "gpus": [],
  "gpu_highest_vram": "",
  "gpus_in_use": [
    ""
  ],
  "is_initial": false,
  "vulkan": false
}

まとめ

GPUでJanを動かすことで性能的に2~3倍になることを確認した。ただし動かないモデルも出てくること、性能的にそれほど差があるわけではないことから、CPUで運用したほうがよさそうだ。CPUである程度動くのはUM790 Proのメリットでもある。将来的にBIOSがアップデートされ、VRAMが32GBくらいまで使えるようになることを期待している。