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

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

最終更新日:Dec 28, 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 サービスを作成およびデプロイしてリソースのスケーリングを自動化します。KServe コントローラーは、トラフィック量に基づいて Knative サービスのデプロイメントをスケーリングできます。Knative サービスにリクエストが送信されない場合、KServe コントローラーはサービスポッドをゼロに自動的にスケーリングします。自動スケーリングは、モデル提供リソースをより効率的に活用し、リソースの無駄を防止できます。

前提条件

Knative が ACS クラスタにデプロイされていること。詳細については、Knative のデプロイを参照してください。

KServe のデプロイ

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

  2. クラスタページで、管理するクラスタを見つけ、その ID をクリックします。クラスタ詳細ページの左側のナビゲーションペインで、アプリケーション > Knative を選択します。

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

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

参考資料

コンポーネントがインストールされた後、KServe に基づいて推論サービスを迅速にデプロイできます。