3.5. シングルモデルサービングプラットフォームを使用したモデルのデプロイ
シングルモデルサービングプラットフォームでは、各モデルが独自のモデルサーバー上でデプロイされます。これにより、リソースの増加を必要とする大規模なモデルのデプロイ、監視、スケーリング、保守が容易になります。
3.5.1. シングルモデルサービングプラットフォームの有効化
KServe をインストールすると、Red Hat OpenShift AI ダッシュボードを使用して、シングルモデルサービングプラットフォームを有効にすることができます。ダッシュボードを使用して、プラットフォームのモデルサービングランタイムを有効にすることもできます。
前提条件
- Red Hat OpenShift AI にログインしている。
-
特殊な OpenShift AI グループを使用している場合は、OpenShift の管理者グループ (
rhoai-admins
など) の一員である。 - KServe をインストールしている。
- クラスター管理者は、OpenShift AI ダッシュボード設定を編集して KServe コンポーネントを使用するシングルモデルサービングプラットフォームを選択する機能を無効に していない。詳細は、ダッシュボード設定オプション を参照してください。
手順
次のようにシングルモデルサービングプラットフォームを有効にします。
-
左側のメニューで、Settings
Cluster settings をクリックします。 - Model serving platforms セクションを見つけます。
- プロジェクトに対してシングルモデルサービングプラットフォームを有効にするには、Single model serving platform チェックボックスをオンにします。
- Save changes をクリックします。
-
左側のメニューで、Settings
次のように、シングルモデルサービングプラットフォーム用のプリインストールされたランタイムを有効にします。
OpenShift AI ダッシュボードの左側のメニューで、Settings
Serving runtimes をクリックします。 Serving runtimes ページには、追加したカスタムランタイムに加えて、次のプリインストールされたランタイムが表示されます。
- Caikit TGIS ServingRuntime for KServe
- Caikit Standalone ServingRuntime for KServe
- OpenVINO Model Server
- TGIS Standalone ServingRuntime for KServe
- vLLM ServingRuntime for KServe
使用するランタイムを Enabled に設定します。
これで、シングルモデルサービングプラットフォームをモデルのデプロイに使用できるようになりました。
3.5.2. シングルモデルサービングプラットフォーム用のカスタムモデルサービングランタイムの追加
モデルサービングランタイムは、特定のモデルフレームワーク群のサポートと、それらのフレームワークでサポートされるモデル形式のサポートを追加します。OpenShift AI に含まれている プリインストールされたランタイム を使用できます。デフォルトのランタイムがニーズを満たしていない場合は、独自のカスタムランタイムを追加することもできます。たとえば、TGIS ランタイムが Hugging Face Text Generation Inference (TGI) でサポートされているモデル形式をサポートしていない場合は、カスタムランタイムを作成してモデルのサポートを追加できます。
管理者は、OpenShift AI インターフェイスを使用して、カスタムのモデルサービングランタイムを追加して有効にすることができます。その場合は、シングルモデルサービングプラットフォームにモデルをデプロイする際に、カスタムランタイムを選択できます。
OpenShift AI を使用すると、独自のカスタムランタイムを追加できますが、ランタイム自体はサポートされません。カスタムランタイムを正しく設定して維持することは、お客様の責任となります。また、追加するカスタムランタイムを使用するライセンスの取得について確認することも、お客様の責任となります。
前提条件
- OpenShift AI に管理者としてログインしている。
- カスタムランタイムをビルドし、イメージを Quay などのコンテナーイメージリポジトリーに追加している。
手順
OpenShift AI ダッシュボードから、Settings > Serving runtimes をクリックします。
Serving runtimes ページが開き、すでにインストールされ有効になっているモデルサービングランタイムが表示されます。
カスタムランタイムを追加するには、次のオプションのいずれかを選択します。
- 既存のランタイム (KServe の TGIS Standalone ServingRuntime など) で開始するには、既存のランタイムの横にあるアクションメニュー (⋮) をクリックしてから、Duplicate をクリックします。
- 新しいカスタムランタイムを追加するには、Add serving runtime をクリックします。
- Select the model serving platforms this runtime supports リストで、Single-model serving platform を選択します。
- Select the API protocol this runtime supports リストで、REST または gRPC を選択します。
オプション: (既存のランタイムを複製するのではなく) 新しいランタイムを開始した場合は、次のオプションのいずれかを選択してコードを追加します。
YAML ファイルをアップロードする
- Upload files をクリックします。
ファイルブラウザーで、コンピューター上の YAML ファイルを選択します。
埋め込み YAML エディターが開き、アップロードしたファイルの内容が表示されます。
エディターに YAML コードを直接入力する
- Start from scratch をクリックします。
- 埋め込みエディターに YAML コードを直接入力または貼り付けます。
注記多くの場合、カスタムランタイムを作成するには、
ServingRuntime
仕様のenv
セクションに新しいパラメーターまたはカスタムパラメーターを追加する必要があります。Add をクリックします。
Serving runtimes ページが開き、インストールされているランタイムの更新されたリストが表示されます。追加したカスタムランタイムが自動的に有効になることを確認します。ランタイム作成時に指定した API プロトコルが表示されます。
- オプション: カスタムランタイムを編集するには、アクションメニュー (⋮) をクリックし、Edit を選択します。
検証
- 追加したカスタムモデルサービングランタイムは、Serving runtimes ページに有効な状態で表示されます。
3.5.3. シングルモデルサービングプラットフォームへのモデルのデプロイ
シングルモデルサービングプラットフォームを有効にすると、カスタムまたはプリインストールされたモデルサービングランタイムを有効にして、プラットフォームへのモデルのデプロイを開始できます。
Text Generation Inference Server (TGIS) は、Hugging Face TGI の初期のフォークに基づいています。Red Hat は、TGI モデルをサポートするスタンドアロン TGIS ランタイムの開発を継続します。モデルが OpenShift AI の現在のバージョンで機能しない場合、今後のバージョンでサポートが追加される可能性があります。それまでの間は、独自のカスタムランタイムを追加して TGI モデルをサポートすることもできます。詳細は、シングルモデルサービングプラットフォーム用のカスタムモデルサービングランタイムの追加 を参照してください。
前提条件
- Red Hat OpenShift AI にログインしている。
-
特殊な OpenShift AI グループを使用している場合は、OpenShift のユーザーグループ、または、管理者グループ (
rhoai-users
、rhoai-admins
など) に属している。 - KServe をインストールしている。
- シングルモデルサービングプラットフォームを有効にしている。
- データサイエンスプロジェクトを作成した。
- S3 互換オブジェクトストレージにアクセスできる。
- デプロイするモデルについて、S3 互換オブジェクトストレージバケット内の関連フォルダーパスを把握している。
- Caikit-TGIS ランタイムを使用するために、モデルを Caikit 形式に変換している。例については、caikit-tgis-serving リポジトリーの Converting Hugging Face Hub models to Caikit format を参照してください。
- モデルサーバーでグラフィックスプロセッシングユニット (GPU) を使用する場合は、OpenShift AI で GPU サポートを有効にしている。OpenShift AI での GPU サポートの有効化 を参照してください。
- vLLM ランタイムを使用するには、OpenShift AI で GPU サポートを有効にし、クラスターに Node Feature Discovery Operator をインストールして設定しておく必要があります。詳細は、Node Feature Discovery Operator のインストール および OpenShift AI での GPU サポートの有効化 を参照してください。
手順
左側のメニューで、Data Science Projects をクリックします。
Data Science Projects ページが開きます。
モデルをデプロイするプロジェクトの名前をクリックします。
プロジェクトの詳細ページが開きます。
- Models タブをクリックします。
次のいずれかの操作を実行します。
- Single-model serving platform タイルが表示された場合は、タイル上の Deploy model をクリックします。
- タイルが表示されない場合は、Deploy model ボタンをクリックします。
Deploy model ダイアログが開きます。
- Model name フィールドに、デプロイするモデルの一意の名前を入力します。
- Serving runtime フィールドで、有効なランタイムを選択します。
- Model framework リストから値を選択します。
- Number of model replicas to deploy フィールドに値を指定します。
- Model server size リストから値を選択します。
デプロイされたモデルに対する推論リクエストにトークン認可を要求するには、次のアクションを実行します。
- Require token authorization を選択します。
- Service account name フィールドに、トークンが生成されるサービスアカウント名を入力します。
モデルの場所を指定するには、次の一連のアクションのいずれかを実行します。
既存のデータ接続を使用するには
- Existing data connection を選択します。
- Name リストから、以前に定義したデータ接続を選択します。
Path フィールドに、指定したデータソース内のモデルを含むフォルダーパスを入力します。
重要OpenVINO Model Server ランタイムには、モデルパスの指定方法に関する特定の要件があります。詳細は、OpenShift AI リリースノートの既知の問題 RHOAIENG-3025 を参照してください。
新しいデータ接続を使用するには
- モデルがアクセスできる新しいデータ接続を定義するには、New data connection を選択します。
- Name フィールドに、データ接続の一意の名前を入力します。
- Access key フィールドに、S3 互換オブジェクトストレージプロバイダーのアクセスキー ID を入力します。
- Secret key フィールドに、指定した S3 互換オブジェクトストレージアカウントのシークレットアクセスキーを入力します。
- Endpoint フィールドに、S3 互換オブジェクトストレージバケットのエンドポイントを入力します。
- Region フィールドに、S3 互換オブジェクトストレージアカウントのデフォルトのリージョンを入力します。
- Bucket フィールドに、S3 互換のオブジェクトストレージバケットの名前を入力します。
Path フィールドに、データファイルが含まれる S3 互換オブジェクトストレージ内のフォルダーパスを入力します。
重要OpenVINO Model Server ランタイムには、モデルパスの指定方法に関する特定の要件があります。詳細は、OpenShift AI リリースノートの既知の問題 RHOAIENG-3025 を参照してください。
- Deploy をクリックします。
検証
- デプロイされたモデルがプロジェクトの Models タブに表示され、ダッシュボードの Model Serving ページの Status 列にチェックマークが付いていることを確認します。