【ページドアテンション】

PagedAttention とは?

公開:
💡 GPUメモリをページで仕切る、LLM推論の仮想メモリ
📌 このページのポイント
PagedAttention — KVキャッシュのページ管理 従来方式 最大長を事前確保 使用中 KV 未使用(無駄) 空き(断片化) PagedAttention ブロック単位で管理 Block R1-1 Block R1-2 Block R2-1 共有 Block R3 Block リクエスト1 リクエスト2 共有ブロック リクエスト3 GPUメモリ効率 45% ↓ PagedAttentionで改善 92% vLLMで採用 → スループット最大24倍向上 OSのページング仮想メモリ管理をGPUに応用
PagedAttention: ブロック単位のKVキャッシュ管理でGPUメモリ効率を大幅改善
ひよこ ひよこ
ペンギン先生、PagedAttentionって何?
ペンギン先生 ペンギン先生
LLMが文章を生成するとき、過去の計算結果を「KVキャッシュ」として保存するんだ。PagedAttentionはそのキャッシュをOSのページング(仮想メモリ管理)と同じ発想で、固定サイズのブロックに区切って管理する技術だよ。
ひよこ ひよこ
ページング…OSの授業で聞いたことある!なんでそれをAIに使うの?
ペンギン先生 ペンギン先生
従来の方法だとKVキャッシュをシーケンスの最大長分まるごと確保するから、GPUメモリがスカスカでもったいない状態(断片化)になりやすかったんだ。ページ単位に分ければ必要な分だけ割り当てられて効率的だよ。
ひよこ ひよこ
それだけでそんなに変わるの?
ペンギン先生 ペンギン先生
かなり変わるよ!vLLMという推論エンジンがPagedAttentionを採用して、同じGPUで処理できるリクエスト数が最大24倍になった実験結果が論文で示されたんだ。
ひよこ ひよこ
複数人が同時に使うときも効果があるの?
ペンギン先生 ペンギン先生
むしろその状況で真価を発揮するよ。同じプロンプトプレフィックスを持つリクエスト間でブロックを共有(プレフィックスキャッシュ)できるから、重複計算が大幅に減るんだ。
ひよこ ひよこ
今は当たり前の技術になったの?
ペンギン先生 ペンギン先生
うん、vLLM発表後に多くの推論フレームワークが同様の仕組みを取り入れたよ。Flash AttentionGPU計算を速くするのと対になる技術で、「メモリ管理の革命」とも呼ばれているんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PagedAttention」って出てきたら「LLMのGPUメモリを効率よく使うためのKVキャッシュ管理技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「PagedAttention」 = ページング方式のアテンション
💬 OSの仮想メモリ管理「ページング」の考え方をGPUのKVキャッシュに適用したことから名付けられたよ
← 用語集にもどる