オープンソースの大規模言語モデル実行環境「llama.cpp」において、次世代の4ビット量子化フォーマット「NVFP4」の推論パフォーマンスを引き上げる変更が行われた。行列演算の後処理をGPU上で融合することで、特定のモデルで最大約8%のトークン生成速度向上が確認されている。

MMVQ命令の後処理をワンステップ化

今回の改善の中核は、CUDA上で動作する「MMVQ(行列-ベクトル量子化積)」演算の後処理を、主演算と一体化させる「融合(Fusion)」だ。これまで別々に実行されていたスケール適用やバイアス加算を単一のカーネル内で完了する。プロセス間のデータ移動が減ることで、メモリ帯域への負荷が低減され、特にバッチサイズが小さい場合のレイテンシが低下する。開発段階では一部の量子化方式で速度低下が見られたため、当初の適用範囲をNVFP4に限定。最適化の対象を絞り込むことで、確実な改善効果を引き出す設計判断がなされている。

B4500とDGX Sparkで見えた性能差

ベンチマーク結果は、ハードウェアによって異なる改善度合いを示している。B4500ではqwen35moeモデル(NVFP4)が毎秒150.15トークンから156.29トークンへと4%向上したのに対し、DGX Sparkでは同モデルが58.31から59.69へと約2%の向上に留まった。この差は、融合最適化がメモリ帯域や命令スケジューリングに左右される特性を持つことを示唆する。一方、同じ量子化ビット数でもQ4_K_Mなど既存形式では速度が横ばいであり、NVFP4のフォーマットに特化した改良である点がデータから明確に読み取れる。

開発陣が直面したレジスタ圧力との戦い

融合処理の実装過程では、GPUのレジスタ使用量が増大することで、かえって速度が低下する「レジスタ圧力」の問題が発生した。プロローグ(前処理)に計算資源を取られ、本来高速化すべきホットループ部分が肥大化する現象である。これに対処するため、今回の融合は一旦NVFP4のみに制限された。プルリクエスト内の議論からは、NVFP4特有のデータ配置を活用したレジスタ割り当ての工夫や、シェアードメモリ経由でのデータ受け渡しを最小化する設計が試みられていることがわかる。これはAIチップ設計にも通じる課題だ。

量子化競争の次なる焦点はランタイム効率

量子化技術はモデルの軽量化だけでなく、実行時の演算効率で差がつく段階に入った。NVFP4はNVIDIAの次世代GPUでネイティブサポートされる見込みだが、本変更はそうした専用ハードウェアの恩恵を待たずに、現行CUDA環境でも速度を引き出すソフトウェア側の工夫を示している。Intel Xeon上でもNVFP4モデルが9%高速化した事実は、データセンターからエッジまで見据えた推論基盤の最適化が、フォーマット単体の利点を超えた開発競争になっていることを物語る。