第3章 大規模モデルの提供
Red Hat OpenShift AI には、大規模言語モデル (LLM) などの大規模モデルをデプロイするために、KServe コンポーネントをベースとした シングルモデルサービングプラットフォーム が組み込まれています。各モデルが独自のモデルサーバーからデプロイされるため、シングルモデルサービングプラットフォームは、多くのリソースを必要とする大規模なモデルのデプロイ、監視、スケーリング、および保守に役立ちます。
3.1. シングルモデルサービングプラットフォームについて
OpenShift AI には、大規模言語モデル (LLM) などの大規模モデルをデプロイするために、KServe コンポーネントをベースとしたシングルモデルサービングプラットフォームが組み込まれています。各モデルが独自のモデルサーバー上にデプロイされるため、シングルモデルサービングプラットフォームは、多くのリソースを必要とする大規模なモデルのデプロイ、監視、スケーリング、および保守に役立ちます。
3.1.1. コンポーネント
- KServe : あらゆるタイプのモデルに対するモデルサービングを調整する Kubernetes カスタムリソース定義 (CRD)。KServe には、指定されたモデルサーバータイプの読み込みを実装するモデルサービングランタイムが含まれます。KServe は、デプロイメントオブジェクト、ストレージアクセス、およびネットワーク設定のライフサイクルも処理します。
- Red Hat OpenShift Serverless: モデルのサーバーレスデプロイメントを可能にするクラウドネイティブ開発モデル。OpenShift Serverless は、オープンソースの Knative プロジェクトをベースにしています。
- Red Hat OpenShift Service Mesh: トラフィックフローを管理し、アクセスポリシーを適用するサービスメッシュネットワーキングレイヤー。OpenShift Service Mesh は、オープンソースの Istio プロジェクトをベースにしています。
3.1.2. インストールオプション
シングルモデルサービングプラットフォームをインストールするには、次のオプションがあります。
- 自動インストール
OpenShift クラスターに
ServiceMeshControlPlane
またはKNativeServing
リソースをまだ作成していない場合は、KServe とその依存関係をインストールして構成するように Red Hat OpenShift AI Operator を設定できます。自動インストールの詳細は、KServe の自動インストールの設定 を参照してください。
- 手動インストール
OpenShift クラスターに
ServiceMeshControlPlane
またはKNativeServing
リソースをすでに作成している場合は、KServe とその依存関係をインストールして構成するように Red Hat OpenShift AI Operator を 設定できません。この状況では、KServe を手動でインストールする必要があります。手動インストールの詳細は、KServe の手動インストール を参照してください。
3.1.3. モデルサービングランタイム
KServe をインストールすると、OpenShift AI ダッシュボードを使用して、カスタムまたはプリインストールされたモデルサービングランタイムを使用してモデルをデプロイできます。
OpenShift AI には、次の KServe 用のプリインストールされたランタイムが組み込まれています。
- TGIS Standalone ServingRuntime for KServe: TGI 対応モデルを提供するためのランタイム
- Caikit-TGIS ServingRuntime for KServe: Caikit 形式でモデルを提供するための複合ランタイム
- Caikit Standalone ServingRuntime for KServe: 埋め込みタスク用の Caikit 埋め込み形式でモデルを提供するためのランタイム
- OpenVINO Model Server: Intel アーキテクチャー向けに最適化されたモデルを提供するためのスケーラブルで高性能なランタイム
- vLLM ServingRuntime for KServe: 大規模言語モデル向けの高スループットでメモリー効率の高い推論およびサービングランタイム
- Text Generation Inference Server (TGIS) は、Hugging Face TGI の初期のフォークに基づいています。Red Hat は、TGI モデルをサポートするスタンドアロン TGIS ランタイムの開発を継続します。モデルが OpenShift AI の現在のバージョンで機能しない場合、今後のバージョンでサポートが追加される可能性があります。それまでの間は、独自のカスタムランタイムを追加して TGI モデルをサポートすることもできます。詳細は、シングルモデルサービングプラットフォーム用のカスタムモデルサービングランタイムの追加 を参照してください。
- 複合 Caikit-TGIS ランタイムは、Caikit および Text Generation Inference Server (TGIS) に基づいています。このランタイムを使用するには、モデルを Caikit 形式に変換する必要があります。例については、caikit-tgis-serving リポジトリーの Converting Hugging Face Hub models to Caikit format を参照してください。
- Caikit スタンドアロンランタイムは Caikit NLP に基づいています。このランタイムを使用するには、モデルを Caikit 埋め込み形式に変換する必要があります。例については、Bootstrap Model を参照してください。
3.1.4. 認可
シングルモデルサービングプラットフォームの認可プロバイダーとして Authorino を追加できます。認可プロバイダーを追加すると、プラットフォームにデプロイするモデルに対してトークン認可を有効にできます。その場合、認可されなければモデルに対して推論リクエストを実行できなくなります。
シングルモデルサービングプラットフォームに Authorino を認可プロバイダーとして追加するには、次のオプションがあります。
- クラスター上でシングルモデルサービングプラットフォームの自動インストールが可能な場合は、自動インストールプロセスの一部として Authorino を含めることができます。
- シングルモデルサービングプラットフォームを手動でインストールする必要がある場合は、Authorino も手動で設定する必要があります。
シングルモデルサービングプラットフォームのインストールオプションを選択する方法については、インストールオプション を参照してください。
3.1.5. モニタリング
シングルモデルサービングプラットフォームの監視を設定し、Prometheus を使用して、プリインストールされた各モデルサービングランタイムのメトリクスをスクレイピングできます。