テクニカルガイド
PagedAttendant と vLLM
PagedAttention manages transformer key/value caches using fixed-size blocks mapped from logical token positions.
このガイドを聴くAIによるナレーション · ~2 min
概要
This reduces cache-allocation waste and supports sharing, while vLLM’s actual throughput depends on the workload and system.
ディープダイブ
言語モデルがテキストを生成するとき、次のトークンが完全なコンテキストに対応できるように、認識したすべてのトークンの「KV キャッシュ」(キーおよび値ベクトル) を保持します。従来、各リクエストは、可能な最大長に合わせたサイズの GPU メモリの 1 つの大きな連続スラブを予約しており、シーケンスが短い場合や長さが異なる場合に膨大な量を無駄にしていました。カリフォルニア大学バークレー校の 2023 年の vLLM 論文で導入された PagedAttendance は、オペレーティング システムから仮想メモリ ページングのアイデアを借用しています。KV キャッシュを固定サイズのブロックに分割し、メモリ内のどこにでも存在し、オンデマンドで割り当てることができます。ルックアップ テーブルは、論理トークンの位置を物理ブロックにマップします。これにより、メモリの断片化がほぼ解消され、たとえば同じプロンプトからの複数の出力間でブロックを共有できるようになります。
現実世界の実装
vLLM が 1 つの GPU から高スループットで多数の同時チャット ユーザーにサービスを提供するオープンソース LLM API をホストする
長いシステム プロンプトをプレフィックス キャッシュ経由で数千のリクエスト間で共有し、繰り返しではなく 1 回処理されるようにする
コピーオンライトを介して共通プロンプトの KV ブロックを共有するビーム検索または複数のサンプリングされた補完の実行
断片化による GPU メモリの無駄を削減し、プロバイダーがより多くの同時セッションを同じハードウェアに詰め込めるようにする
PagedAttendant と vLLM の将来
vLLM はデフォルトのオープンソース推論バックボーンとなり、PatedAttendant のアイデアはほとんどのサービス スタックに反映されるようになりました。より深いプレフィックス キャッシュ (キャッシュされたシステム プロンプトをユーザー間で再利用)、別々のマシンでの細分化されたプレフィルとデコード、よりスマートなエビクション ポリシー、量子化と投機的デコードとの緊密な統合が期待されます。コンテキスト ウィンドウが数百万のトークンに成長するにつれて、効率的なページング KV 管理が、手頃な価格でサービスを提供し続けるためにさらに中心的になります。
実践する
なぜそれが重要なのか
- 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
- より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
- 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
気をつけてください
- 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
- インフラストラクチャとメンテナンスのコストは過小評価されがちです。
- システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
次のステップ
- 実装前にレイテンシ、品質、コストの目標を定義します。
- 現実的な負荷とデータ条件でのベンチマーク。
- エラー、ドリフト、ユーザーへの影響を計測器で監視します。
- スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
探検を続けましょう
よくある質問
What is PagedAttention and vLLM?
PagedAttention manages transformer key/value caches using fixed-size blocks mapped from logical token positions. This reduces cache-allocation waste and supports sharing, while vLLM’s actual throughput depends on the workload and system.
テキスト生成中に「KV キャッシュ」には何が保存されますか?
KV キャッシュは、以前のすべてのトークンのキー ベクトルと値ベクトルを保持し、モデルが各ステップで再計算することなく完全なコンテキストに対応できるようにします。
PagedAttendance にインスピレーションを与えたオペレーティング システムのコンセプトは何ですか?
PagedAttendance は仮想メモリ ページングを借用します。KV キャッシュは、どこにでも存在できる固定サイズのページに分割され、ブロック テーブルによってマップされます。
従来の KV キャッシュ割り当てに関するどのような問題が PagedAttend によって解決されますか?
リクエストごとに 1 つの大きな連続スラブを最大長に合わせて予約すると、大量の GPU メモリが無駄になります。ページングはオンデマンドで小さなブロックを割り当て、無駄を削減します。
PagedAttendance はどのようにして複数の出力で共通のプロンプトのメモリを共有できるのでしょうか?
同一のプレフィックス (共有プロンプトまたはビーム検索ブランチ) は同じ物理 KV ページを参照し、ブランチが分岐する場合にのみコピーします。
vLLM と PagedAttendant は最初にどこで開発されましたか?
vLLM と PagedAttendation アルゴリズムは、カリフォルニア大学バークレー校の 2023 年の論文で発表され、すぐに広く使用されるオープンソースのサービス エンジンになりました。