llm-d とは
llm-d は、大規模な分散大規模言語モデル (LLM) 推論を高速化する、Kubernetes ネイティブのオープンソース・フレームワークです。
つまり llm-d は、AI モデルが大量のデータを含む複雑なクエリを受け取った場合の処理を高速化するフレームワークとなります。
llm-d は、Google、NVIDIA、IBM Research、および CoreWeave によって開発されたものであり、そのオープンソース・コミュニティがこのテクノロジーを改善するためのアップデートに貢献しています。
llm-d の仕組み
LLM のプロンプトは複雑なものになることもあれば、バリエーションもさまざまです。大量のデータを処理するためには、通常、大規模なコンピュートリソースとストレージが必要です。
llm-d は、LLM などの高度で大規模な推論モデルの増大するリソース需要をサポートできる、モジュール式のアーキテクチャを備えています。
このモジュール式アーキテクチャにより、モデルのニーズに応じて、AI ワークロードのさまざまな部分をすべて連携させることも、個別に動作させることもできます。これによってモデル推論が迅速化されます。
llm-d をマラソンだと考えてみてください。各ランナーは自分のペースで走ります。それぞれ他の人とは異なる時間にゴールするでしょう。各自がそれぞれのタイムでゴールします。しかし、全員が同時にゴールラインに到達しなければならないとしたら、持久力、水分補給、トレーニング時間など、他のランナー独自のさまざまなニーズに左右されることになります。すると物事が複雑になります。
モジュール式アーキテクチャなら、推論プロセスの各部分が独自のペースで動作し、可能な限り迅速に最良の結果に到達できます。特定のプロセスを個別に修正、または更新することも容易です。
この固有のモデル処理方法により、llm-d は大規模な LLM 推論の要求を処理できます。また、ユーザーは単一サーバーのデプロイを超えて、企業全体で生成 AI 推論を使用できるようになります。
llm-d のモジュール式アーキテクチャは、次の要素で構成されています。
- Kubernetes:オープンソースのコンテナ・オーケストレーション・プラットフォームであり、コンテナ化アプリケーションのデプロイ、管理、スケーリングに伴う多くの手動プロセスを自動化します。
- vLLM:オープンソースの推論サーバーであり、生成 AI アプリケーションの出力を高速化します。
- 推論ゲートウェイ (IGW):モデルルーティング、サービス優先順位、「スマート」な負荷分散機能など、さまざまな機能をホストする Kubernetes ゲートウェイ API 拡張機能です。
このアクセスしやすいモジュール式アーキテクチャにより、llm-d は大規模な分散 LLM 推論に最適なプラットフォームとなります。
AI テクノロジーの導入に関する 4 つのキーポイント
明確な道筋とは
明確な道筋とは、llm-d を使用して大規模な分散推論を構築するための具体的な「青写真」または戦略を指します。そのような明確な道筋は、llm-d オープンソース・コミュニティによって実証され、再現可能です。次のように定義されます。
- インテリジェントな推論スケジューラー: インテリジェントな推論スケジューリングにより、その場に応じたトークンルーティングの決定が処理されます。トークン対応ルーティング (「スマート」負荷分散とも呼ばれる) 機能は、モデルのキー値 (KV) キャッシュ、レイテンシー、モジュール式の機能、および可観測性を考慮して、推論を高速化するスコアリングおよびフィルタリング・アルゴリズムを実装します。
- プリフィルサービスとデコードサービスのディスアグリゲーション: プリフィル (プロンプト処理) サービスとデコード (トークン生成) サービスは、推論サーバーに異なる計算要求を課します。この 2 つの操作のディスアグリゲーション (分離) を実行すると、それぞれが独立して動作し、個別にスケーリングできるようになります。これにより、レイテンシーのボトルネックなどの個別の問題がすべてのモデルに同時に影響を及ぼすことがなくなります。
- 幅広い専門家による並列処理: 混合専門家 (MoE) モデルには、特定のスキルを持つモデル群が含まれており、それぞれがプロンプトを個別に処理できます。llm-d は、各プロンプトに回答するためにデータベース全体に依存する単一の高密度モデルではなく、プロンプトに回答するのに最適な 1 つの「エキスパート」モデルを識別します。これは、文書内の単語を見つけるためにテキスト全体を読むのではなく、「検索」機能を使用するのと似ています。このアプローチによって推論が高速化され、GPU の使用が効率化されます。
llm-d は、明確な道筋に加えて、インテリジェントな推論ツールを使用して推論効率を高めます。
トークン対応ルーティング: トークンのさまざまな計算ニーズにより、推論中に特定のルートがトリガーされます。推論トラフィックは、トークンの長さ、キューの深さ、キャッシュヒットの予測に基づいてルーティングされます。これにより、レイテンシーが短縮され、長時間の中断が回避されます。
マラソンに例えると、遅いランナー (複雑なモデル) は、ゴールライン (推論) にできるだけ早く到達するために起伏の少ない道 (スマートな負荷分散) を選択する場合がある、ということになります。
- 共有 KV キャッシュと再利用: 共有 KV キャッシュは、繰り返し使用されるトークンを認識し、各キー値のデコードにかかる時間を短縮します。
たとえば、アリゾナ州の州都を尋ねるプロンプトは、「アリゾナ州の」と「州都はどこか」という 2 つのトークンにデコードする必要があります。モデルに別の州の州都を尋ねるプロンプト (「アラスカ州の州都はどこか」) が提示された場合、1 つのトークン (「州都はどこか」) は以前に計算されているため、モデルはそれを処理する方法を認識しています。これによって冗長なプリフィル計算が回避され、各プロンプトに回答するために使用する GPU ストレージが少なくなり、推論が高速化されます。 - モジュール式のデプロイと可観測性: モジュール式のモデルを相互に独立して監視、拡張、更新します。可視性を制限する「ブラックボックス」ではなく、モジュール式の柔軟性によってフレームワークの各部分に関するインサイトが得られます。これにより、モデルをより迅速に調整し、AI ワークロードを今日の一般的な DevOps および GitOps プラクティスに容易に適合させられるようになります。
llm-d のコアコンポーネント
llm-d はオープンソース・コミュニティによって構築されたため、その機能はさまざまな構成要素とコラボレーションに依存しています。そのコアコンポーネントには以下が含まれます。
- Kubernetes ネイティブ・フレームワーク:llm-d は、Kubernetes プラットフォーム内で実行され、そのすべての利点を活用できるように設計されています。 アクセスしやすいものにするために、llm-d フレームワークは Kubernetes ベースの分散プラットフォーム (Red Hat® OpenShift® など) 向けに構築されています。 Kubernetes ネイティブのアプローチは、組織全体で生成 AI 推論を適用するために必要なポリシー、セキュリティ、可観測性レイヤーを提供します。
- 分散 LLM 推論: 分散推論は、複雑な推論要求を複数のサーバーとエッジデバイス全体に割り当てます。そこから各機能が並列に動作して出力を作成し、これが、より高速でスケーラブルな AI 活用サービスとなります。llm-d は、Envoy、vLLM、Kserve などのオープンソース・コミュニティ・プロジェクトを使用して分散推論を実現します。
- コミュニティ主導のオープンソース・プロジェクト: オープンソース・コミュニティにより、どこからでも優れたアイデアが生まれ、誰もが使用できるテクノロジーを向上させることができます。このオープンソース・プロジェクトでは、Google、IBM、CoreWeave、NVIDIA、Red Hat などの業界リーダーのアイデアが活用されています。
それらのコンポーネントにより、企業はレイテンシー、複雑さ、高コストについて心配することなく、llm-d を使用して生成 AI ユースケースを拡張できます。
llm-d とその他の LLM 処理方法との違い
一般的な AI モデルのプロンプトにはパターンがあり、その多くは、短く、繰り返し使用されます。そのため、各プロンプトは同じサポートとリソースを受け取ることになり、これは 「ラウンドロビン」方式の負荷分散とも呼ばれます。
しかし、LLM は従来のワークロードとは異なります。LLM は長いデコードフェーズを実行し、プレフィックス・キャッシュの再利用に依存しており、コンピューティングとメモリーに関するニーズが異なります。そのため、一般的な Kubernetes 負荷分散では、複雑な LLM のニーズを満たすことができません。
さらに、ほとんどの組織は可視性がほぼない状態で LLM をデプロイしており、AI ワークロードへの制御が限られています。このため GPU が十分に活用されず、レイテンシーが発生し、柔軟性がなく拡張が容易にできないアーキテクチャが生まれます。一般的な LLM ベースの推論システムでは、プロンプト構造、トークン数、キャッシュ状態が無視される可能性があり、リソースが無駄になります。
たとえば、検索拡張生成 (RAG) プロンプトでは、思考や推論に依存するプロンプトとは異なる負荷分散が必要です。独自の負荷分散を必要とするさまざまなプロンプトによってワークロードが過剰に増大してしまうと、推論プロセスが遅くなります。
次のように考えてみましょう。 近所のパン屋さんは、パイ作りが得意です。アップルパイ、ブルーベリーパイ、ピーカンパイを、毎日完璧に焼き上げています。しかし、このパン屋がクロワッサンや、ファッジ、ウェディングケーキなどの注文を受けた場合、パン職人の作業は非効率になってしまいます。受けられる注文数が減り、作業に抜けや見落としが生じてしまいます。このパン屋に必要なのは、複雑な焼き菓子と日々作っているパイの両方の注文に対応するために、タスクを割り振ることのできる料理長です。そのような料理長なら、パイであれ何であれ、注文をこなすために、タスクの複雑なスケジュールを調整し、可能な限り効率的な方法で遂行することができます。
これを AI テクノロジーの構成に当てはめてみると、llm-d が料理長になります。
llm-d は、LLM に対応した AI 推論プラットフォームを提供します。つまり、LLM プロンプト要求の特性の大きなばらつきに対応できるようになっているのです。オープンソース・フレームワークによって、パフォーマンスが予測どおりになるよう監視し、コストを最適化し、ユーザーの期待に応えられるようになります。llm-d は、LLM 推論を、マイクロサービスと同様の Kubernetes ネイティブ・アーキテクチャに変換し、管理可能な推論フレームワークを実現します。
ユーザーが大規模な推論を簡単に実行できないと、市場投入までの時間が長くなり、生成 AI のユースケースを組織全体に適用することは難しくなります。
llm-d のメリット
llm-d を使用することで、分離されたモデルのスケーリングがより簡単になり、チームはより少ないリソースで大きな AI 目標を短時間で達成できるようになります。
- モデルの品質とパフォーマンス:llm-d は、インテリジェントな負荷分散などのツールを使用して LLM 推論の応答時間を高速化します。llm-d フレームワークは、反復的な推論トークンやブラックボックスによる混乱など、LLM 推論の一般的なボトルネックを排除します。これらの障壁を取り除くと、モデルのパフォーマンスと開発者の生産性が向上します。
- 費用対効果: llm-d はモジュール性を備えているため、より多くのユーザーが同時に AI ワークロードにアクセスし、より速く結果を得ることができます。これにより、エンジニアや開発者はモデルを最大限に活用し、GPU をより効果的に使用できるようになります。アクセシビリティと速度を向上させることで、チームは時間とリソースを他の作業に割り当てることができます。
- 制御:llm-d は分離型サービングを使用しており、LLM 推論に新たなレベルの柔軟性をもたらします。推論の異なるフェーズ (プリフィルとデコード) を分離することによって、各構成要素が独立して同時に動作できるようになり、推論が高速化されます。
Red Hat のサポート内容
Red Hat AI が優先しているのは、スケーラブルな生成 AI 推論へのアクセスの向上です。
vLLM を使用することで、当社の AI プラットフォームはますます複雑化する推論のニーズを満たし、企業の期待に応えます。
Red Hat AI は、大規模なエンタープライズ AI ワークロードをより適切にサポートするために llm-d を活用しています。Kubernetes の実証済みのオーケストレーション機能を使用する llm-d は、高度な推論機能を既存のエンタープライズ AI インフラストラクチャに統合します。
llm-d はオープンソースの成功事例となるだけでなく、あらゆるモデル、あらゆるアクセラレーター、あらゆるクラウドに対応するという Red Hat のビジョンにも合致しています。
llm-d とは?なぜ必要か?
昨今の顕著な傾向として、大規模言語モデル (LLM) インフラストラクチャを社内に導入する組織が増えています。