Platform for AI (PAI) は、モデル開発と展開のためのワンストッププラットフォームを提供します。 PAIのElastic Algorithm Service (EAS) モジュールでは、パブリックリソースグループまたは専用リソースグループを使用して、モデルをオンライン推論サービスとして展開できます。 モデルは、異種ハードウェア (CPUおよびGPU) にロードされ、リアルタイムで応答を生成します。
EASアーキテクチャ
EASは、数回クリックするだけで、オンライン推論サービスまたはAIを利用したwebアプリケーションとしてモデルを展開できるモデルサービングプラットフォームです。 EASは、自動スケーリングや青緑色展開などの機能を提供し、多数の同時リクエストを処理できる安定したオンラインモデルサービスの開発コストを削減します。 EASには、リソースグループ管理、モデルバージョン管理、リソースモニタリングなど、モデルサービスの管理に役立つ機能もあります。 リアルタイムの同期推論やほぼリアルタイムの非同期推論など、さまざまなAI推論シナリオでEASを使用し、EASの包括的なO&M機能を活用できます。
デプロイ方法
EASのイメージまたはプロセッサを使用してモデルを展開できます。
イメージを使う (推奨)
イメージを使用してモデルをデプロイする場合、EASはContainer Registry (ACR) からランタイム環境を含むイメージを取得し、Object storage Service (OSS) やApsara 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サーバーをデプロイしてサービス要求を受信します。
プロセッサを使用してモデルをデプロイする場合は、モデルの推論フレームワークとプロセッサファイルが開発環境の要件を満たしていることを確認してください。 この方法は、柔軟性および効率が低い。 イメージを使用してモデルを配置することを推奨します。
用語
期間 | 説明 |
リソースグループ | EASはリソースグループを使用してクラスター内のリソースを分離します。 デフォルトのパブリックリソースグループまたは購入した専用リソースグループを使用して、モデルをデプロイできます。
EASリソースグループの詳細については、「EASリソースグループの概要」をご参照ください。 |
モデルサービス | モデルサービスは、モデルファイルとオンライン予測ロジックで構成されます。 モデルサービスを作成、更新、開始、停止、およびスケーリングできます。 |
モデルファイル | モデルファイルには、オフライントレーニング後に取得されたオフラインモデルが含まれます。 モデルファイルの形式は、フレームワークによって異なります。 ほとんどの場合、モデルファイルは、モデルサービスを提供するためにプロセッサと共に展開される。 |
プロセッサ | プロセッサは、オンライン予測ロジックを含むパッケージである。 ほとんどの場合、プロセッサは、モデルサービスを提供するためにモデルファイルと共に展開される。 EASは、PMML (Predictive model Markup Language) 、TensorFlow、Caffeなどの一般的なモデルフレームワーク用に事前に構築されたプロセッサを提供します。 |
カスタムプロセッサ | EASのビルド済みプロセッサがビジネス要件を満たせない場合は、カスタムプロセッサを開発します。 |
サービスインスタンス | 各サービスインスタンスは独立して要求を処理する。 複数のサービスインスタンスをデプロイして、サービスが処理できる同時リクエストの最大数を増やすことができます。 リソースグループに複数のマシンが含まれている場合、EASはサービスインスタンスを異なるマシンに自動的に配布し、サービスの可用性を確保します。 |
高速ダイレクト接続 | EASは、デプロイに使用されるリソースグループを仮想プライベートクラウド (VPC) に接続することで有効になる高速直接接続をサポートします。 高速ダイレクト接続を有効にすると、クライアントはゲートウェイをバイパスしてモデルサービスに直接アクセスできます。 これにより、パフォーマンスが大幅に向上し、レイテンシが削減されます。 |
サポートされるリージョン
EASは、中国 (北京) 、中国 (上海) 、中国 (杭州) 、中国 (張家口) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (成都) 、中国 (香港) 、シンガポール、インドネシア (ジャカルタ) 、米国 (シリコンバレー) 、米国 (バージニア州) 、ドイツ (フランクフルト) 。
課金方法
EASリソースグループ:
EASでは、パブリックリソースグループまたは専用リソースグループを使用してモデルサービスをデプロイできます。 詳細については、「EASの課金」をご参照ください。
パブリックリソースグループを使用する場合、モデルサービスで使用されているリソースの量に基づいて課金されます。
専用リソースグループを使用する場合、サブスクリプションまたは従量課金の課金方法に基づいて、専用リソースに対して課金されます。
(オプション) 関連するAlibaba Cloudサービス:
ストレージ
OSSまたはNASを使用して、EASでのデプロイ中にランタイム環境にマウントされたデータを永続的に保存できます。 課金方法の詳細については、「課金の概要 (OSS) 」および「課金の概要 (NAS) 」をご参照ください。
NAT Gateway:
パブリックエンドポイントを使用して、モデルサービスに無料でアクセスできます。 ただし、モデルサービスがインターネットへのアクセスを必要とする場合は、NAT Gatewayを有効化する必要があります。 インターネットアクセスとホワイトリストの設定方法については、「インターネットアクセスとホワイトリストの設定」をご参照ください。 インターネットNAT Gatewayの課金ルールについては、「課金の概要」をご参照ください。
手順
ステップ1: デプロイの準備
コンピューティングリソースを準備します。
ビジネス要件に基づいてリソースグループを選択します。 EASは、パブリックリソースグループと専用リソースグループを提供します。 専用リソースグループを使用するには、リソースを購入して設定する必要があります。 詳細については、「EASリソースグループの概要」をご参照ください。
必要なファイルを準備します。
トレーニングされたモデルと処理ロジックを含むファイルを準備し、使用する展開方法に基づいてファイルをストレージサービスにアップロードします。 EASが提供する各展開方法に推奨されるストレージサービスの詳細については、このトピックの「展開方法」を参照してください。
手順2: サービスのデプロイ
次の表に、展開ツールを示します。
操作
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などの一般的なモデルフレームワーク用に事前に構築されたプロセッサを提供し、展開を高速化します。
事前構築プロセッサがビジネス要件を満たせない場合は、カスタムプロセッサを構築して柔軟性を高めることができます。
ステップ3: デバッグとストレステストの実行
サービスのデプロイ後、オンラインデバッグ機能を使用してHTTPリクエストを送信し、サービスのパフォーマンスを確認できます。
ストレステストのデバッグと実行方法については、「サービスのオンラインデバッグ」をご参照ください。
手順4: サービスの監視
デバッグとストレステストが完了したら、サービスの監視機能を使用して、サービスのリソース使用量を監視できます。
自動スケーリングまたはスケジュールスケーリング機能を有効にして、サービスのコンピューティングリソースを管理することもできます。
詳細については、「サービスモニタリング」をご参照ください。
ステップ5: コールサービス
モデルをAPIサービスとしてデプロイする場合、API操作を呼び出して、リアルタイム推論と非同期推論を実行できます。 EASを使用すると、パブリックエンドポイント、VPCエンドポイント、またはVPCダイレクト接続チャネルを使用してサービスを呼び出すことができます。 モデルサービスのプロセッサに基づいてカスタムリクエストデータを作成することもできます。 サービスのテストと呼び出しには、PAIが提供するSDKを使用することを推奨します。 詳細については、「SDK For Java」をご参照ください。
モデルをwebアプリケーションとしてデプロイする場合、PAIコンソールでアプリケーションへのリンクを見つけ、ブラウザでリンクを開き、UIを使用して対話的にモデルサービスにアクセスできます。
ステップ6: 非同期推論の実行
キューサービスを使用して、ビジネス要件に基づいて非同期推論を実装できます。 推論サービスが多数のリクエストを受信した場合は、リクエストを格納する入力キューを作成します。 リクエストが処理されたら、結果を出力キューに保存し、結果を非同期に返します。 これにより、未処理のリクエストが破棄されるのを防ぎます。 EASは、要求データをキューサービスに送信する複数の方法をサポートし、キュー内のデータ量を監視することによって推論サービスを自動的にスケーリングします。 これにより、サービスインスタンスの数が効果的に制御されます。 非同期推論の詳細については、「非同期推論サービス」をご参照ください。
関連ドキュメント
EASユースケースの詳細については、「EASユースケース」をご参照ください。
PAIのDSWモジュールは、機械学習のためのクラウドベースのインタラクティブな統合開発環境 (IDE) です。 ノートブックを使用して、データの読み取り、アルゴリズムの開発、モデルのトレーニングとデプロイを効率的に行うことができます。 詳細については、「DSWの概要」をご参照ください。
PAIのMachine Learning Designerモジュールは、数百のアルゴリズムコンポーネントを提供する視覚化されたモデリングツールです。 このモジュールは、従来の機械学習、ディープラーニング、および強化学習のための大規模な分散トレーニングをサポートします。 このモジュールは、ストリーミングトレーニングとバッチトレーニングの組み合わせもサポートしています。 詳細については、「機械学習デザイナーの概要」をご参照ください。