テクニカルガイド

Kubernetes での KServe とモデルの提供

KServe は、機械学習モデルを大規模に提供するための標準化された Kubernetes ネイティブ プラットフォームです。

概要

KServe は、機械学習モデルを大規模に提供するための標準化された Kubernetes ネイティブ プラットフォームです。これにより、自動スケーリング、カナリア ロールアウト、ゼロへのスケールを備えたモデルをデプロイするための単一の宣言的な方法がチームに提供され、Kubernetes の配管の大部分が抽象化されます。

KServe と Kubernetes 上のモデル提供は、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシー、信頼性に影響を与える技術的なビルディング ブロックです。

ディープダイブ

以前は KFServing として知られ、Kubeflow プロジェクトから生まれた KServe は、InferenceService カスタム リソースを定義します。オブジェクト ストレージ (S3、GCS、Azure Blob) に保存されているモデルを指す短い YAML ファイルを作成すると、残りは KServe によって処理されます。予測推論と、ますます増えている生成 LLM サービスの両方をサポートします。 KServe は、一般的なフレームワーク (TensorFlow Serving、TorchServe、Triton、scikit-learn、XGBoost、Hugging Face) 用に事前構築された「サービング ランタイム」を出荷し、カスタム コンテナーをサポートします。 Knative Serving とネットワーキング レイヤー (Istio など) の上に構築され、真のゼロへのスケールを含むリクエスト駆動の自動スケーリングを提供するため、アイドル状態のモデルはコンピューティングを消費しません。また、Open Inference Protocol を中心とした予測 API も標準化されているため、クライアントはフレームワークに関係なくすべてのモデルと同じ方法で通信できます。

技術的な洞察

KServe の自動スケーリングは Knative に基づいており、同時実行性または 1 秒あたりのリクエスト数に基づいてレプリカ数をスケーリングし、トラフィックが停止するとレプリカをゼロに落とし、その後オンデマンドでコールドスタートすることができます。 InferenceService は、完全な推論パイプラインをプレディクター、トランスフォーマー (前処理/後処理)、および説明コンポーネントに抽象化します。モデルは、起動時にアーティファクトをポッドにプルする「ストレージ初期化子」を介してオブジェクト ストレージからロードされ、サービスを提供するコンテナ イメージからモデル ストレージを切り離します。

Kubernetes での KServe とモデル サービングをマスターする

KServe は、機械学習モデルを大規模に提供するための標準化された Kubernetes ネイティブ プラットフォームです。これにより、自動スケーリング、カナリア ロールアウト、ゼロへのスケールを備えたモデルをデプロイするための単一の宣言的な方法がチームに提供され、Kubernetes の配管の大部分が抽象化されます。 KServe と Kubernetes 上のモデル提供は、大規模なモデルの品質、インフラストラクチャのコスト、レイテンシー、信頼性に影響を与える技術的なビルディング ブロックです。深い理解を構築するには、KServe と Model Serving on Kubernetes を単一の機能ではなくオペレーティング モデルとして扱います。望ましい結果を定義し、前提条件を明確にし、システムが確実に実行できることと、依然として専門家の判断が必要なことを分離します。

実際には、Kubernetes で KServe と Model Serving を使用する強力なチームが、信頼性とコストを考慮してアーキテクチャ、データ、インフラストラクチャの選択を最適化します。明示的な成功基準を文書化し、現実的なデータとワークフローに対してテストし、一度限りのベンチマークの成功ではなく、観察された失敗パターンに基づいて反復します。ここで、理論的な理解が、製品、ポリシー、運用全体にわたる永続的な機能に変わります。

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。同時に、1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。最も回復力のあるアプローチは、実験のスピードとガバナンスの規律を組み合わせることであり、パイロットを実行し、証拠を取得し、意思決定ログを公開し、モデルの動作、ユーザーの期待、規制要件の進化に応じて安全対策を継続的に更新します。

戦略的影響

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。

KServe の将来と Kubernetes でのモデル提供

KServe は生成 AI に向けて急速に進化しており、KV キャッシュ対応ルーティング、モデル キャッシュ、大規模な言語モデル向けの分離されたプレフィル/デコード サービングなどの機能を備えた LLM に重点を置いたトラックを追加しています。 vLLM などの推論エンジンとのより深い統合、1 つの GPU には大きすぎるモデルに対するマルチノード サービスの向上、トークンベースの負荷分散のためのゲートウェイ レベルのルーティングが期待されます。 CNCF を育成するプロジェクトとして、Kubernetes の背後にモデルを配置するための事実上のオープン スタンダードになりつつあり、研究成果物と復元力のある運用エンドポイントとの間のギャップを狭めています。

現実世界の実装

銀行は、S3 内のモデルを指す 10 行の InferenceService YAML を記述して信用スコアリング モデルをデプロイし、KServe が自動スケーリングとイングレスを処理します。

e コマース チームは、KServe カナリア ロールアウトを使用してトラフィックの 10 パーセントを新しいレコメンデーション モデルに送信し、メトリクスが正常であると判断されると 100 パーセントに増加します。

ある研究ラボでは、めったに使用されない数十のモデルをゼロスケールで提供しているため、各モデルはリクエストが到着した場合にのみ起動し、アイドル状態では GPU を消費しません。

MLOps チームは、予測器が Triton 提供のビジョン モデルを実行する前に、KServe トランスフォーマー コンポーネントを使用して画像のサイズ変更と正規化を実行します。

実装パターン

Kubernetes での KServe と Model Serving の実践

銀行は、S3 内のモデルを指す 10 行の InferenceService YAML を記述して信用スコアリング モデルをデプロイし、KServe が自動スケーリングとイングレスを処理します。

銀行は、S3 内のモデルを指す 10 行の InferenceService YAML を記述して信用スコアリング モデルをデプロイし、KServe が自動スケーリングとイングレスを処理します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

Kubernetes での KServe と Model Serving の実践

e コマース チームは、KServe カナリア ロールアウトを使用してトラフィックの 10 パーセントを新しいレコメンデーション モデルに送信し、メトリクスが正常であると判断されると 100 パーセントに増加します。

e コマース チームは、KServe カナリア ロールアウトを使用してトラフィックの 10 パーセントを新しいレコメンデーション モデルに送信し、メトリクスが正常に見えると 100 パーセントに増加します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

Kubernetes での KServe と Model Serving の実践

ある研究ラボでは、めったに使用されない数十のモデルをゼロスケールで提供しているため、各モデルはリクエストが到着した場合にのみ起動し、アイドル状態では GPU を消費しません。

研究ラボでは、めったに使用されない数十のモデルをゼロスケールで提供しているため、各モデルはリクエストが到着した場合にのみスピンアップされ、GPU を消費しません。一方、アイドル状態のチームは通常、品質のしきい値を事前に定義し、エッジケースに対する人間によるエスカレーションパスを維持し、生産性の向上とエラーコストの両方を長期的に追跡することで、より良い結果が得られます。

Kubernetes での KServe と Model Serving の実践

MLOps チームは、予測器が Triton 提供のビジョン モデルを実行する前に、KServe トランスフォーマー コンポーネントを使用して画像のサイズ変更と正規化を実行します。

MLOps チームは、予測器が Triton 提供のビジョン モデルを実行する前に、KServe トランスフォーマー コンポーネントを使用して画像のサイズ変更と正規化を実行します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。

リスクとガードレール

!

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

!

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

!

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

実装前にレイテンシ、品質、コストの目標を定義します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

2

現実的な負荷とデータ条件でのベンチマーク。

現実的な負荷とデータ条件でのベンチマーク。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

エラー、ドリフト、ユーザーへの影響を計測器で監視します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。

探検を続けましょう