【780M向け】AMD iGPU (Radeon 780M) 向け Vulkan 最適化: BF16X 圧縮、MMQ 精度改善、YaRN 対応
目次
llama.cpp は ggml-org が開発する C/C++ の LLM 推論エンジン。Vulkan バックエンドで AMD iGPU でも動く。
今回の要点
- VRAM節約と精度改善: BF16X 圧縮、MMQ 符号混在ドット積有効化、YaRN 対応により、780M の推論環境が大幅に強化された。
- Ollama 0.40+ での iGPU 有効化: 最新バージョンでは環境変数
OLLAMA_IGPU_ENABLE=1の設定が必須となった。 - GPU 順序による性能変動: Vulkan における GPU デバイスの検出順序が、プロンプト処理速度に深刻な影響を与えることが報告されている。
- 新モデル対応: 780M 推奨の Spark-X2.6-4B や、大規模 MoE 推論実績のある Nemotron 3.5 Bolt などの対応モデルが追加された。
AMD iGPU (780M) 向け Vulkan 最適化: BF16X 圧縮・MMQ 精度改善・YaRN 対応
前提
llama.cpp の Vulkan バックエンドでは、VRAM の効率的な利用と推論精度の向上を目的とした複数の最適化が行われています。特に 32GB UMA の 780M 環境では、メモリ節約と高速化が推論可能モデルの範囲を広げます。
何が変わったか
- BF16X 圧縮: BF16 を 11.5 bpw に再圧縮する
GGML_TYPE_BF16X新フォーマットが Vulkan に対応しました。これにより、32GB UMA の 780M で BF16 モデルの VRAM 節約が可能になります PR#29896。 - MMQ 精度改善: Vulkan MMQ で符号混在の整数ドット積が有効化され、MoE expert routing (mul_mat_id) の量子化精度が改善されました PR#31045。
- 推論速度最適化: Vulkan の
mul_mat_vecqで K 量子化 dequant が hoist され、量子化されたカーネルの読み込みが最適化されました PR#31022。 - YaRN 対応: YaRN の
truncate=falseオプションが Vulkan に対応し、長いコンテキストの推論で RoPE 拡張を切り捨てずに行えるようになりました PR#30206。
なぜ重要か
780M の VRAM 節約と推論精度・速度が大幅改善し、より大規模なモデルや長いコンテキストの推論が可能になります。
利用者の報告
Ollama 0.40+ での iGPU 有効化
Ryzen 9 7940HS / Radeon 780M 環境で Ollama 0.40.8 を使用する場合、Vulkan が GPU を検出してもデフォルトで iGPU が無効化される現象が報告されています。この場合、環境変数 OLLAMA_IGPU_ENABLE=1 の設定が必要です rokoter の報告。
Environment=OLLAMA_IGPU_ENABLE=1
設定後、daemon-reload と restart ollama を実行することで、qwen3:4b-instruct で約 31 tokens/s の推論速度が確認されています rokoter の報告。
Vulkan GPU デバイス順序による性能変動
Debian 13 x64 環境で、複数の GPU を搭載した PC において、Vulkan デバイスの検出順序がプロンプト処理速度に深刻な影響を与えることが報告されています。Qwen MoE モデルのテストで、特定の GPU をターゲットにしても速度低下が発生しました AlexGidarakos の報告。
Strix Halo (Ryzen AI Max+) 実測: Qwen3.8-Flash-Next 1Mコンテキスト対応
前提
Strix Halo (Ryzen AI Max+) は 128GB UMA を搭載した高性能 iGPU です。llama.cpp の Strix Halo 向け fork では、超大規模 MoE モデルの推論が実証されています。
何が変わったか
- 1M コンテキスト対応: Ryzen AI Max+ 395 (128GB UMA, Vulkan/RADV) で Qwen3.8-Flash-Next (177B MoE) の 1M コンテキスト推論が実測されました vahpetr の報告。
- 推論速度: decode は 61 t/s (空)、524k コンテキストで 45 t/s、1M コンテキストで 35.5 t/s でした vahpetr の報告。
- prefill 最適化: v64 の flash-attention LDS レイアウト変更により、32K コンテキストで 500.9 t/s (+7.2%)、72K コンテキストで 417.3 t/s (+8.2%) の改善が確認されました vahpetr の報告。
なぜ重要か
128GB UMA 環境での超大規模 MoE 推論の実績値が示され、780M でも expert-GEMM タイルで −12〜−21% の改善が期待できます vahpetr の報告。
利用者の報告
Ollama 0.40+ での iGPU 有効化
Ryzen 9 7940HS / Radeon 780M 環境で Ollama 0.40.8 を使用する場合、Vulkan が GPU を検出してもデフォルトで iGPU が無効化される現象が報告されています。この場合、環境変数 OLLAMA_IGPU_ENABLE=1 の設定が必要です rokoter の報告。
Environment=OLLAMA_IGPU_ENABLE=1
設定後、daemon-reload と restart ollama を実行することで、qwen3:4b-instruct で約 31 tokens/s の推論速度が確認されています rokoter の報告。
Vulkan GPU デバイス順序による性能変動
Debian 13 x64 環境で、複数の GPU を搭載した PC において、Vulkan デバイスの検出順序がプロンプト処理速度に深刻な影響を与えることが報告されています。Qwen MoE モデルのテストで、特定の GPU をターゲットにしても速度低下が発生しました AlexGidarakos の報告。
新モデル対応: Spark-X2.6-4B (780M推奨) と Nemotron 3.5 Bolt (24GB)
前提
llama.cpp は新しいモデルの GGUF 形式に対応し、AMD iGPU での推論範囲を広げています。
何が変わったか
- Spark-X2.6-4B: 4.1B dense model by XHToken (SparkLLM)。switchable thinking levels。GGUF 変換済み。780M iGPU で高速動作。Ollama
run SparkLLM/Spark-X2.6-4Bで実行可能 Hugging Face。 - NVIDIA Nemotron 3.5 Bolt: 74B (9B active) モデル、24GB に量子化。Two-bit weights。780M (16-32GB UMA) では不収容だが、16GB RTX なら NVFP4/GTFS8 版で部分収容の可能性 Hugging Face。
なぜ重要か
780M や 16GB GPU での動作可否と量子化選択肢の提示により、ユーザーは自身の環境に合ったモデルを選択しやすくなります。
DFlash ドラフトモデルの GIDD log-SNR 条件付け対応
前提
DFlash (DeepSeek Flash) はドラフトモデルで、MTP/NDM 推論において生成品質の改善が期待されます。
何が変わったか
- GIDD log-SNR 条件付け: DFlash draft モデルの GIDD (Generalized Inverse Distance weighting) log-SNR conditioning 対応が追加されました PR#30657。
なぜ重要か
MTP/NDM 推論における生成品質の改善により、780M の推論精度が向上します。
Vulkan: Intel Iris Xe で ErrorOutOfDeviceMemory が発生する不具合
前提
llama.cpp の Vulkan バックエンドでは、一部の Intel iGPU 環境でメモリ不足エラーが発生する不具合が報告されています。
何が変わったか
- ErrorOutOfDeviceMemory: Intel Iris Xe Graphics (integrated, uma: 1; Vulkan reports 8061 MiB total / 7402 MiB free) 環境で、Flint UD-IQ2_XXS (11.04 GiB) モデル実行時にメモリ不足エラーが発生しました FaizJamal06 の報告。
なぜ重要か
メモリ不足ではないのにエラーになる現象の報告により、Intel iGPU ユーザーは回避策や修正を待つ必要があります。
利用者の報告
Intel Iris Xe での ErrorOutOfDeviceMemory
Windows 11 Home 26H2 環境で、Intel Core i7-11390H + Intel Iris Xe Graphics を搭載した PC において、Flint 2-bit モデル (UD-IQ2_XXS) の実行時に ErrorOutOfDeviceMemory が発生しました。Vulkan は 8061 MiB total / 7402 MiB free を報告していますが、モデルは CPU では正常に動作します FaizJamal06 の報告。
Ollama 0.40+ での iGPU 有効化
Ryzen 9 7940HS / Radeon 780M 環境で Ollama 0.40.8 を使用する場合、Vulkan が GPU を検出してもデフォルトで iGPU が無効化される現象が報告されています。この場合、環境変数 OLLAMA_IGPU_ENABLE=1 の設定が必要です rokoter の報告。
Environment=OLLAMA_IGPU_ENABLE=1
設定後、daemon-reload と restart ollama を実行することで、qwen3:4b-instruct で約 31 tokens/s の推論速度が確認されています rokoter の報告。
Vulkan GPU デバイス順序による性能変動
Debian 13 x64 環境で、複数の GPU を搭載した PC において、Vulkan デバイスの検出順序がプロンプト処理速度に深刻な影響を与えることが報告されています。Qwen MoE モデルのテストで、特定の GPU をターゲットにしても速度低下が発生しました AlexGidarakos の報告。
出典
- PR#29896: ggml: add GGML_TYPE_BF16X - near-lossless bfloat16 recompression (Vulkan対応)
- PR#31045: vulkan: enable MMQ with mixed signedness integer dots
- PR#31022: vulkan: hoist K-quant dequant in mul_mat_vecq
- PR#30206: ggml: support truncate=false for YaRN (Vulkan対応)
- Strix Halo fork v61-v64 (Oct 17-21): 1M context Qwen3.8-Flash-Next on Vulkan
- GGUF: Spark-X2.6-4B (4.1B dense, Apache 2.0)
- GGUF: NVIDIA Nemotron 3.5 Bolt 74B-A9B (24GB quantization)
- PR#30657: model: add dspark GIDD log-SNR conditioning for DFlash draft models
- llama.cpp #31052 Eval bug: Running Flint (by Recursive) on GPU (Intel Iris Xe, Windows) using Vulkan, shows ErrorOutOfDeviceMemory even though memory is available
- Ollama 0.40+ skips the 780M as an iGPU – OLLAMA_IGPU_ENABLE=1 needed
- Misc. bug: Vulkan GPU device ordering affects PP performance
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。
製品ごとの特徴・紹介動画は SwitchBot 製品ガイド にまとめています。