Ubuntu日和
【第80回】Ryzen AI 9 HX 370でgpt-oss-120bをちょっぴり高速で動作させる方法
2025年9月27日 06:03
筆者は高価(価格が10万円以上)のミニPC購入からは距離を置いていたが、PADチャンネルのOpenAIの完全無料、ローカル動作LLM「gpt-oss」をCPU内蔵GPUで使ってみる【ウン十万円のGPUなしでも動きます】を見ていたら、自分でも欲しくなってしまった。
筆者もいろいろなモデルを試してみたが、結局gpt-oss-120bばかりを使っている。ということは、メインメモリは64GB、VRAMは32GBほど欲しくなる。いうまでもなくUMAなので、合計96GB以上となる。
Ryzen AI Max 300シリーズ搭載モデルは、欲しくてもメモリの容量が大きいモデルは高い。増設できないからと128GBモデルにすると、30万円程度になってしまう。MINISFORUM MS-S1 MAXなんていくらになるのであろうか(編集部注:35万9,990円です)。筆者が購入できる価格にはならないであろう。
次に検討するのはRyzen AI 300シリーズ搭載モデルとなる。メモリはオンボードではないので遅くなるが、交換可能というメリットもある。購入価格を抑えるため、ベアボーンモデルにする選択肢もある。
というわけで最終的に購入したのはMINISFORUMのAI X1 Proとした。12コア24スレッドのRyzen AI 9 HX 370を搭載している。本誌にもレビュー記事が掲載されている。
購入の決め手となったのは、ベアボーンモデルがあること、電源ユニットが内蔵されていること、M.2スロットが3つあることだ。場合によっては筆者のメインPCにもできる。現在のメインPCのCPUはRyzen 7 8700Gなので、ずいぶんと性能が上がることになる。
LLMを使用するのであればRadeonなのでROCmを使用することになる。その開発版であるTheRockではRyzen AI Max 300シリーズはもちろんRyzen AI 300シリーズにも対応したことを知っていた。gfx1150がRyzen AI 300シリーズ、gfx1151がRyzen AI Max 300シリーズのことだが、詳細な解説は省略する。厳密にはROCmのすべての機能をサポートしているわけではないのだが、llama.cppを動作させるだけなら問題ない。
本誌では記事になっていないが、9月16日にはROCm 7.0.0が、9月18日には7.0.1がリリースされている。System requirements (Linux)を見てもRyzen AI Max 300シリーズもRyzen AI 300シリーズの記述はなく、対応されていないように見えるが、実は前者には対応している。今回使用したい後者は非対応のため、開発版であるTheRockをビルドする必要があるということだ。
別途購入したパーツ
ベアボーンモデルなのでメモリとSSDが必要で、あとついでにWindowsが付属しない。今回購入したメモリはCT2K48G56C46S5だ。128GBモデルはちょっと高価で手が出なかったので96GBモデルにした。SSDは今回のために購入したわけではないが、SSD-CK2.0N4PLG3Nとした。そしてここにはUbuntu 24.04.3 LTSをインストールしている。
TheRockのビルド
ではTheRockのビルドを行なう。
TheRockのビルド方法はREADMEに書かれているので、おおむねこの通りに実行していく。
$ mkdir ~/git/
$ cd ~/git/
$ sudo apt install -y gfortran git ninja-build cmake g++ pkg-config xxd patchelf automake libtool python3-venv python3-dev libegl1-mesa-dev
$ git clone https://github.com/ROCm/TheRock.git
$ cd TheRock/
$ python3 -m venv .venv && source .venv/bin/activate
$ pip3 install -r requirements.txt
$ python3 ./build_tools/fetch_sources.py
$ cmake -B build -GNinja . -DTHEROCK_AMDGPU_FAMILIES=gfx1150
$ cmake --build build -j 24
「-j 24」は並列処理するジョブの数だが、24にすると最大でメモリが80GBほど必要になった。多ければ多いほど処理は速く終わるものの、多すぎるとメモリ不足でビルドに失敗することもあるので、適宜調整が必要だ。
ちなみにビルドには4時間半くらいかかった。ビルドを仕掛けてどこかに出かけるくらいでいいだろう。
ビルド時間を短縮する方法もあるが、今回は解説を割愛する。
llama.cppのビルド
現時点でTheRockを使用してgpt-oss-120bを動作させようとするならばllama.cppを使用するのがベストだ。というかほとんど選択の余地がない。
というわけでllama.cppのビルドに取りかかる。
$ export PATH=$PATH:~/git/TheRock/build/dist/rocm/bin
$ export HIP_PLATFORM=amd
$ sudo apt install -y libcurlpp-dev
$ cd ~/git
$ git clone https://github.com/ggml-org/llama.cpp.git
$ cd llama.cpp
$ HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx1150 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
$ cmake --build build --config Release -j 24
ドライバのインストール
ROCmは使用しないが、ROCmの動作に必要なドライバはインストールする必要がある。
$ wget https://repo.radeon.com/amdgpu-install/7.0.1/ubuntu/noble/amdgpu-install_7.0.1.70001-1_all.deb
$ sudo apt install ./amdgpu-install_7.0.1.70001-1_all.deb
$ sudo apt update
$ sudo apt install -y amdgpu-dkms python3-setuptools python3-wheel
$ sudo usermod -a -G render,video $LOGNAME
ここでいったん再起動する。
UEFI BIOSの設定変更
デフォルトではVRAMに割り当てられているメモリが少ないので、UEFI BIOS画面を起動し、Setup→Advanced→AMD CBS→NBIO Common Options→GFX Configuration→UMA Frame buffer Sizeを「32GB」とした。メモリが96GBだと48GBまで割り当てられるので、このあたりは好みである。筆者としてはメインメモリとして64GBを確保したかったのでこうした。
ただし前述の通りTheRockをフルビルドするには、オプション次第ではあるが80GBくらい使用することもあることは忘れずにいよう。
gpt-oss-120bを実行する
まずはモデルをダウンロードする。こちらからダウンロードできる。(直リンクその1、直リンクその2)
このあたりは第78回で紹介済みだ。
ダウンロードしたモデルは~/Downloads/に置いたとして、まずはベンチマークを実行してみる。
$ cd ~/git/llama.cpp
$ ./build/bin/llama-bench -m ~/Downloads/gpt-oss-120b-Q4_K_M-00001-of-00002.gguf --n-gpu-layers 99 --n-cpu-moe 18
18tok/sくらいの速度なので、わりと実用的な速度である。
llama.cppをサーバーとして起動する場合は、次を参考にしてほしい。
$ ./build/bin/llama-server -m ~/Downloads/gpt-oss-120b-Q4_K_M-00001-of-00002.gguf --ctx-size 0 --jinja -ub 2048 -b 2048 -ngl 99 --n-cpu-moe 18 --flash-attn on --host 0.0.0.0 --port 8080 --chat-template-kwargs '{"reasoning_effort": "medium"}' --temp 1.0 --top-p 1.0
第77回の段階では、最終的にはLM Studioを使うのが楽だと本当に考えていたが、現在はllama.cppをビルドしていろいろとオプションを駆使してギリギリまで高速化するのがベストだという考えに変わっている。フロントエンドにはWitsyを使用しているが、今回は名前を紹介するだけにとどめたい。














![[Amazon限定ブランド]CCL い・ろ・は・すラベルレス 2LPET ×8本 ミネラルウォーター 無味 製品画像:1位](https://m.media-amazon.com/images/I/41h0MHfvhkL._SL160_.jpg)








