llama.cppの Vulkanバックエンドを使って Ryzen 7 8700Gの内蔵GPUで35BクラスのローカルLLMを動かしてみた。皆の知っているVulkanはグラフィックス描画用のAPIだと思うが、実はVulkan computeというものがあって数値演算にも利用できるのだ。Vulkanは幅広いGPUでサポートされているため、CUDAやROCmと違って割とどこでも動かせることになる。
Ryzen 7 8700Gの iGPUは ROCm(※AMD版CUDAだと思えば良い)のサポート対象外だが、Vulkanでなら数値計算を走らせることができる。もちろん高価な外部GPUの代わりに何でもこなせる、という話ではない。ただ「大きめのモデルをローカルで持ちたいが、VRAM容量で詰まる」という場面では、内蔵GPU + 共有メモリという構成が思ったより現実的だったりするのだ。
そこでみんなは「ユニファイドメモリで大きなモデルを動かしたいならAI対応を謳った小型PCやら、なんならMac miniでいいのでは?」と思うでしょ。
喝
PCジサカーにとってはあくまで市販のPCパーツで組み上げるのがお作法であり流儀というものである。Ryzen 7 8700Gは Socket AM5用のCPU(APU)で、秋葉原で普通に売っている市販マザーボードに搭載可能だ。ジサカーに幸あれ。
試した構成
| 項目 | 内容 |
|---|---|
| CPU / iGPU | AMD Ryzen 7 8700G / Radeon 780M |
| メモリ | 64GB DDR5 |
| dGPU(比較用) | Intel ARC B580 12GB |
| 推論エンジン | llama.cpp |
| バックエンド | Vulkan |
| OS | genpackで構築した専用Linux |
今回はカーネル引数に次の設定を入れ、iGPUが追加で使えるGTT領域を大きめに取った。
amdgpu.gttsize=57344
これにより、Radeon 780M側からおよそ58GB程度のメモリを使える状態になった。
8Bモデルと35B MoEモデルの速度
まず、比較用に Qwen3-8B-Q4_K_M を動かした結果。
| 環境 | Prompt | Generation |
|---|---|---|
| Intel Arc B580 | 237.1 t/s | 35.7 t/s |
| Radeon 780M iGPU | 176.1 t/s | 13.8 t/s |
| CPUのみ | 55.4 t/s | 9.4 t/s |
| Ryzen 9 7950X(他マシン) | 145.4 t/s | 10.4 t/s |
外部GPUのArc B580が速いのは当然として、Radeon 780MでもCPUのみよりは明確に速い。generationが 13.8 t/sなら、チャット用途としてはそれほど苦しい速度ではない。また、一応16コア級のCPUよりも高速に出力ができるということがわかり、内蔵とはいえ GPUの面目が立っている。
次に本題の Qwen3.6-35B-A3B-Q4_K_M。
| 環境 | Prompt | Generation |
|---|---|---|
| Intel Arc B580 | VRAMが | 足りない |
| Radeon 780M iGPU | 79.7 t/s | 19.4 t/s |
| CPUのみ | 23.1 t/s | 14.4 t/s |
| Ryzen 9 7950X(他マシン) | 115.9 t/s | 15.2 t/s |
面白いのは、35Bのほうが8Bより generation が速く出ていること。これはモデルが denseではなく MoEだからだと思われる。Qwen3.6-35B-A3Bは総パラメータ数としては35Bクラスだが、推論時に有効になるアクティブパラメータは約3B相当とされる。メモリ帯域が律速になりやすい環境では、この構造が効いているように見える。
denseとかMoEとはなんぞや?というのもQwen3.6-35B-A3Bに聞いてみて知ったのだが、知識をひとつの塊としていっぺんに呼び出す(dense)か各種専門領域ごとに呼び出す(MoE)かの違いらしい。それぞれ一長一短だが、MoEのほうが効率が良くなりやすいようだ。
メモリは余裕
35Bモデルを -n 4096 で動かした時のメモリ使用量は次の通り。
Vulkan1 (780M Graphics): 59392 MiB total / 32788 MiB free
model: 20117 MiB
context: 5182 MiB
compute: 805 MiB
モデル本体が約20GB、4096トークン分のコンテキストが約5GB、計算用の領域が1GB弱。合計しても26GB程度で、iGPUから見える58GB弱のメモリにはまだかなり余裕がある。dGPUでこのVRAMを用意するとなればとんでもない金額を払わないといけないことを考えると「助かる」というほかない。
Valveの謎技術
LinuxにおいてAMDGPU用のVulkan実装はMesaのRADVというドライバが担当しているのだが、2025年10月にValveの技術者がRADVにおけるVulkan computeの高速化を行ったらしく、今回の環境でもおそらく恩恵を受けている。マイクロソフトがK2なる動きで Steam OSをベンチマークにするほどコンシューマ市場における Linuxの地位を上げた Valveの謎技術にこれからも注目である。
実行例
llama-cli --device Vulkan1 -ngl 99 -n 2048 \
-m /path/to/Qwen_Qwen3.6-35B-A3B-Q4_K_M.gguf \
--reasoning off \
-p "プロンプト"
thinkingモードを使うなど、長めの出力を見込む場合は -n 4096 以上にしておくほうが安心。
llama-cli --device Vulkan1 -ngl 99 -n 4096 \
-m /path/to/Qwen_Qwen3.6-35B-A3B-Q4_K_M.gguf \
-p "プロンプト"
モデルの取得には hf download を使う。
hf download \
bartowski/Qwen_Qwen3.6-35B-A3B-GGUF \
--include "Qwen_Qwen3.6-35B-A3B-Q4_K_M.gguf" \
--local-dir ~/models/Qwen3.6-35B-A3B
お金の話(2026年5月時点)
そうだよ!お金が一番大事なんだよ!
| 構成 | 費用(中古目安) | 最大モデル規模 |
|---|---|---|
| Ryzen 7 8700G + 64GB DDR5 | CPU 3.5万 + メモリ 8万 = 約11.5万円 | 35B(Q4_K_M で約21GB) |
| RTX 4090(24GB VRAM) | 約35万円 | 13B 程度(24GB 制約) |
VRAM 容量の観点では 8700G + 64GB 構成が圧倒的にコスパが良い。
まとめ
Ryzen 7 8700Gの内蔵GPUは、単体GPUとして見れば決して強力な部類ではない。それでも、64GBのシステムメモリを活かして大きな量子化モデルを載せられるという点では、ローカルLLM用途でなかなか面白い立ち位置にいる。
「速いGPUを買う」だけがローカルAI環境の作り方ではなく、「そこそこのGPUに大きな共有メモリを持たせる」という方向もある。今回の35B MoEモデルの結果を見る限り、少なくとも実験用・検証用としては十分に実用圏内だった。