広告

混在KVキャッシュ量子化を使用しないこと

Reddit r/LocalLLaMA / 2026/3/29

💬 オピニオンTools & Practical UsageModels & Research

要点

  • この投稿は、アテンションのKVキャッシュに対する「混在量子化」に反対し、それは誤りであり、メモリ節約に見えても精度を保っているように見えても誤解を招く結果につながると述べています。
  • より長いブログ記事での説明を参照し、KVキャッシュの量子化設定の違い(例:f16/q8_0を混在させるのではなく、KとVの両方にq8_0を使用する)を比較するベンチマークのエビデンスを示しています。
  • ベンチマーク表では、実行ごとに大きく一貫性のない性能差が示されており、KとVの量子化形式を混在させることは、中立的な「メモリ/精度」トレードオフとして振る舞うのではなく、スループットに実質的な影響を与えうることが示唆されています。
  • 著者は、ユーザーは混在KVキャッシュ量子化を避け、信頼できる挙動を得るためにKとVで同一の量子化設定を用いるべきだと結論づけています。

ここや他のAIサブでも、KVキャッシュのために量子化を混ぜて、精度をより高く保ちつつメモリも節約するという話をいくつか見かけました。私はしばらくそれを動かしていましたが、それがどれほど間違っているかに気づきました。

それについては、もう少し長いブログ記事を書きましたが、要点(TL;DR)はこのベンチマーク結果です:

model size params backend ngl n_batch type_k type_v fa test t/s
qwen35 9B Q6_K 6.84 GiB 8.95 B Vulkan 99 1024 f16 q8_0 1 pp5000 334.27 ± 1.42
qwen35 9B Q6_K 6.84 GiB 8.95 B Vulkan 99 1024 f16 q8_0 1 tg128 53.53 ± 0.23
qwen35 9B Q6_K 6.84 GiB 8.95 B Vulkan 99 1024 q8_0 q8_0 1 pp5000 952.79 ± 0.46
qwen35 9B Q6_K 6.84 GiB 8.95 B Vulkan 99 1024 q8_0 q8_0 1 tg128 63.37 ± 0.06
投稿者: /u/L3tum
[link] [コメント]

広告