llama.cppはリリースb12274で、変更#28392によりFP8 KVキャッシュのサポートを追加しました。スケール付きFP8 KVキャッシュのテスト、スケール取得とマッピングの修正、Gemma 4 AssistantのFP8対応をまとめた変更です。
llama.cppはggml-orgが公開するC/C++実装の推論ソフトウェアで、CPUや各社GPUで実行でき、量子化とCPU・GPUの併用に対応します。
何が新しいか
- スケール付きFP8 KVキャッシュに対応し、scaled KVを汎用化
get_*_scaleのマッピングを修正し、RoPEシフト前にもFP8をdequantize- KVキャッシュのスケールにBF16も許可
- キャッシュスケール名をプロジェクションのレイアウトに依存せず正規化し、
*_cache_scaleを*_cache_sへ改名 - Gemma 4 Assistantで、スケールポインタを保存・取得することでFP8を利用可能に
is_type_scaled()をllama-kv-cache.cppへ移動
原文によると、非共有スケールではfused KQVは現時点で実用的ではないものの、スケール名の正規化は将来の利用に向けた改善と位置づけられています。
テストと適用条件
| 項目 | 内容 |
|---|---|
| test-backend-ops | scaled FP8 KVキャッシュのテストを追加 |
| E2Eテスト | ggmlのバックエンド演算だけのテストではないためtest-llama-archsへ移動 |
| KVテスト | test-fp8.cppへ移動(#27512関連) |
| OpenVINO | FP8 KVキャッシュテストを除外 |
| マルチGPU | FP8のkv-ffload=false+マルチGPUテストを無効化 |
| 対象モデル | KVキャッシュを直接消費するモデルをテストから除外 |
CIではkv-cache-scaleテストを実行するよう設定しています。

まだコメントはありません。