【ブイエルエルエム】

vLLM とは?

最終更新:
💡 AIへの注文を、メモリと順番を工夫してさばく

大規模言語モデルの推論とサービス提供を効率化するオープンソースのライブラリ。KVキャッシュの管理や継続的バッチ処理などにより、複数の生成要求を処理しやすくする。性能と対応機能はモデル・機器・設定に依存する。

📌 このページのポイント
vLLM — 生成中のメモリを工夫1つの要求のKVキャッシュ論理1論理2論理3対応表で場所を追う物理メモリ:離れた場所も使う論理2別要求論理1空き論理3空きや残りの余白がゼロになるわけではない
PagedAttentionの考え方を示す模式図。論理ブロックと物理的な保存場所を対応付ける。実際の配置や性能は条件で異なる。
ひよこ ひよこ
vLLMって、文章を書くAIの名前?
ペンギン先生 ペンギン先生
AIモデルそのものではなく、モデルを動かして回答を生成する推論と、利用者へ提供する配信を支えるライブラリだよ。複数の人が同時に質問するサービスなどで、計算やメモリを効率よく使うために役立つんだ。UC Berkeleyで開発が始まり、現在はコミュニティで開発されているよ。
ひよこ ひよこ
どうして、メモリの使い方が大切なの?
ペンギン先生 ペンギン先生
モデルは文章を少しずつ生成するとき、前のトークンから計算した情報をKVキャッシュとして保持するよ。生成が進むとこの情報が増える。vLLMの特徴であるPagedAttentionは、キャッシュをブロックに分け、連続していない物理メモリにも置けるようにするんだ。必要な分を割り当てやすくする工夫で、メモリが不要になるわけではないよ。
ひよこ ひよこ
継続的バッチ処理って、順番待ちとは違うの?
ペンギン先生 ペンギン先生
複数の要求をまとめて処理する組を、生成の途中でも入れ替えられる仕組みだよ。終わった要求を外し、新しい要求を加えて、計算資源を使いやすくする。全員の文章生成が終わるまで次の組を待つ方式との違いだね。ただし、混雑の程度や設定によって待ち時間は変わるよ。
ひよこ ひよこ
使えば、どのAIでも何倍も速くなる?
ペンギン先生 ペンギン先生
同じ倍率で速くなるとは限らないよ。公式の2023年の速度比較も、特定のモデル・GPU・入力と出力の長さで測った結果なんだ。モデルの大きさ、同時に来る要求数、量子化やハードウェアの対応、使う版によって結果は変わる。1秒に処理できる量と、1人が最初の返答を待つ時間も別の指標として測ろう。
ひよこ ひよこ
アプリから呼び出すときは、何を確認するの?
ペンギン先生 ペンギン先生
Pythonから推論する使い方や、HTTPサーバーとして配信する使い方があるよ。OpenAI互換のインターフェースも提供するけれど、すべての機能や引数が同じとは限らない。公式の対応モデル・ハードウェア・サーバー仕様を、使う版で確認しよう。モデルの利用条件、必要メモリ、公開する場合のアクセス制御も別に確かめるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「vLLM」って出てきたら「LLMへのたくさんの要求を効率よく処理する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「vLLM」 = LLMの推論・配信ライブラリの名称
💬 LLMはLarge Language Model(大規模言語モデル)。vLLMはプロジェクトの名前として覚えよう。

参考資料

← 用語集にもどる