【780M向け】Strix Halo での推論崩れ修正と RDNA3/4 向け最適化:llama.cpp Vulkan 更新
目次
この記事はAIによって編集・作成されています。
今回の要点
- Strix Halo (gfx1151) 環境で、Vulkan 推論時のプロンプト処理速度が低下し、場合によってはデバイスが消失する不具合が報告された。
- MoE モデル推論における MUL_MAT_ID の重複 ID 処理が修正され、Metal 環境でも同様の修正が適用された。
- Intel GPU 向け Flash Attention カーネルの prefill 対応と、RDNA3/4 世代向けの Large-Tile Split-K 最適化が追加された。
- 32bit 環境における Vulkan バッファログ出力の不具合が修正された。
Strix Halo (gfx1151) での Vulkan 推論時のプロンプト処理崩れとクラッシュ
前提
llama.cpp は ggml-org が開発する C/C++ の LLM 推論エンジン。Vulkan バックエンドで AMD iGPU でも動く。
何が変わったか
Strix Halo (gfx1151) 環境において、Vulkan バックエンドで MiniMax-M2 モデルを 32k のコンテキスト深度で推論する際、ubatch サイズが 128 を超えると推論速度が大幅に低下する現象が確認された。特にデフォルトの ubatch 512 では 128 の場合と比較して約 6 倍遅くなり、個々の GPU へのコマンド送信が amdgpu のジョブタイムアウト閾値を超えてしまう。また、ubatch 512 での推論速度は 13.3 t/s まで低下し、長時間の送信は amdgpu の「device lost」エラーを引き起こす。
なぜ重要か
Strix Halo を搭載したユーザーは、長いコンテキストを扱う際、推論速度の低下やクラッシュに直面する可能性がある。この不具合は、Vulkan バックエンドにおける Strix Halo 固有の最適化不足やバグが原因と考えられる。
根拠のリンク
利用者の報告
jakehardee-wq 氏は、Minisforum MS-S1 MAX P495 (Ryzen AI Max+ PRO 495, Radeon 8065S, 192GB LPDDR5X-8533) 環境で、MiniMax-M2.7 UD-IQ4_XS モデルを用いて以下のベンチマーク結果を報告した。
| ubatch | depth 0 (t/s) | depth 32768 (t/s) |
|---|---|---|
| 32 | 54.6 | 42.6 |
| 64 | 78.9 | 55.7 |
| 128 | 124.0 | 77.5 |
| 256 | — | 51.5 |
| 512 (default) | 309.3 | 13.3 |
depth 0 では ubatch 増加に伴い速度が向上するが、depth 32768 では 128 を超えると逆転し、速度が急激に低下する。
また、ystyle 氏は、AMD Ryzen 7 7840HS + Radeon 780M (RADV, UMA) 環境で、Qwen3.5-35B-A3B モデルの UD-Q3_K_XL 量子化版を用いて、mmproj (マルチモーダルプロジェクタ) をロードした際の推論速度が約 250 倍低下する現象を報告した。prefill ≈ 0.3 tok/s、decode ≈ 0.1 tok/s となり、出力は正しいものの、ログにエラーは表示されなかった。
Artem535 氏は、Qwen3.5-4B モデルの比較テストにおいて、LiteRT INT8 版では準備チェックに失敗し、llama.cpp CPU GGUF Q8_0 版でも同様の問題が発生したと報告した。GGUF 版では正常に推論が完了したが、推論速度や出力の正確性に課題が残るとしている。
thevaprroomops-cmyk 氏は、Windows 11 + AMD Radeon RX 9070 XT (RDNA4) 環境で、Hermes Agent が使用する llama.cpp Vulkan ビルドが LM Studio の Vulkan ビルドと比較して約 4 倍遅いと報告した。Hermes 環境では -ngl 0 (CPU) と -ngl 99 (GPU) で推論速度に差がなく、GPU オフロードが機能していない可能性がある。
Vulkan における MUL_MAT_ID の重複 ID 処理とバグ修正
前提
MUL_MAT_ID は、MoE (Mixture of Experts) モデルにおいて、各トークンに対応する専門家 (Expert) を選択し、行列乗算を行うための演算。重複する ID がある場合、正しく処理されない可能性がある。
何が変わったか
Vulkan バックエンドにおいて、MUL_MAT_ID の重複 ID 処理が修正された。これにより、重複する ID が存在する場合でも、正しく推論が行われるようになった。また、Metal バックエンドでも同様の修正が適用された。
なぜ重要か
MoE モデルを使用する際、重複する ID が存在すると推論結果が正しくなくなる可能性がある。この修正により、MoE モデルの推論精度が向上する。
根拠のリンク
llama.cpp #30373 metal : fix mul_mat_id with duplicate ids
Vulkan Intel 向け Flash Attention カーネルの prefill 対応
前提
Flash Attention は、Attention 機構の計算効率を向上させるための手法。prefill 段階での対応により、推論速度が向上する可能性がある。
何が変わったか
Intel GPU 向け Vulkan バックエンドにおいて、Flash Attention カーネルの prefill 段階での対応が追加された。
なぜ重要か
Intel GPU ユーザーは、Flash Attention を用いた推論において、より高速な prefill 処理が可能になる。
根拠のリンク
llama.cpp Vulkan issue #29357: vulkan : Intel FA kernel for prefill.
RDNA3/4 向け Vulkan Large-Tile Split-K 最適化
前提
Large-Tile Split-K は、行列乗算を複数の小さなタスクに分割し、並列処理することで計算効率を向上させる手法。RDNA3/4 世代の GPU 向けに最適化が行われた。
何が変わったか
RDNA3/4 世代の GPU 向けに、Vulkan バックエンドにおける Large-Tile Split-K の最適化が追加された。
なぜ重要か
RDNA3/4 世代の GPU を使用するユーザーは、推論速度の向上が期待できる。
根拠のリンク
llama.cpp Vulkan issue #30280: RDNA3/4 Vulkan Large-Tile Split-K Optimization
32bit 環境向け Vulkan バッファログ出力の修正
前提
32bit 環境では、メモリアドレスの扱いが 64bit 環境と異なるため、ログ出力に不具合が生じる可能性がある。
何が変わったか
32bit 環境において、Vulkan バッファのログ出力が正しく行われるように修正された。
なぜ重要か
32bit 環境でデバッグを行う際、ログ出力が正しく行われることで、問題の原因特定が容易になる。
根拠のリンク
llama.cpp #30326 vulkan: fix buffer logging on 32-bit platforms after source split
出典
- llama.cpp #30364 Eval bug: Vulkan: MiniMax-M2 prompt processing collapses at long context with ubatch above 128 on Strix Halo (gfx1151); long submits trigger amdgpu “device lost”
- llama.cpp #30230 Eval bug: Vulkan + mmproj: ~250x slower generation with a UD-Q3_K_XL quant of Qwen3.5-35B-A3B (same projector is fine with the IQ3_XXS quant)
- Qwen3.5-4B comparison completed on CPU, 2026-10-12
- [Bug]: Pinned llama.cpp Vulkan build is ~4x slower than LM Studio’s Vulkan build on the same Windows AMD GPU (RX 9070 XT) — -ngl 99 buys nothing over -ngl 0
- llama.cpp commit 966baae7: vulkan: handle mul_mat_id duplicates in the prepass rather than looping (#29998)
- llama.cpp #30373 metal : fix mul_mat_id with duplicate ids
- llama.cpp Vulkan issue #29357: vulkan : Intel FA kernel for prefill.
- llama.cpp Vulkan issue #30280: RDNA3/4 Vulkan Large-Tile Split-K Optimization
- llama.cpp #30326 vulkan: fix buffer logging on 32-bit platforms after source split
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。