すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:KServeコンポーネントのデプロイ

最終更新日:Dec 11, 2024

KServeは、Kubernetesベースの機械学習モデルのサービングフレームワークです。 TFServing、TorchServe、Triton、その他の推論サーバーなど、1つまたは複数のトレーニング済みモデルをKubernetes CustomResourceDefinitions (CRD) として、モデルサービングランタイムにデプロイできます。 これにより、モデルのデプロイ、更新、およびスケーリングのプロセスが簡素化および高速化されます。 KServeのコアコンポーネントはKServe Controllerです。 コンソールからKServe Controllerをインストールして、リクエストトラフィックに基づく自動スケーリングなどの機能を使用できます。

KServeの概要

KServeは、Kubernetesベースの機械学習モデルサービングフレームワークです。 KServeでは、シンプルなKubernetes CustomResourceDefinitions (CRD) を提供しており、TFServing、TorchServe、Triton推論サーバーなどの1つ以上のトレーニング済みモデルをランタイムを提供するモデルにデプロイできます。 ModelServerとMLServerは、機械学習モデルのデプロイと管理にKServeで使用されるランタイムを提供する2つのモデルです。 これらのモデル提供ランタイムでは、すぐに使用できるモデル提供を使用できます。 ModelServerは、KServe予測プロトコルv1で実装されたPythonモデルサービングランタイムです。 MLServerは、RESTおよびgRPCでKServe予測プロトコルv2を実装します。 複雑なユースケース用のカスタムモデルサーバーを構築することもできます。 さらに、KServeは基本的なAPIプリミティブを提供し、ランタイムを提供するカスタムモデルを簡単に構築できます。 BentoMLなどの他のツールを使用して、カスタムモデル提供イメージを作成できます。

Knative InferenceServiceを使用してモデルをデプロイした後、KServeが提供する次のサーバーレス機能を使用できます。

  • ゼロにスケール

  • 1秒あたりのリクエスト数 (RPS) 、同時実行性、CPUおよびGPUメトリックに基づく自動スケーリング

  • バージョン管理

  • トラフィック管理

  • セキュリティ認証

  • 既成のメトリクス

KServeコントローラ

KServeコントローラは、KServeの主要コンポーネントです。 KServeコントローラーは、カスタムInferenceServiceリソースを管理し、リソースのスケーリングを自動化するためにKnative Servicesを作成およびデプロイします。 KServeコントローラは、トラフィック量に基づいてKnativeサービスの展開をスケーリングできます。 Knative Serviceにリクエストが送信されない場合、KServeコントローラーはServiceポッドを自動的にゼロにスケールします。 自動スケーリングにより、リソースを提供するモデルをより効率的に活用し、リソースの無駄を防ぎます。

image

前提条件

Knativeはクラスターにデプロイされています。 詳細については、「」「Knativeのデプロイ」をご参照ください。

KServeのデプロイ

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ネイティブ] を選択します。

  3. [コンポーネント] タブで、[KServe] を見つけ、[操作] 列の [デプロイ] をクリックします。 プロンプトに従ってデプロイを完了します。

    KServeコンポーネントの [ステータス] 列に [デプロイ済み] と表示される場合、コンポーネントはデプロイされます。

関連ドキュメント

コンポーネントをデプロイした後、KServeに基づく推論サービスをすばやくデプロイできます。