2.4. Distributed Inference with llm-d を使用したモデルのデプロイ
Distributed Inference with llm-d は、大規模言語モデル (LLM) を大規模に提供するために設計された、Kubernetes ネイティブのオープンソースフレームワークです。Distributed Inference with llm-d を使用すると、さまざまなハードウェアアクセラレーター全体での高パフォーマンスとコスト効率に重点を置き、生成 AI のデプロイメントを簡素化できます。
Distributed Inference with llm-d の主な機能は次のとおりです。
- 接頭辞キャッシュ対応ルーティングや分散型サービングなどの最適化を使用して、大規模なモデルを効率的に処理します。
- 標準の Kubernetes 環境に統合され、ネットワークとルーティングを処理する Envoy プロキシーなどの特殊なコンポーネントや、vLLM や NVIDIA Inference Transfer Library (NIXL) などの高性能ライブラリーを活用します。
- テスト済みのレシピと、よく知られたプリセットは、推論を大規模にデプロイする際の複雑さを低減します。そのため、ユーザーはインフラストラクチャーの管理よりも、アプリケーションの構築に集中できます。
Red Hat OpenShift AI 上で Distributed Inference with llm-d を使用してモデルを提供するには、以下のステップ手順を実行します。
- OpenShift AI をインストールします。
- シングルモデルサービングプラットフォームを有効化します。
- Kubernetes クラスター上で Distributed Inference with llm-d を有効化します。
- LLMInferenceService カスタムリソース (CR) を作成します。
- モデルをデプロイします。
この手順では、LLMInferenceService リソースのカスタムリソース (CR) を作成する方法について説明します。デフォルトの InferenceService は、LLMInferenceService に置き換えます。
前提条件
- シングルモデルサービングプラットフォームを有効にした。
- バージョン 4.19.9 以降を実行している OpenShift クラスターにアクセスできる。
- OpenShift Service Mesh v2 がクラスターにインストールされていない。
OpenShift Container Platform Networking での Gateway API で説明されているように、クラスター管理者が、
openshift-ingressnamespace にopenshift-ai-inferenceという名前のGatewayClassとGatewayを作成している。重要Gateway API デプロイメントトポロジー を確認します。共有 Gateway は、信頼できる namespace 間でのみ使用します。
-
クラスター管理者が OpenShift に
LeaderWorkerSetOperator をインストールしている。詳細は、Leader Worker Set Operator のドキュメント を参照してください。 ベアメタルクラスターで OpenShift を実行している場合: クラスター管が、
LoadBalancerタイプのopenshift-ai-inferenceGateway サービスに外部 IP アドレスをプロビジョニングするように MetalLB Operator を設定している。詳細は、MetalLB による負荷分散 を参照してください。LoadBalancer が次のように設定されていることを確認します。- 標準の Kubernetes Service マニフェストがある。
-
specセクションにtype:LoadBalancerがある。
手順
- 開発者として OpenShift コンソールにログインします。
次の情報を使用して
LLMInferenceServiceCR を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 推論サービスの
specセクションで次のパラメーターをカスタマイズします。-
replicas- レプリカの数を指定します。 model- モデルの保存方法に基づくモデルへの URI (uri) と、チャット補完リクエストで使用するモデル名 (name) を指定します。-
S3 バケット:
s3://<bucket-name>/<object-key> -
永続ボリューム要求 (PVC):
pvc://<claim-name>/<pvc-path> -
OCI コンテナーイメージ:
oci://<registry_host>/<org_or_username>/<repository_name><tag_or_digest> -
HuggingFace:
hf://<model>/<optional-hash>
-
S3 バケット:
-
router- HTTPRoute とゲートウェイを提供するか、空白のままにして自動的に作成します。
-
- ファイルを保存します。
2.4.1. Distributed Inference with llm-d の使用例 リンクのコピーリンクがクリップボードにコピーされました!
これらの例は、一般的なシナリオで Distributed Inference with llm-d を使用する方法を示しています。
2.4.1.1. シングルノードの GPU デプロイメント リンクのコピーリンクがクリップボードにコピーされました!
70 億パラメーターモデルのような比較的小さなモデルの開発、テスト、または実稼働環境へのデプロイメントには、レプリカごとに単一の GPU を使用するデプロイメントパターンを使用します。
シングルノード GPU デプロイメントの使用例については、Single-Node GPU Deployment Examples を参照してください。
2.4.1.2. マルチノードデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
マルチノードデプロイメントの使用例については、DeepSeek-R1 Multi-Node Deployment Examples を参照してください。
2.4.1.3. KV キャッシュルーティングを備えたインテリジェントな推論スケジューラー リンクのコピーリンクがクリップボードにコピーされました!
スケジューラーを設定して、推論エンドポイント全体でキーバリュー (KV) キャッシュブロックを追跡し、キャッシュヒット率が最も高いエンドポイントにリクエストをルーティングできます。この設定では、キャッシュの再利用を最大化することでスループットが向上し、レイテンシーが短縮されます。
例については、Precise Prefix KV Cache Routing を参照してください。