Re Reference AI

インフラ

llm-dとは

Kubernetes上でLLM推論を分散オーケストレーションする、vLLMをベースにしたオープンソースの推論サービングフレームワーク

サービング推論最適化

ひとことで言うと

AIモデルの推論処理を、Kubernetes上の複数のサーバーへうまく分散させて動かすためのオープンソースの仕組み。

概要

llm-d(エルエルエムディー)とは、Kubernetes上でLLMの推論・サービングを分散環境向けにオーケストレーションするオープンソースのフレームワーク。 vLLMを推論エンジンとして採用し、その上にKubernetesネイティブな分散サービング層を構築することで、複数ノード・複数GPUにまたがる大規模なLLM推論クラスタの構築・運用を容易にすることを目指す。 Prefill(入力処理)とDecode(トークン生成)を別々のワーカーに分離するDisaggregated Serving(分離型サービング)や、KVキャッシュの保持状況を考慮したリクエストルーティングなど、大規模運用に特有の最適化に焦点を当てている。 単一ノード上での推論高速化が主眼のvLLM単体に対し、llm-dはそれをKubernetesクラスタ全体でどう分散・スケールさせるかという運用レイヤーを担う。

背景

LLM推論をvLLM等のエンジン単体で高速化できても、実運用では複数ノード・複数GPUにまたがる大規模クラスタでの負荷分散やスケーリングが別途必要になる。 こうしたKubernetes上での分散推論の構築・運用を標準化・簡素化する目的でllm-dは開発されている。

アーキテクチャ

vLLMを各ワーカーの推論エンジンとして利用しつつ、Kubernetes上にPrefillワーカーとDecodeワーカーを分離して配置するDisaggregated Serving構成をとる。 リクエストをどのワーカーへ振り分けるかについては、KVキャッシュの保持状況を考慮したルーティングを行い、キャッシュヒット率を高めながらレイテンシ・スループットの改善を図る設計になっている。

利点

  • Kubernetesネイティブに構築されており、既存のKubernetes運用基盤・エコシステムと統合しやすい
  • vLLMを推論エンジンとして再利用しつつ、複数ノードにまたがる分散サービングへ拡張できる
  • Prefill/Decode分離やKVキャッシュを考慮したルーティングにより、大規模クラスタでの推論効率を高められる

欠点

  • Kubernetesクラスタの構築・運用知識が前提となり、単体でのvLLM利用と比べ導入の複雑さが増す
  • 分散構成(Prefill/Decode分離等)を活かすには複数ノード・複数GPUの環境を要し、小規模用途には過剰になりやすい

比較

  • vLLMvLLMが単一ノード上での推論エンジンであるのに対し、llm-dはvLLMをベースにKubernetes上での分散サービングをオーケストレーションする

関連用語

vLLMKVキャッシュ連続バッチ処理推論