論文メモ:動画VLMのKV Cacheを軽量化するWindowQuant

に公開

WindowQuantの概要

はじめに

この記事は、以下の論文を読んだ技術メモです。

  • 論文タイトル: WindowQuant: Mixed-Precision KV Cache Quantization based on Window-Level Similarity for VLMs Inference Optimization
  • 論文リンク: https://arxiv.org/html/2605.02262v1
  • 著者: Wei Tao, Xiaoyang Qu, Peiqiang Wang, Guokuan Li, Jiguang Wan, Kai Lu, Jianzong Wang
  • 公開日: 2026年5月4日

詳細な背景説明、KV Cacheの基礎、図解、実験結果の整理は個人ブログ側にまとめています。

👉 完全版はこちら:https://kasblo.com/ai-paper/windowquant-vlm-kv-cache-quantization/

3行まとめ

  • WindowQuantは、動画VLMのKV Cache(推論時に再利用するKey/Value中間表現)を軽量化するための手法です。
  • 動画をwindow単位に分け、質問との関連度に応じてFP16、INT4、INT2を使い分けます。
  • 精度を維持または改善しつつ、KV Cacheのメモリ使用量とデコード遅延を削減することを狙っています。

何の論文か

動画VLMでは、動画フレームが大量のvisual token(画像や動画をモデルが扱うためのベクトル表現)に変換されます。

入力動画が長くなるほど、Transformer内部で保持するKV Cacheが大きくなります。論文では、LLaVA-OneVision-0.5Bで30秒動画を扱うと、visual token由来のKV Cacheが約21.6GBに達する例が示されています。

WindowQuantは、このKV Cacheをすべて同じ精度で保存するのではなく、質問に対する重要度に応じて保存精度を変える手法です。

KV Cacheの位置づけ

KV Cacheは、attention計算で使うKeyとValueを保存しておく仕組みです。

自己回帰生成では、過去tokenのKey/Valueは一度計算すれば変わりません。そのため、毎回すべてを再計算するのではなく、cacheとして保存して再利用します。

一方で、長い入力や動画入力では、このcache自体がGPUメモリとメモリ帯域のボトルネックになります。

KV Cacheの仕組み

何が新しいのか

WindowQuantの特徴は、window-level similarityにもとづく混合精度量子化です。

動画を複数のwindowに分け、各windowとテキスト質問の類似度を計算します。その類似度に応じて、KV Cacheのbit幅を変えます。

関連度 精度 狙い
高い FP16 質問に重要な情報を高精度で保持する
中程度 INT4 精度と圧縮率のバランスを取る
低い INT2 関連の薄い情報を強く圧縮する

類似度計算には、cosine similarity(ベクトルの向きの近さを見る指標)が採用されています。論文のablationでは、Pearson correlationやEuclidean distanceよりも、cosine similarityの方が精度とレイテンシの両面で良い結果でした。

WindowQuantの類似度計算フロー

技術的に面白い点

面白いのは、量子化の精度だけでなく、メモリ配置まで考えている点です。

FP16、INT4、INT2のKV Cache windowが物理メモリ上でばらばらに並ぶと、GPUのcache line(メモリをまとめて読む単位)やSIMD(複数データを一命令で処理する方式)に乗りにくくなります。

そこでWindowQuantでは、同じbit幅のwindowをまとめて配置し、INT2、INT4、FP16のブロックごとにattention計算しやすくしています。

また、最初のwindowは類似度に関係なくFP16で保持します。先頭付近のtokenは後続のattentionで参照されやすく、動画の初期状態や場面設定を含む可能性があるためです。

主な結果

論文では、LLaVA-OneVision-Qwen2、VideoLLaVA、VideoLLaMA2、InternVL2などの動画VLMで評価されています。

主な報告値は以下です。

項目 結果
100フレーム入力時のKV Cache 1.05GBから0.19GBへ削減
デコード遅延 2451msから1640msへ短縮
全体レイテンシ 6514msから5714msへ短縮
傾向 一部ベンチマークではFP16ベースラインより精度が改善

低関連windowを強く量子化することで、不要な情報やノイズが抑えられ、結果的に精度が上がるケースがある点も興味深いです。

ただし、常に精度が上がるわけではありません。Object ExistenceやMoving Attributeのように、細かい視覚情報や一瞬の変化が重要なタスクでは、量子化による情報損失が効く可能性があります。

実装者視点で気になった点

この論文は、動画全体を均一に圧縮しない設計が実用的です。

動画質問応答では、質問に答えるために本当に必要な場面は一部であることが多いです。そのため、質問に関係するwindowを高精度で残し、関係の薄いwindowを圧縮する方針は自然です。

また、token単位ではなくwindow単位で制御することで、探索コストや実装複雑性を抑えています。論文の標準設定ではwindow sizeは32で、1つのwindow内のvisual tokenは同じbit幅で量子化されます。

KV Cache量子化だけでなく、メモリ配置やGPU上の計算効率まで扱っている点が、かなりシステム実装寄りで面白いです。

個人的な所感

WindowQuantは、長尺動画VLMの実用化に近い課題を扱っている論文だと感じました。

モデルを大きくする、入力を長くする、動画を細かく見る、という方向に進むほど、KV Cacheは避けて通れない問題になります。

その中で「すべての動画tokenを同じ重要度として扱わない」という設計は、今後の動画VLM推論最適化で重要な考え方になりそうです。

一方で、細粒度な視覚判断が必要なタスクでは低bit化の影響を受けやすいので、用途ごとの検証は必要です。

詳細版

より詳しいKV Cacheの解説、類似度計算、メモリ配置の話、実験結果の整理は個人ブログにまとめています。

👉 完全版はこちら:https://kasblo.com/ai-paper/windowquant-vlm-kv-cache-quantization/

Discussion