Zipage: Maintain High Request Concurrency for LLM Reasoning through Compressed PagedAttention

本論文は、推論中の KV キャッシュによるメモリボトルネックを解決し、大規模数学的推論タスクにおいてフル KV 推論エンジンと同等の性能の約 95% を維持しつつ 2.1 倍以上の高速化を実現する、トークン単位の KV キャッシュ削除と PagedAttention を組み合わせた「Compressed PagedAttention」および高並列 LLM 推論エンジン「Zipage」を提案するものである。

Mengqi Liao, Lu Wang, Chaoyun Zhang, Bo Qiao, Si Qin, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang, Huaiyu Wan

公開日 Wed, 11 Ma
📖 1 分で読めます☕ さくっと読める

Each language version is independently generated for its own context, not a direct translation.

🚀 Zipage: 巨大な AI の「記憶」を圧縮して、何百人もの人と同時に会話させる技術

この論文は、最近話題の「推論(Reasoning)」ができる巨大な AI(大規模言語モデル)が、**「何百人ものユーザーと同時に会話しても、遅くなったり止まったりしないようにする」**ための新しい技術「Zipage」を紹介しています。

まるで、**「狭い部屋に何百人もの人を入れて、全員が同時に長話をしても、部屋がパンクしないようにする」**ような話です。


🧠 問題:AI の「記憶」が部屋を埋め尽くす

AI が会話をするとき、過去の文脈(何と言ったか)を覚えておく必要があります。これを専門用語で**「KV キャッシュ(メモリの断片)」**と呼びます。

  • 普通の AI(Full KV): 会話が進むたびに、過去のすべての記憶を「新しいメモ帳」に書き足していきます。
  • 問題点: 会話(推論)が長くなると、メモ帳の数が爆発的に増えます。
    • 想像してください。1 人のユーザーと 1 時間会話するだけで、メモ帳が 100 冊も必要になったらどうなるでしょう?
    • GPU(AI の頭脳)のメモリという「部屋」は限られています。メモ帳が増えすぎると、部屋がいっぱいになり、**新しいユーザーを受け入れられなくなります。**これが「高同時接続」の壁です。

✂️ 解決策:Zipage と「圧縮されたページ Attention」

この論文の著者たちは、**「Zipage」という新しいシステムを開発しました。その核心は「Compressed PagedAttention(圧縮されたページ Attention)」**という技術です。

🏠 アナロジー:「図書館の整理術」

Zipage の仕組みを、**「限られたスペースの図書館」**に例えてみましょう。

  1. ページ管理(PagedAttention):
    昔のシステムは、1 人の利用者が本を読むたびに、新しい棚を 1 つずつ用意していました。
    Zipage は、**「本を小さなブロック(ページ)に分けて、空いている棚に自由に配置する」**方式を使います。これにより、メモリの無駄がなくなります。

  2. 賢い捨て方(Token-wise Eviction):
    ここが最大の工夫です。

    • 従来の方法: 「古いページごと全部捨てる」か、「最初から全部残す」のどちらかでした。
    • Zipage の方法: 「1 行 1 行(トークンごと)の重要度をチェックして、不要な部分だけを捨てます。」
      • 例:「昨日の天気は雨でした」という文脈で、「昨日」や「雨」は重要ですが、「でした」の部分は少し前の話なら捨てても大丈夫かもしれません。
      • Zipage は、「今、ユーザーが注目している部分(直近の会話)」は絶対に残しつつ、それ以外の「あまり重要でない過去の記憶」だけを細かく削ぎ落として圧縮します。
  3. 結果:

    • 1 人のユーザーが使うメモリの上限が決まります(例:最大 4 冊のメモ帳まで)。
    • いくら会話が続いても、メモリの量は一定に保たれます。
    • そのおかげで、同じ部屋(GPU)に、これまでより 2 倍以上のユーザーを同時に招き入れることができます。

⚡ さらに速くする 3 つの魔法

Zipage は単に捨てるだけでなく、以下の 3 つの工夫でスピードを最大化しています。

1. 🏃‍♂️ 並走する「圧縮」と「会話」(非同期処理)

  • 昔: 圧縮作業(不要な記憶を捨てる)をしている間、AI は会話(トークンの生成)を止めて待っていました。
  • Zipage: **「圧縮は裏で、会話はお前!」**と並行して行います。
    • 例:料理人が「野菜を切る(圧縮)」作業をしている間、別の人が「炒める(会話)」作業を続けるイメージです。待ち時間がなくなり、全体が劇的に速くなります。

2. 🤝 共有された「共通の知識」(プレフィックスキャッシュ)

  • シチュエーション: 100 人のユーザーが、同じ「こんにちは、数学の問題を解いて」という言葉で始まる質問をします。
  • Zipage: 「こんにちは、数学の…」という最初の部分は、全員で 1 つのメモ帳を共有します。
    • 100 人分作らずに済むので、メモリが節約され、さらに多くの人が同時に利用できます。

3. 🎛️ 賢い「待ち行列の管理」(ハイブリッドスケジューリング)

  • 問題: 短い質問をする人が混じっていると、長い質問をしている人が邪魔をして、短い質問の人が待たされることがありました。
  • Zipage: 「短い質問なら、メモリの制限を少し緩めて優先的に通す」「長い質問は、圧縮をしながら順番に処理する」という柔軟なルールで、待ち時間を最小化します。

📊 どれくらいすごいのか?

実験結果は驚異的です。

  • 速度: 数学やプログラミングの難しい問題を解くタスクで、従来のシステムより 2.1 倍速く処理できました。
  • 精度: 速度を上げても、答えの正解率は 95% 以上を維持しました(ほぼ劣化なし)。
  • 同時接続: 限られた GPU 資源で、2 倍以上のユーザーを同時に受け入れることができました。

🎯 まとめ

Zipageは、AI が「長くて複雑な思考」をするときでも、「記憶(メモリ)」を賢く圧縮・整理する技術です。

  • 昔: 記憶が増えると部屋がいっぱいになり、新しい人を断らざるを得なかった。
  • 今(Zipage): 不要な記憶をこまめに捨てて、常に部屋を整理整頓しながら、何百人もの人を同時に快適に接待できるようになった。

この技術があれば、将来、私たちが AI と複雑な議論やプログラミングをしながらも、「AI が重くて遅い」という悩みがなくなるかもしれません。