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キャッシュの保持状況を考慮したルーティングを行い、キャッシュヒット率を高めながらレイテンシ・スループットの改善を図る設計になっている。
利点
欠点
比較
- vLLM — vLLMが単一ノード上での推論エンジンであるのに対し、llm-dはvLLMをベースにKubernetes上での分散サービングをオーケストレーションする