【CUDA 16GB向け】llama.cpp 10月第2週:MTP推論の安定化、NVFP4カーネル導入、FlashAttention修正

目次
  1. 今回の要点
  2. MTPドラフトモデルのKVキャッシュ処理不具合修正
  3. NVFP4/MXFP4量子化カーネルの統合と性能向上
  4. FlashAttentionのCUDA Graph対応とメモリ確保不具合修正
  5. Qwen3.8 Flash NextのMTP対応と画像埋め込みサポート
  6. CUDA Graphの最適化とメモリ再割り当て回避
  7. 出典

この記事はAIによって編集・作成されています。

今回の要点

  • MTP(Multi-Token Prediction)推論におけるドラフトモデルのKVキャッシュ処理不具合が修正され、CPUオフロードやレイヤ分割環境での動作が安定した。
  • NVIDIAが策定するNVFP4およびMXFP4量子化形式のCUDAカーネルが統合され、16GB VRAM環境でも大規模モデルのロードと高速推論が可能になった。
  • FlashAttentionのCUDA Graph対応とメモリ確保不具合が修正されたが、Windows環境では依然としてメモリアクセスエラーの報告がある。
  • Qwen3.8 Flash NextがMTPと画像埋め込みをサポートし、多モーダル推論の選択肢が広がった。
  • CUDA Graphのメモリ再割り当て回避最適化により、推論パイプラインの効率が改善された。

MTPドラフトモデルのKVキャッシュ処理不具合修正

前提

MTP(Multi-Token Prediction)は、小さなドラフトモデルが複数のトークンを予測し、メインモデルが検証することで推論速度を向上させる手法である。ドラフトモデルのKVキャッシュ(Key-Value Cache)管理は、推論の正確性と速度に直結する。

何が変わったか

バッチ推論時のドラフトモデルのKVキャッシュ処理、CPUオフロード環境でのKVキャッシュ動作、非連続なレイヤ分割時のMTP動作の3点について修正が行われた。
バッチ推論時の処理修正(PR #28673)により、Qwen3.6-35B-A3BのようなMTPドラフトモデルを使用する場合のスループットが改善された。
CPUオフロード環境での修正(PR #28624)により、ドラフトモデルのレイヤをCPUに配置し、KVキャッシュのみをGPUに保持する(–gpu-layers 0 + kv-cache-f16)設定で、MTPの推論が正しく行われるようになった。
非連続なレイヤ分割(–split-mode layers)での修正(PR #28614)により、複数のGPUにモデルレイヤを分散配置する環境でもMTPが正常に動作するようになった。

なぜ重要か

16GB VRAMのGPU(RTX 3080/4080/5060 Ti等)では、大規模モデルを単一のGPUに収めるのが困難な場合、CPUメモリを活用したオフロードや、複数GPUでのレイヤ分割が必要になる。これらの環境でMTPが正しく動作しない場合、推論速度の恩恵を受けられず、場合によってはエラーが発生していた。今回の修正により、より柔軟なハードウェア構成でMTP推論を利用できるようになった。

根拠のリンク

利用者の報告

  • 環境: NVIDIA GPU, Version 0.8.5-rc3 (llama.cpp engine 0.5.0) / 結果: CUDA graphsなしでビルドされ、トークン生成速度が0.8.4比で約4倍遅延。jamesdam

利用者の報告

  • 環境

    • GPU: 2x RTX 5060 Ti 16 GB (Blackwell, sm_120)
    • モデル: Qwen3.6-35B-A3B Q4_K_M
    • 設定: –spec-type draft-mtp, レイヤ分割
  • 結果

    • コンテキスト長が約88Kトークンに達した際、MTPパスで「CUDA error: the launch timed out」が発生し、サーバーがクラッシュするという報告がある。[niyarlatotep via GitHub Issue #30396]

NVFP4/MXFP4量子化カーネルの統合と性能向上

前提

NVFP4(NVIDIA FP4)とMXFP4(Mixed-precision FP4)は、新しい量子化形式であり、モデルの重みをより低いビット幅で表現する。これにより、VRAM使用量が削減され、推論速度が向上する可能性がある。

何が変わったか

NVFP4およびMXFP4量子化のためのCUDAカーネルが統合された。
NVFP4カーネル(PR #28384)により、Qwen3.6-27B NVFP4のようなモデルが16GB VRAMのGPUにロード可能になった。F16と比較してプレフィル速度が8〜13%向上した。
MXFP4カーネル(PR #28363)により、DeepSeek-V4.1-FlashやGPT-OSSのようなMXFP4量子化モデルの推論が高速化された。CPUでのデ量子化と比較して約2倍高速化した。
また、MMVQ(Mixed-Matrix-Vector Quantization)やQ8_1量子化の最適化(PR #28403)も行われ、新しいGGUF形式(IQ5_0, IQ5_1, Q5_0, Q5_1, Q5_2)がサポートされた。

なぜ重要か

16GB VRAMのGPUでは、従来の量子化形式でも大規模モデルのロードが限界に近い場合がある。NVFP4やMXFP4のような新しい量子化形式を導入することで、より大きなモデルや、より高い精度のモデルを16GB環境で扱えるようになる。特にQwen3.6-27B NVFP4は、16GB VRAMのGPUでコンテキストを確保しながらロードできるため、実用的な選択肢となる。

根拠のリンク

FlashAttentionのCUDA Graph対応とメモリ確保不具合修正

前提

FlashAttentionは、Attention機構の計算を最適化し、VRAM使用量を削減しながら推論速度を向上させる技術である。CUDA Graphは、GPUカーネルの実行を記録・再生することで、オーバーヘッドを削減する技術である。

何が変わったか

FlashAttentionのCUDA Graph対応で、head_dimが256を超えるモデル(Qwen3.8など)での動作が修正された(PR #28648)。
FlashAttentionのCUDAカーネルにおけるテンソル割り当てサイズの不具合が修正された(PR #28502)。これにより、OOM(Out Of Memory)やデータの静かなる破損が防止された。
MXFP4推論における結果の不具合も修正された(PR #28602)。

なぜ重要か

16GB VRAMのGPUでは、FlashAttentionを使用することでVRAM使用量を削減し、より長いコンテキストを扱えるようになる。しかし、CUDA Graphとの組み合わせや、メモリ割り当ての不具合により、推論が不安定になる場合があった。今回の修正により、FlashAttentionの安定した利用が可能になった。

根拠のリンク

利用者の報告

  • 環境

    • GPU: NVIDIA GeForce RTX 4080 SUPER (16 GB)
    • OS: Windows 11
    • モデル: Gemma 4 12B QAT Q4_0
    • 設定: -fa on (FlashAttention有効)
  • 結果

    • FlashAttentionを有効にした場合、CUDA illegal memory accessエラーが発生し、サーバーがクラッシュするという報告がある。[SirNr1 via GitHub Issue #30436]

Qwen3.8 Flash NextのMTP対応と画像埋め込みサポート

前提

Qwen3.8 Flash Nextは、多モーダル(テキストと画像)に対応した大規模言語モデルである。MTPと画像埋め込み(image embeddings)を同時にサポートすることで、画像を含む入力の推論速度を向上させることができる。

何が変わったか

Qwen3.8 Flash NextがMTPと画像埋め込みをサポートするようになった(PR #30397)。これにより、画像を含む入力の推論が高速化される。

なぜ重要か

16GB VRAMのGPUでも、Qwen3.8 Flash Nextのような多モーダルモデルをMTPと組み合わせて使用することで、効率的な推論が可能になる。特に、画像認識や説明生成などのタスクで、推論速度が向上する。

根拠のリンク

CUDA Graphの最適化とメモリ再割り当て回避

前提

CUDA Graphは、GPUカーネルの実行を記録・再生することで、オーバーヘッドを削減する技術である。しかし、推論中にグラフの再割り当てが発生すると、パフォーマンスが低下する可能性がある。

何が変わったか

CUDA Graphのメモリ再割り当てを回避する最適化が行われた(PR #30255, PR #30439)。これにより、推論中のグラフの再割り当てが減少し、パフォーマンスが向上した。
また、推論中のグラフ再割り当てを報告する機能が追加された(PR #30329)。

なぜ重要か

16GB VRAMのGPUでは、VRAMの効率的な使用が重要である。CUDA Graphの再割り当てを回避することで、推論速度が向上し、VRAMの使用も最適化される。

根拠のリンク

出典

【宣伝】SwitchBot 購入はこちらから

SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。