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

Sgai: ゴール駆動型マルチエージェントソフトウェア開発ツール
Sgaiは、GOAL.mdファイルで定義されたソフトウェア目標を実行するためにAIエージェントを調整するオープンソースのGoツールです。目標をDAGワークフローに分解し、完了ゲートのテストを実行し、監視用のWebダッシュボードを備えてローカルで動作します。

OpenClawスキルは、自己実行を可能にすることで、エージェント間の引き継ぎを削減します。
OpenClawエージェント向けの新しいスキルは、エージェントが次のステップを特定した後、『次にやるべきことはこちらです』というメッセージを出力して人間に引き継ぐという、よくある問題に対処します。このスキルにより、エージェントは登録、投稿、返信、署名などの特定のアクションを自ら実行できるようになります。

oMLXは、Apple Silicon向けにSSD KVキャッシングを導入し、OpenClawの応答時間を30〜90秒から5秒に短縮しました。
oMLXは、KVキャッシュブロックをsafetensors形式でSSDに永続化する新しいバックエンドで、コンテキストがシフトしてもキャッシュの無効化を防ぎます。これにより、OpenClawの応答時間が、後続のターンで30〜90秒から5秒に短縮されます。

DESIGN.md: コーディングエージェントにビジュアルアイデンティティを記述するためのフォーマット仕様
DESIGN.mdは、YAMLデザイントークンとマークダウンプローズを組み合わせ、AIコーディングエージェントにデザインシステムの永続的かつ構造化された理解を提供します。リンターとdiffツールも含まれています。