Platform for AI (PAI) のElastic Algorithm Service (EAS) モジュールには、ビジネス要件に基づいてモデルサービスを展開するための複数のメソッドが用意されています。
デプロイ方法
EASのイメージまたはプロセッサを使用してモデルを展開できます。
イメージを使う (推奨)
イメージを使用してモデルをデプロイする場合、EASはContainer Registry (ACR) からランタイム環境を含むイメージを取得し、Object storage Service (OSS) やFile Storage NAS (NAS) などのストレージサービスからモデルファイルとコードをマウントします。
次の図は、EASのイメージを使用してモデルを展開するワークフローを示しています。
以下の点にご注意ください。
イメージを使用してモデルを配置するときは、次のいずれかの方法を使用できます。
イメージを使用したサービスのデプロイ: デプロイ後にAPI操作を使用してサービスを呼び出すことができます。
イメージを使用してWebアプリをデプロイする: デプロイ後にリンクを使用してwebアプリケーションにアクセスできます。
2つの方法の違いについては、このトピックの「手順2: モデルのデプロイ」を参照してください。
PAIは、モデルの展開を高速化するために複数のプリビルドイメージを提供します。 カスタムイメージを作成してACRにアップロードすることもできます。
前処理ロジックまたは後処理ロジックを含むモデルファイルとコードファイルをストレージサービスにアップロードすることを推奨します。 これにより、ファイルをランタイム環境にマウントできます。 ファイルをカスタムイメージにパッケージ化する場合と比較して、この方法では便利な方法でモデルを更新できます。
イメージを使用してモデルを展開する場合は、EASによって転送されるリクエストを受信するHTTPサーバーを構築することをお勧めします。 EASエンジンがこれらのポートでリッスンするため、HTTPサーバーはポート8080および9090で要求を受信できません。
カスタムイメージを使用する場合は、デプロイ中にイメージを使用する前に、イメージをACRにアップロードする必要があります。 さもなければ、EASはイメージを引き出すために失敗するかもしれません。 Data Science Workshop (DSW) を使用してモデルを開発する場合は、EASで画像を使用する前にACRに画像をアップロードする必要があります。
カスタムイメージやウォームアップデータを他のシナリオで再利用する場合は、PAIのAI Computing Asset Managementモジュールを使用して、イメージやデータを一元管理できます。 EASはNASからのCPFSデータセットのマウントをサポートしていません。
プロセッサを使用する
プロセッサを使用してモデルをデプロイする場合は、モデルファイルとプロセッサファイルを準備し、デプロイ前にOSSやNASなどのストレージサービスにファイルをアップロードしてから、デプロイ中にEASにファイルをマウントします。
次の図は、EASのプロセッサを使用してモデルを展開するワークフローを示しています。
以下の点にご注意ください。
PAIは、モデルの展開を高速化するために複数のプリビルドイメージを提供します。 ビジネス要件に基づいてカスタムイメージを作成し、そのイメージをACRにアップロードすることもできます。
モデルファイルとプロセッサファイルを別々に開発して保存することを推奨します。 プロセッサファイルのget_model_path() メソッドを呼び出して、モデルファイルのパスを取得できます。 これにより、便利な方法でモデルを更新できます。
プロセッサを使用してモデルをデプロイすると、EASはモデルの推論フレームワークに基づいて公式イメージを自動的に取得し、プロセッサファイルに基づいてHTTPサーバーをデプロイしてサービス要求を受信します。
プロセッサを使用してモデルをデプロイする場合は、モデルの推論フレームワークとプロセッサファイルが開発環境の要件を満たしていることを確認してください。 この方法は、柔軟性および効率が低い。 イメージを使用してモデルを配置することを推奨します。
配置ツールと方法
次の表に、展開ツールを示します。
API 操作
GUIツール
CLIツール
サービスのデプロイ
PAIコンソールまたはMachine Learning Designerを使用して、数回クリックするだけでサービスをデプロイできます。 詳細については、「PAIコンソールでのモデルサービスのデプロイ」または「Machine Learning Designerによるモデルサービスのデプロイ」をご参照ください。
DSWまたはEASCMDクライアントを使用してサービスをデプロイします。 詳細については、「EASCMDまたはDSWを使用したモデルサービスのデプロイ」をご参照ください。
サービスの管理
EAS -Online model servicesページでモデルサービスを管理します。 詳細については、「PAIコンソールでのモデルサービスのデプロイ」をご参照ください。
次の操作がサポートされています。
呼び出し情報を表示します。
ログ、モニタリング情報、およびサービスのデプロイ情報を表示します。
モデルサービスのスケール、開始、停止、および削除
EASCMDクライアントを使用してモデルサービスを管理します。 詳細については、「EASCMDクライアントを使用するコマンドの実行」をご参照ください。
専用リソースグループを使用してモデルサービスをデプロイする場合、ストレージサービスから必要なデータをマウントできます。 詳細については、「ストレージのサービスへのマウント」をご参照ください。
次の表に、デプロイ方法を示します。
デプロイ方法
説明
参照
イメージを使用したサービスのデプロイ (推奨)
シナリオ: イメージを使用してモデルサービスをデプロイします。
利点
イメージは、モデル開発環境とランタイム環境の間の一貫性を保証します。
一般的なシナリオ用の事前構築イメージを使用すると、数回クリックするだけでデプロイを完了できます。
カスタムイメージは、変更を必要とせずにデプロイに使用できます。
イメージを使用したWebアプリのデプロイ (推奨)
シナリオ: イメージを使用してwebアプリケーションをデプロイします。
利点
Stable-Diffusion-WebuiやChat-LLM-Webuiなどの一般的なシナリオ用に事前に作成されたイメージを使用すると、数回クリックするだけでデプロイを完了できます。 Glradio、Flask、FastAPIなどのフレームワークを使用して、HTTPサーバーを構築できます。
カスタムイメージは、変更を必要とせずにデプロイに使用できます。
モデルとプロセッサを使用したサービスのデプロイ
EASは、PMMLやXGBOOSTなどの一般的なモデルフレームワーク用に事前に構築されたプロセッサを提供し、展開を高速化します。
事前構築プロセッサがビジネス要件を満たせない場合は、カスタムプロセッサを構築して柔軟性を高めることができます。
詳細設定
サービスグループ
EASはサービスグループをサポートしており、カナリアリリースなど、複数のサービスにトラフィックを分散する必要があるシナリオで使用できます。 詳細については、「サービスグループの管理」をご参照ください。
スケジュールされたサービスのデプロイ
DataWorksを使用すると、定期的にサービスを自動的にデプロイできます。 詳細については、「スケジュールされたモデルのデプロイの設定」をご参照ください。
インスタンス利用率
EASはプリエンプティブルインスタンスを提供し、複数のインスタンスタイプを選択できます。 これにより、費用対効果の高い方法でサービスをデプロイできます。 詳細については、「プリエンプティブルインスタンスの指定」および「複数のインスタンスタイプの指定」をご参照ください。
ストレージの統合
EASは、OSS (Object storage Service) 、File Storage NAS) 、Gitリポジトリなどの複数のストレージサービスからデータをマウントできます。 詳細については、「ストレージのサービスへのマウント」をご参照ください。
モデルのウォームアップ
EASは、展開後の最初の要求の処理の遅延を減らすために、モデルのウォームアップ機能を提供します。 これにより、モデルサービスは公開後すぐに期待どおりに機能します。 詳細については、「ウォームアップモデルサービス (詳細) 」をご参照ください。
関連ドキュメント
複数のメソッドを使用して、展開したサービスを呼び出すことができます。 詳細については、「サービスの呼び出し方法」をご参照ください。
[サービス監視] タブで、サービスの呼び出しと運用状態に関連するメトリクスを表示できます。 詳細については、「サービスモニタリング」をご参照ください。