Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】40 GB to 6.7 GB: The 3-Bit Trick That Shrinks Your KV Cache 6x

2026年10月23日に「Dev.to」が公開したITニュース「40 GB to 6.7 GB: The 3-Bit Trick That Shrinks Your KV Cache 6x」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

大規模言語モデル(LLM)のKVキャッシュは大量のメモリを消費し、運用コストを増やす課題があった。Googleの新技術TurboQuantは、ベクトルを回転させるシンプルな手法でKVキャッシュを最大6分の1に圧縮する。これにより、メモリ使用量が大幅に削減され、LLMの同時利用ユーザー数や処理可能なコンテキストサイズを増やしつつ、精度はほぼ維持できる。運用コスト削減に大きく貢献する技術だ。

ITニュース解説

KVキャッシュとは、大規模言語モデル(LLM)が会話の文脈を記憶し、次の単語を生成する際に利用する「メモ」のようなものだ。LLMは、会話の最初からすべてを読み直すのではなく、これまでの会話内容を「キー(Key)」と「バリュー(Value)」という形式のベクトルとしてキャッシュに保存する。これにより、新しい単語を生成する際には、このメモを参照するだけで効率的に処理を進めることができる。しかし、このKVキャッシュは、LLMの運用(サービング)において、多くのGPUメモリを消費する最大の要因となっている。例えば、700億パラメータを持つモデルが128K(約12万8千)トークンもの長い文脈を扱う場合、KVキャッシュだけで40GBものGPUメモリを必要とし、これは高性能なGPU(H100を2枚使用しても、モデルの重みデータをロードした後の残り容量をほぼ使い切ってしまう量)に匹敵する。モデルの重みは一度ロードすれば変わらない固定費のようなものだが、KVキャッシュはユーザーの要求ごとに発生し、トラフィックが増えるにつれてその消費量も増大するため、運用コストに直結する深刻な問題となっている。

この課題を解決するため、Google Researchは「TurboQuant」という新しい手法を開発した。これは、KVキャッシュのサイズを最大6分の1に圧縮し、さらに注意機構の処理速度をH100 GPU上で8倍も向上させるという画期的な技術だ。驚くべきことに、この手法は特別な調整データ(キャリブレーションデータ)を必要とせず、検索のベンチマークにおいては精度をまったく損なわないと報告されている。この技術の核心は、非常にシンプルな「ベクトルの回転」にある。

LLMが記憶するキーベクトルやバリューベクトルといったデータは、一つ一つの情報(トークン)が持つ多くの数値の集まりだ。この数値の分布には特徴があり、ほとんどの数字は小さいが、ごく一部に非常に大きな「外れ値」のような突出した数値が存在する。これがキーベクトルの現実の分布であり、一部の突出した値が全体の情報を支配している状態だ。もしこのデータを単純に圧縮しようとすると、例えば1エントリあたり8種類の数値(3ビット)しか使えない制約があった場合、この「外れ値」に合わせて全体の範囲を設定する必要がある。その結果、小さな数値の大部分は、ごく少数の利用可能なスロットに無理やり詰め込まれてしまい、細かな情報が失われ、精度が著しく低下してしまう。これが、KVキャッシュを素朴に3ビット量子化した場合に品質が損なわれる理由である。

TurboQuantはこの問題を解決するために、データを圧縮する前に「回転」させるという工夫を行う。データそのものが持つ本質的な情報は変わらないが、ランダムな回転を施すことで、これまで突出していた外れ値のエネルギーが、そのデータを構成する多くの数値に均等に分散される。その結果、個々の数値が極端に大きくなることはなくなり、全体の数値の分布は、どこも突出していない「ベルカーブ」のような均一な形になる。こうなると、圧縮する際に設定する数値の範囲を狭くできるため、与えられた少ないスロット数(3ビット)でも、細かな情報を効率的に表現し、元の品質を保ちやすくなる。さらに、回転と圧縮の後には、残されたわずかな誤差を補正するために、1ビットのランダムな変換を適用する第2段階の処理が加わる。この処理は「ジョンソン・リンドンスキーのアイデア」に基づき、数学的に偏りのない方法で誤差を修正する。つまり、回転させ、圧縮し、そして残った誤差を修正する、これがTurboQuantの全体像である。

TurboQuantは「PolarQuant」と「QJL誤差補正」という2つのステージで構成される。第1ステージのPolarQuantでは、各キーとバリューのベクトルにランダムな回転行列を適用し、その後、各座標に対して最適なスカラー量子化を解析的に計算して適用する。このプロセスには学習パラメータやキャリブレーションデータが一切不要であり、すべてがランダムな操作で完結するため、どのようなモデルに対しても瞬時に適用できる点がKIVIやAWQ/GPTQといった既存の手法との決定的な違いである。

第2ステージのQJL誤差補正は、第1ステージで発生した誤差(Residual)を補正するために存在する。LLMの注意機構は本質的にベクトルの「内積」計算によって成り立っているが、単純な量子化は内積計算の結果に系統的な偏り(Attentionスコアを縮小させる傾向)をもたらすことが知られている。QJL誤差補正では、この誤差を1ビットの量子化されたジョンソン・リンドンスキー変換によって圧縮する。この1ビットのスケッチは、内積の偏りのない推定値を提供することが数学的に証明されており、これにより補正されたAttentionスコアは統計的に正しい期待値を持つようになる。TurboQuantの理論は、情報理論的な歪みの下限(シャノン限界)に対して約2.7倍の範囲内に収まるとされており、この問題に対する非常に効率的な解決策だ。

具体的な効果としては、TurboQuantによってGPUメモリの使用量が劇的に削減される。例えば、Llama 3.1 70BモデルのKVキャッシュでは、32Kトークンで10GBが1.7GBに、128Kトークンで40GBが6.7GBに、そして1Mトークンでは約320GBが約53GBへと大幅に縮小される。これにより、2枚のH100 GPUを使用した場合、モデルの重みをロードした後の利用可能なメモリ(20GB)において、同時ユーザー数を約2人から約11人へと5.5倍に増やすことができ、ユーザーあたりのコストを大幅に削減できる。特に128Kトークンのような大規模な文脈では、これまで物理的に収まらなかったワークロードが、TurboQuantによって余裕を持ってGPUに収まるようになる。

ベンチマークの結果も非常に優れている。例えば、「Needle-in-a-Haystack」という検索タスクでは、104Kトークンまでの文脈で100%の検索精度(フルプレシジョンと完全に一致)を達成している。LongBenchベンチマークでも、Llama-3.1-8B-Instructモデルにおいて、3.5ビットのTurboQuantがフルキャッシュと同一のスコアを記録し、3ビットの場合でもパープレキシティ(モデルの予測性能を示す指標)の変化は0.5%未満に抑えられている。論文の比較では、KIVI、SnapKV、PyramidKVといった既存の手法を上回り、汎用的なベクトル検索においても、ほぼゼロのインデックス作成時間でプロダクト量子化を上回るリコール率を達成している。

しかし、この技術には注意すべき点もある。Googleからの公式実装はまだ公開されておらず、非公式のPyTorch/Tritonポートによる再現実験では、一部のワークロードで論文の数値に及ばない結果も報告されている。例えば、あるポートでは8Kコンテキストで5.1倍の圧縮率で0.9996のコサイン類似度と94%のAttention一致率という優れた結果を示したが、推論ベンチマークでは3ビットモードで15〜25ポイントの精度低下が見られた。4ビットバリアントでは論文に近い性能を維持し、約2.6〜3.1倍の実用的なKVキャッシュ削減効果が得られ、FP8ベースラインから約1ポイントの低下に留まった。

実用的な観点では、2026年10月時点でのKVキャッシュ圧縮の選択肢として、FP8 KV(約2倍圧縮、vLLMで既に利用可能)が現状のプロダクション対応の底辺にあり、TurboQuantのような3ビット手法は、2倍以上の圧縮が必要で、かつ自身の評価セットで慎重に検証できる場合に検討すべき、より高度な選択肢であるとされている。重み量子化(AWQ/GPTQで4倍圧縮)とKVキャッシュ量子化(TurboQuantで6倍圧縮)は併用可能であり、例えばAWQで4ビットに量子化された70Bパラメータモデル(約35GB)と、TurboQuantで圧縮された128Kコンテキストのキャッシュ(6.7GB)を組み合わせれば、合計約42GBとなり、単一の80GB H100 GPUに収まる。これは、これまで複数のGPUが必要だったワークロードを1台で処理できることを意味する。

いずれにせよ、LLMのコンテキストウィンドウが拡大し続ける中で、GPUメモリを最も消費するのはモデルの重みや計算量ではなく、KVキャッシュであることが明確になってきた。回転とランダムなサインスケッチというシンプルなアイデアが、PagedAttention以来の、LLMサービングにおける最大のコスト削減効果をもたらす可能性がある。ただし、3ビットというヘッドラインの数値を鵜呑みにする前に、自身のベンチマークでその効果と精度を十分に検証することが重要だ。それでも、圧縮されていないKVキャッシュの時代は終わりを告げつつあることは間違いない。

関連コンテンツ

関連IT用語

関連ITニュース