テクニカルガイド

PagedAttendant と vLLM

PagedAttendance は、言語モデルのアテンション キャッシュを 1 つの大きな連続したチャンクではなく、再利用可能な小さなブロックに保存するメモリ管理手法です。

2分の読書最終更新日

概要

It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.

ディープダイブ

言語モデルがテキストを生成するとき、次のトークンが完全なコンテキストに対応できるように、認識したすべてのトークンの「KV キャッシュ」(キーおよび値ベクトル) を保持します。従来、各リクエストは、可能な最大長に合わせたサイズの GPU メモリの 1 つの大きな連続スラブを予約しており、シーケンスが短い場合や長さが異なる場合に膨大な量を無駄にしていました。カリフォルニア大学バークレー校の 2023 年の vLLM 論文で導入された PagedAttendance は、オペレーティング システムから仮想メモリ ページングのアイデアを借用しています。KV キャッシュを固定サイズのブロックに分割し、メモリ内のどこにでも存在し、オンデマンドで割り当てることができます。ルックアップ テーブルは、論理トークンの位置を物理ブロックにマップします。これにより、メモリの断片化がほぼ解消され、たとえば同じプロンプトからの複数の出力間でブロックを共有できるようになります。

技術的な洞察

KV キャッシュは固定サイズのページに分割され、各ページには設定された数のトークンのキーと値が保持されます。シーケンスごとのブロック テーブルは論理位置を物理ページの位置にマップするため、シーケンスのキャッシュは連続している必要はありません。同一のプレフィックス (共有システム プロンプト、またはビーム検索ブランチ) がコピーオンライト経由で同じ物理ページを指すことができるため、メモリは重複する代わりに再利用され、無駄が 60% 以上から数% に削減されます。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

PagedAttendant と vLLM の将来

vLLM はデフォルトのオープンソース推論バックボーンとなり、PatedAttendant のアイデアはほとんどのサービス スタックに反映されるようになりました。より深いプレフィックス キャッシュ (キャッシュされたシステム プロンプトをユーザー間で再利用)、別々のマシンでの細分化されたプレフィルとデコード、よりスマートなエビクション ポリシー、量子化と投機的デコードとの緊密な統合が期待されます。コンテキスト ウィンドウが数百万のトークンに成長するにつれて、効率的なページング KV 管理が、手頃な価格でサービスを提供し続けるためにさらに中心的になります。

現実世界の実装

vLLM が 1 つの GPU から高スループットで多数の同時チャット ユーザーにサービスを提供するオープンソース LLM API をホストする

長いシステム プロンプトをプレフィックス キャッシュ経由で数千のリクエスト間で共有し、繰り返しではなく 1 回処理されるようにする

コピーオンライトを介して共通プロンプトの KV ブロックを共有するビーム検索または複数のサンプリングされた補完の実行

断片化による GPU メモリの無駄を削減し、プロバイダーがより多くの同時セッションを同じハードウェアに詰め込めるようにする

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the PagedAttention and vLLM quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

差分プライバシー

よくある質問

What is PagedAttention and vLLM?

PagedAttendance は、言語モデルのアテンション キャッシュを 1 つの大きな連続したチャンクではなく、再利用可能な小さなブロックに保存するメモリ管理手法です。これは、単一の GPU が処理できるリクエストの数を大幅に向上させるオープンソースのサービング エンジンである vLLM を強化します。

テキスト生成中に「KV キャッシュ」には何が保存されますか?

KV キャッシュは、以前のすべてのトークンのキー ベクトルと値ベクトルを保持し、モデルが各ステップで再計算することなく完全なコンテキストに対応できるようにします。

PagedAttendance にインスピレーションを与えたオペレーティング システムのコンセプトは何ですか?

PagedAttendance は仮想メモリ ページングを借用します。KV キャッシュは、どこにでも存在できる固定サイズのページに分割され、ブロック テーブルによってマップされます。

従来の KV キャッシュ割り当てに関するどのような問題が PagedAttend によって解決されますか?

リクエストごとに 1 つの大きな連続スラブを最大長に合わせて予約すると、大量の GPU メモリが無駄になります。ページングは​​オンデマンドで小さなブロックを割り当て、無駄を削減します。

PagedAttendance はどのようにして複数の出力で共通のプロンプトのメモリを共有できるのでしょうか?

同一のプレフィックス (共有プロンプトまたはビーム検索ブランチ) は同じ物理 KV ページを参照し、ブランチが分岐する場合にのみコピーします。

vLLM と PagedAttendant は最初にどこで開発されましたか?

vLLM と PagedAttendation アルゴリズムは、カリフォルニア大学バークレー校の 2023 年の論文で発表され、すぐに広く使用されるオープンソースのサービス エンジンになりました。