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ポッドを自動的にゼロにスケールします。 自動スケーリングにより、リソースを提供するモデルをより効率的に活用し、リソースの無駄を防ぎます。
前提条件
Knativeはクラスターにデプロイされています。 詳細については、「」「Knativeのデプロイ」をご参照ください。
KServeのデプロイ
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[コンポーネント] タブで、[KServe] を見つけ、[操作] 列の [デプロイ] をクリックします。 プロンプトに従ってデプロイを完了します。
KServeコンポーネントの [ステータス] 列に [デプロイ済み] と表示される場合、コンポーネントはデプロイされます。
関連ドキュメント
コンポーネントをデプロイした後、KServeに基づく推論サービスをすばやくデプロイできます。