記事一覧へ
ハードウェアとコスト3 分で読めます

同じモデルなのに、会話が長くなると VRAM が増える理由

モデルの重みは変わらなくても、長い会話ではメモリ不足が起きやすくなります。理由の 1 つが、生成中に保存される KV cache です。その使用量はコンテキスト長、モデル構造、同時実行数に関係するため、ハードウェアの予算では「モデルの大きさ」と「使い方」の両方を考える必要があります。

ブランド名のない計算チップと、層状の回路・メモリモジュールのイラスト。
AI 生成の編集イラストテーマを表すイメージです。製品の画面、研究結果、原資料の写真ではありません。
3か月間無料 · 2027年1月10日(日本時間)まで、すべての記事全文を公開中。

KV cache は、注意機構の計算に必要なキーとバリューを保存し、後続の token を生成するときの重複計算を減らします。Hugging Face のキャッシュ戦略のドキュメントでは、各方式のメモリと速度のトレードオフを説明しています。NVIDIA の推論に関する記事でも、キャッシュをリソース予算の重要な要素に挙げています。Hugging Face ドキュメント ↗、NVIDIA 技術記事 ↗

一般的なフルアテンションのキャッシュを例にすると、簡略化した見積もりは次のとおりです。

キャッシュのバイト数 ≈ 2 × 層数 × KV ヘッド数 × 各ヘッドの次元数 × token 数 × 同時実行するシーケンス数 × 要素あたりのバイト数。

ここでの 2 は、キーとバリューに対応します。例として、32 層、KV ヘッド 8 個、各ヘッド 128 次元のモデルを考えます。4,096 token を保存し、単一シーケンスで各値に 2 バイトを使うと、キャッシュは約 512MiB になります。

これらの仮定が変わらなければ、次のようになります。

  • コンテキストが 8,192 token になると、約 1GiB。
  • 4,096-token のシーケンスを同時に 4 本保存すると、約 2GiB。

これは規模感をつかむために独自に作った計算例で、キャッシュの割り当てやバッファなどのオーバーヘッドを含んでいません。スライディングウィンドウ、異なる注意機構の構造、キャッシュの量子化によっても結果が変わるため、すべてのモデルに当てはめることはできません。

ビジュアルノート
選んだ文書の断片と周囲の文脈が、透明な読み取りウィンドウに入るイラスト。
AI 生成の概念イラスト重みは同じでも、会話は長くなる

試してみる

モデルと量子化方式を固定し、入力長を段階的に増やして、メモリのピーク使用量と最初のトークンが出るまでの時間を記録してください。その後、同時実行数を変えます。条件を 1 回に 1 つだけ変更すれば、どの要求がメモリ使用量を押し上げたか判断しやすくなります。

VRAM を節約する方法では、速度も測りましょう。キャッシュを別のメモリ領域に移したり、さらに量子化したりすると、新たな計算や転送のコストが生じる可能性があります。

仕組みを、ひと切れずつ

重みは同じでも、会話は長くなる

  1. モデル重み

    同じチェックポイント

  2. 長いコンテキスト

    参照するトークンが増える

  3. KV キャッシュ

    保持したアテンションの状態

編集部の概念図必要量は構造、精度、コンテキスト長、同時実行数で変わります。関係を表す図で、実測の増加率ではありません。

理解したら、実際に試してみましょう。

次の記事を探す
この記事は役に立ちましたか?

ログイン不要。同じブラウザでは、言語を変えても1票です。

いいねを読み込み中…

原資料・参考リンク

内容の確認と学習のためのリンクです。資料の掲載は本誌への推薦や支持を意味しません。

huggingface.co原資料 1developer.nvidia.com原資料 2