【ブイエルエルエム】

vLLM とは?

💡 LLMサーバーの回転寿司、無駄なくさばく
📌 このページのポイント
vLLM — PagedAttentionによるメモリ管理 従来方式 Req A 空き Req B 空き Req C 無駄なメモリ メモリの断片化が発生 vLLM(PagedAttention) A B C A B C A C B 空き ページ単位で隙間なく配置 スループット比較 従来 1x vLLM 2〜24x
vLLMのPagedAttentionによるメモリ効率化のイメージ
ひよこ ひよこ

vLLMってなんで普通にモデルを動かすより速いの?

ペンギン先生 ペンギン先生

秘密はPagedAttentionという技術にあるよ。LLMが文章を生成するとき、過去の計算結果(KVキャッシュ)をGPUメモリに保持するんだけど、普通はメモリの使い方が非効率なんだ。vLLMはOSの仮想メモリみたいに、必要な分だけページ単位で管理するから無駄がないんだよ

ひよこ ひよこ

それでどのくらい速くなるの?

ペンギン先生 ペンギン先生

従来の方法と比べて2〜24倍のスループットが出ることもあるよ。特に同時に多くのユーザーからリクエストが来る場面で差が出るんだ。回転寿司に例えると、注文ごとに握るんじゃなく、レーンに効率よく流すイメージだね

ひよこ ひよこ

使い方は難しいの?

ペンギン先生 ペンギン先生

実はかなり簡単だよ。pipインストールして、モデル名を指定して起動するだけ。しかもOpenAI互換のAPIを提供するから、ChatGPT APIを使ってるコードをほぼそのまま自前のLLMに切り替えられるんだ

ひよこ ひよこ

他の推論エンジンと比べてvLLMを選ぶ理由は何?

ペンギン先生 ペンギン先生

vLLMはサーバー用途に特化していて、大量の同時リクエストをさばくのが得意なんだ。OllamaTensorRTとは住み分けがあって、プロダクションで多数のユーザーにLLMサービスを提供したいならvLLMが第一候補になるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「vLLM」って出てきたら「LLMを高速に配信するための推論サーバー」と思えればだいたいOK!
📖 おまけ:英語の意味
「virtual Large Language Model (serving)」 = 仮想化された大規模言語モデル配信
💬 メモリの仮想化技術をLLM推論に持ち込んだことからvirtual(仮想)のvが付いているよ
← 用語集にもどる