KVキャッシュとは 1語に800キロバイト、GPUのメモリの約3割を占める途中結果
KVキャッシュは、AIが読んだ文章の途中結果をGPUのメモリに置く仕組みです。130億パラメータのモデルでは1語あたり800キロバイトになり、DeepSeekは設計を変えてこれを93.3%減らしました。
- KVキャッシュは、AIが文章の各語について計算した「キー」と「バリュー」の値を、次の語の計算のために残しておくメモリです。
- カリフォルニア大学バークレー校などのvLLMの論文によると、130億パラメータのOPTで1語あたり800キロバイト、1件で最大1.6ギガバイトになります。
- 同じ論文は、既存の仕組みでは確保したKVキャッシュの領域のうち20.4〜38.2%しか使われていなかったとしています。
- 中国のDeepSeekは、モデルの設計を変えて、KVキャッシュを従来のモデル比で93.3%減らしました。
KVキャッシュとは、文章を生成するAIモデルが、すでに読んだ語ごとの計算結果をメモリに保存しておく仕組みのことです。KはKey(キー)、VはValue(バリュー)の頭文字です。AIの推論で、GPUに積むメモリ(HBM)の容量がなぜ足りなくなるのかは、この仕組みから説明できます。
なぜ途中結果を残すのか
いまの言語モデルは、次の1語を決めるたびに、それまでの全部の語との関係を計算します。その計算には、各語から作ったキーとバリューの値を使います。毎回作り直すと、文章が長くなるほど計算が膨らみます。そこで、一度作った値をメモリに残し、新しい語の分だけを足していきます。
大きさは、層の数、内部の値の幅、語の数、同時に処理する件数のかけ算で決まります。モデルの重みと違い、要求ごとに増えたり消えたりします。
どれだけ場所を取るか
vLLMの論文は、カリフォルニア大学バークレー校などの研究者が2023年9月に公開しました。数字は次のとおりです。
| 項目 | 数字 |
|---|---|
| OPT 13Bの1語あたり | 800KB |
| 1件の最大(2048語) | 1.6GB |
| A100 40GBでモデルの重みが占める割合 | 約65% |
| 同じく要求ごとの状態が占める割合 | 約30% |
| 既存の仕組みで実際に使われた割合 | 20.4〜38.2% |
無駄の原因は、最大の長さを見込んで連続した領域を先に確保していたことです。vLLMは、OSのメモリ管理をまねて、KVキャッシュを小さな区画に分けて必要な分だけ割り当てる方式(PagedAttention)を示しました。同じ待ち時間で、スループットが2〜4倍になったとしています。
モデルの側で小さくする
DeepSeekは2024年5月公開のDeepSeek-V2の論文で、キーとバリューを圧縮して持つ方式を使いました。総パラメータは2360億で、1語ごとに使うのは210億です。以前のDeepSeek 67Bに比べ、KVキャッシュを93.3%減らし、生成の最大のスループットを5.76倍にしたとしています。
KVキャッシュが小さければ、同じGPUで同時にさばく件数を増やせ、長い文章も扱えます。逆に、文脈を長くしたい、同時の利用者を増やしたいという要求は、HBMの容量の需要として半導体メーカーに返ってきます。HBMはSKハイニックス、サムスン電子、マイクロンの3社が作っています。
関連する用語
- HBM:GPUの隣に積む広帯域のメモリです。KVキャッシュの置き場です。
- 長い文脈:一度に読ませる文章の長さです。長いほどKVキャッシュが大きくなります。
- 量子化:値を少ないビットで持つ方法です。KVキャッシュにも使われます。
この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。
関連する記事
長い文脈とは グーグルとアンソロピックは100万トークンに 20万を超えると料金は2倍
長い文脈は、AIが一度に読み込める文章の量のことです。アンソロピックは2025年8月、Claude Sonnet 4を100万トークンに広げ、20万トークンを超える入力の料金を2倍にしました。
バッチ処理とは オープンAIとアンソロピックは急がない処理の料金を半額に
バッチ処理は、複数の要求をまとめて流す処理の方法です。オープンAIとアンソロピックは、24時間以内の返答でよい要求をまとめて受け付け、料金を通常の50%引きにしています。
推論のレイテンシとは 業界の性能試験は最初の1語を0.45秒、次の語を40ミリ秒以内と定める
推論のレイテンシは、AIが答えを返すまでの待ち時間です。業界団体MLCommonsの性能試験は、対話向けのLlama 2 70Bで、最初の1語を450ミリ秒、以後1語ごとを40ミリ秒以内とする条件を置いています。
建設のリードタイムとは TSMC熊本は着工から開所まで約1年10か月、アリゾナは発表から量産まで約4年半
建設のリードタイムとは、工場やデータセンターの着工から稼働までにかかる時間です。TSMCの熊本の第1工場は2022年4月に着工し、2024年2月に開所式を開きました。