vLLM内部解析:高吞吐量LLM推理系统的解剖

vLLMは、LLM向けの最も広く使われているオープンソース推論エンジンの1つであり、Aleksa Gordić氏の最近の記事では、その内部構造についてしっかりとした技術的な解説が提供されています。この記事は、現代のLLMエンジンがどのように構築されているかに興味がある開発者や、vLLM、SGLangなどのプロジェクトへの貢献を検討している人を対象としています。分析はコミット42172ad(2025年8月9日)に基づいており、新しいV1エンジン(V0は非推奨)に焦点を当てています。
コアエンジンコンポーネント
記事は、シンプルなLLMオブジェクトを使用したオフライン同期セットアップから始まります。エンジンコンストラクタは、いくつかの主要な部分に分解されています:
- vLLM config – モデル、キャッシュ、並列処理などのためのすべての設定項目。
- Processor – 検証とトークン化を介して、生の入力をエンジンコアリクエストに変換します。
- Engine Core Client – この例では、インプロセスで実行される
InprocClientです。本番環境では、DPLBAsyncMPClientのようなマルチプロセスクライアントに移行することになります。 - Output Processor – エンジンコアの出力をユーザー向けのリクエスト出力に変換します。
エンジンコア自体には、モデルエグゼキュータ(フォワードパスを駆動)、構造化出力マネージャ(ガイド付きデコーディング用)、および待機/実行キューのあるスケジューラが含まれています。スケジューラはポリシー(FCFSまたは優先度)を使用し、KVキャッシュマネージャを含みます。
ページドアテンションとKVキャッシュ
KVキャッシュマネージャは、ページドアテンションの中心です。利用可能なブロックのfree_block_queueを維持し、多くの場合、VRAMとブロックサイズに応じて数十万にも及びます。標準的なトランスフォーマー(非MLA)のブロックサイズは次のように計算されます:
2 * block_size * num_kv_heads * head_size * dtype_num_bytes
デフォルト設定では、これにより実用的なブロックサイズが得られます。このページングメカニズムにより、効率的なメモリ管理と高スループットが可能になります。
高度な機能
この記事は基本に留まらず、vLLMを本番環境対応にする高度な機能を概説しています:
- チャンク化プリフィル – 長いプロンプトをチャンクに分割して生成とインターリーブします。
- プレフィックスキャッシュ – 共有プロンプトプレフィックスに対してKVキャッシュを再利用します。
- ガイド付きデコーディング – 出力をスキーマまたは文法に制約します。
- 投機的デコーディング – ドラフトモデルを使用して生成を高速化します。
- 分離型P/D – プリフィルとデコードを異なるGPUに分離します。
また、マルチGPUおよびマルチノード設定へのスケーリングや、同時Webトラフィックを処理するためのサービングレイヤーについても説明しています。レイテンシとスループットを測定するためのベンチマークと自動チューニングについても言及されています。
LLM推論システムを構築または拡張している開発者にとって、これはvLLMがスケジューリング、メモリ、実行をどのように調整しているかについて明確なメンタルモデルを提供します。これはシリーズの最初の記事なので、今後個々のサブシステムについての詳細な説明が期待できます。
📖 全文を読む: HN LLM Tools
👀 See Also

Adam: C言語で書かれた埋め込み可能なクロスプラットフォームAIエージェントライブラリ
Adamは、ツール呼び出し、メモリ、音声、クラウド/ローカルLLMの両方をサポートする完全なエージェントループを提供し、あらゆるアプリケーションに組み込めるように設計されたCライブラリです。

DreamScape:Claude CodeとMCPを搭載したブラウザベース3Dワールドビルダー
DreamScapeは、Claude Codeが30個のMCPツールを制御して、自然言語コマンドでリアルタイムに地形、モデル、天候、行動を生成するブラウザベースの3Dワールドビルダーです。

Argus: Claude Code セッションのコストと動作をデバッグするVS Code拡張機能
Claude Codeセッションのコストが、リトライループ、ファイルの重複読み取り、コンパクション前のコンテキスト詰め込みなど、明確な理由なく急上昇することがあります。~/.claude/projects/のJSONLファイルにはすべてのデータが含まれていますが、生のままでは確認が困難です。ある開発者がArgusというVS Code拡張機能を構築しました。これは、これらのトランスクリプトを解析し、セッションを詳細なメトリクス付きのタイムラインとして表示します。

x402 API Gateway for OpenClaw Bots: 1つのエンドポイントが18のAPIキーに取って代わる
x402 APIゲートウェイは、OpenClawボットの設定を簡素化し、複数のAPIキーを単一のエンドポイントに置き換えることで、スマートLLMルーティング、ウェブ検索、地図、旅行、飲食、AI、金融データなど18のサービスへのアクセスを、USDCウォレットクレジットによる認証で実現します。