モデルまたはアルゴリズムを Elastic Algorithm Service (EAS) にオンライン推論サービスとしてデプロイします。異なるユースケースに対応する 3 つのデプロイ方法が利用できます。
仕組み (イメージベースのデプロイ)
各 EAS サービスは、1 つ以上の独立したコンテナインスタンス内で実行されます。デプロイには、次のコアコンポーネントが含まれます。
-
イメージ:オペレーティングシステム、基本ライブラリ (CUDA など) 、言語ランタイム (Python など) 、および必要な依存関係を含む読み取り専用のテンプレートです。PAI の公式イメージを使用するか、特定の要件に合わせてカスタムイメージをビルドすることができます。
-
コードとモデル:ビジネスロジックとモデルファイルです。これらは Object Storage Service (OSS) または Apsara File Storage NAS に保存します。これにより、コードとモデルをランタイム環境から分離し、イメージを再ビルドせずに更新できます。
-
ストレージマウント:起動時に、EAS は指定された外部ストレージパスをコンテナ内のローカルディレクトリにマウントします。これにより、コンテナ内のコードは、外部ファイルをローカルファイルのようにアクセスできます。
-
起動コマンド:コンテナ起動後に最初に実行されるコマンドです。通常、推論リクエストを受信するための HTTP サーバーを起動します。
デプロイのワークフローは次のとおりです。
-
指定されたイメージをプルし、コンテナを作成します。
-
外部ストレージをコンテナ内の指定されたパスにマウントします。
-
コンテナ内で起動コマンドを実行します。
-
コマンドが正常に実行された後、指定されたポートでリッスンし、推論リクエストを処理します。
EAS は、イメージベースのデプロイとプロセッサベースのデプロイの両方をサポートしています。イメージベースのデプロイを推奨します。この方法では、より高い柔軟性と保守性が得られるためです。一方、プロセッサベースのデプロイには、ランタイム環境とフレームワークに関してより多くの制限があります。
デプロイ方法
EAS コンソールでは、3 つのデプロイ方法が利用できます。3 つの方法はすべて同じ JSON サービス設定を送信しますが、設定の作成方法のみが異なります。
|
デプロイ方法 |
説明 |
ユースケース |
ドキュメント |
|
シナリオベースのモデルデプロイ |
入力済みのテンプレートを使用します。変更が必要なパラメータはわずかです。 |
LLM (大規模言語モデル) や RAG (検索拡張生成) などの一般的なモデルやシナリオの迅速なデプロイ。 |
|
|
カスタムデプロイ |
コンソールで設定フォームに入力すると、JSON が生成されます。 |
個々のサービスの対話的なデプロイです。ほとんどの一般的な設定に対応しています。 |
|
|
JSON デプロイ |
完全な JSON 設定を直接編集します。 |
バッチまたはバージョン管理されたデプロイ、CI/CD 統合、またはコンソールでは利用できない設定。 |
JSON 設定は、eascmd クライアントまたは PAI Python SDK を使用してデプロイすることもできます。
主要な設定
デプロイ方法の選択に加えて、サービスをデプロイする際には通常、次の項目を設定します。
-
コンピューティングリソース:リソースタイプの選択、システムディスクの設定などを設定します。詳細については、「リソース設定」をご参照ください。
-
ストレージマウント:OSS や NAS などの外部ストレージからモデルファイルとデータをサービスコンテナにマウントします。詳細については、「ストレージマウント」をご参照ください。
-
ネットワークアクセス:VPC やパブリックネットワークアクセスなど、サービスのネットワーク環境を設定します。詳細については、「EAS のパブリックリソースおよびプライベートリソースへのアクセス」をご参照ください。
-
動的パラメータ:サービスを再起動せずに推論の動作を調整するために、実行時に更新できるキーと値のペアを設定します。詳細については、「動的パラメータの設定」をご参照ください。
よくある質問
Q: Bailian プラットフォームでトレーニングされたモデルを PAI-EAS にデプロイするにはどうすればよいですか?
Bailian プラットフォームでトレーニングされたモデルは、PAI-EAS に直接エクスポートしてデプロイすることはサポートされていません。