オンライン エンドポイントを使用して機械学習モデルをデプロイおよびスコア付けする

適用対象:Azure CLI ml extension v2 (現行)Python SDK azure-ai-ml v2 (現行)

基になるインフラストラクチャを作成して管理する必要をなくすために、オンライン エンドポイントを使ってモデルをデプロイする方法について説明します。 まずローカル コンピューターにモデルをデプロイして、発生するエラーをデバッグした後、それを Azure にデプロイしてテストします。

ログを確認して、サービス レベル アグリーメント (SLA) を監視する方法についても説明します。 最初はモデルから開始し、最終的には、オンラインおよびリアルタイム スコアリングで使用できるスケーラブルな HTTPS/REST エンドポイントを完成させます。

オンライン エンドポイントは、オンライン (リアルタイム) の推論に使用されるエンドポイントです。 オンライン エンドポイントには、2 つの種類があります。マネージド オンライン エンドポイントKubernetes オンライン エンドポイントです。 エンドポイントの詳細、およびマネージド オンライン エンドポイントと Kubernetes オンライン エンドポイントの違いについては、「Azure Machine Learning エンドポイントとは」をご覧ください。

マネージド オンライン エンドポイントは、ターンキー MLモデルをデプロイするのに役立ちます。 マネージド オンライン エンドポイントは、スケーラブルでフル マネージドの方法で Azure の強力な CPU および GPU マシンと動作します。 マネージド オンライン エンドポイントは、モデルの提供、スケーリング、セキュリティ保護、監視を行います。基になるインフラストラクチャの設定と管理のオーバーヘッドがなくなります。

このドキュメントの主な例では、デプロイにマネージド オンライン エンドポイントを使用します。 代わりに Kubernetes を使用するには、このドキュメントのノートとマネージド オンライン エンドポイントに関する説明をインラインで参照してください。

ヒント

Azure Machine Learning スタジオでマネージド オンライン エンドポイントを作成するには、スタジオでのマネージド オンライン エンドポイントの使用に関するページをご覧ください。

前提条件

この記事の手順に従う前に、次の前提条件が満たされていることをご確認ください。

  • Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure Machine Learning の操作に対するアクセスを許可するために使用されます。 この記事の手順を実行するには、ユーザー アカウントに、Azure Machine Learning ワークスペースの所有者共同作成者ロール、または Microsoft.MachineLearningServices/workspaces/onlineEndpoints/* を許可するカスタム ロールを割り当てる必要があります。 詳細については、「Azure Machine Learning ワークスペースへのアクセスの管理」を参照してください。

  • まだ Azure CLI の既定値を設定していない場合は、既定の設定を保存する必要があります。 サブスクリプション、ワークスペース、およびリソース グループの値を複数回渡さないようにするには、次のコードを実行します。

    az account set --subscription <subscription ID>
    az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
    
  • (省略可能) ロ―カルでデプロイするには、ローカル コンピューターに Docker エンジンをインストールする必要があります。 問題のデバッグを容易にするため、このオプションを "強くお勧めします"。

重要

このドキュメントの例では、Bash シェルを使用していることを想定しています。 たとえば、Linux システムや Linux 用 Windows サブシステムなどです。

システムを準備する

サンプル リポジトリをクローンする

この記事に従って作業を行うには、最初にサンプル リポジトリ (azureml-examples) をクローンします。 次に、次のコードを実行してサンプル ディレクトリに移動します。

git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli

ヒント

--depth 1 を使用すると、リポジトリに対する最新のコミットだけが複製されるので、操作の完了にかかる時間を短縮できます。

エンドポイント名を設定する

エンドポイント名を設定するには、次のコマンドを実行します (YOUR_ENDPOINT_NAME を一意の名前に置き換えます)。

Unix の場合、次のコマンドを実行します。

export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"

注意

エンドポイント名は Azure リージョン内で一意である必要があります。 たとえば、Azure westus2 リージョンでは、my-endpoint という名前のエンドポイントは 1 つしか使用できません。

エンドポイントとデプロイを定義する

次のスニペットは、endpoints/online/managed/sample/endpoint.yml ファイルを示しています。

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: my-endpoint
auth_mode: key

Note

YAML の完全な説明については、オンライン エンドポイント YAML リファレンスに関するページを参照してください。

エンドポイント YAML 形式のリファレンスを次の表で説明します。 これらの属性の指定方法については、「システムを準備する」またはオンライン エンドポイント YAML リファレンスに関するページの YAML サンプルを参照してください。 マネージド エンドポイント関連の制限の詳細については、「Azure Machine Learning を使用するリソースのクォータの管理と引き上げ」を参照してください。

Key 説明
$schema (省略可能) YAML スキーマ。 上の例のスキーマをブラウザーで表示すると、YAML ファイルで使用可能なすべてのオプションを確認できます。
name エンドポイントの名前。 Azure リージョンで一意である必要があります。
名前付け規則は、マネージド オンライン エンドポイントの制限に関する記事で定義されています。
auth_mode キーベースの認証に key を使用します。 Azure Machine Learning のトークン ベースの認証に aml_token を使用します。 key には有効期限がありませんが、aml_token には有効期限があります。 (az ml online-endpoint get-credentials コマンドを使用して最新のトークンを取得してください。)

この例には、オンライン エンドポイントにモデルをデプロイするために必要なすべてのファイルが含まれています。 モデルをデプロイするには、次が必要です。

  • モデル ファイル (または、ワークスペースに既に登録されているモデルの名前とバージョン)。 この例では、回帰を行う scikit-learn モデルを使用します。
  • モデルのスコアに必要なコード。 このケースでは、score.py ファイルがあります。
  • モデルが実行される環境。 ご覧のように、環境は Conda の依存関係を持つ Docker イメージか、Dockerfile である可能性があります。
  • インスタンスの種類とスケーリング キャパシティを指定するための設定。

次のスニペットは、endpoints/online/managed/sample/blue-deployment.yml ファイルと、必要なすべての入力を示しています。

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
  path: ../../model-1/model/
code_configuration:
  code: ../../model-1/onlinescoring/
  scoring_script: score.py
environment: 
  conda_file: ../../model-1/environment/conda.yml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1

次の表では、deployment の属性について説明します。

Key 説明
name デプロイの名前。
model この例では、モデルのプロパティ path をインラインで指定します。 モデル ファイルは自動的にアップロードされ、自動生成された名前で登録されます。 関連するベスト プラクティスについては、次のセクションのヒントを参照してください。
code_configuration.code.path モデルのスコアリングに使用されるすべての Python ソース コードを格納するローカル開発環境上のディレクトリ。 入れ子になったディレクトリとパッケージを使用できます。
code_configuration.scoring_script ローカル開発環境上の code_configuration.code.path スコアリング ディレクトリにある Python ファイル。 この Python コードには、init() 関数と run() 関数が含まれている必要があります。 init() 関数は、モデルの作成後または更新後に呼び出されます (これを使用して、モデルをメモリにキャッシュするなどの操作を実行できます)。 run() 関数は、実際のスコアリングおよび予測を実行するために、エンドポイントが呼び出されるたびに呼び出されます。
environment モデルとコードのホストとなる環境の詳細を含みます。 この例では、path を含むインライン定義を使用しています。 イメージには environment.docker.image を使用します。 イメージ上に conda_file 依存関係がインストールされます。 詳細については、次のセクションのヒントをご覧ください。
instance_type デプロイ インスタンスのホストとなる VM SKU。 詳細については、マネージド オンライン エンドポイントでサポートされる VM SKU に関するページを参照してください。
instance_count デプロイ内のインスタンスの数。 想定されるワークロードに基づく値を指定します。 高可用性を実現するには、instance_count を少なくとも 3 に設定することをお勧めします。 アップグレードを実行するために 20% 余分に予約されています。 詳細については、マネージド オンライン エンドポイントのクォータに関するページを参照してください。

デプロイ中に、スコアリング モデル用の Python ソースなどのローカル ファイルが開発環境からアップロードされます。

YAML スキーマの詳細については、オンライン エンドポイント YAML リファレンスに関するドキュメントを参照してください。

注意

コンピューティング先として、マネージド エンドポイントの代わりに Kubernetes を使用するには:

  1. Azure Machine Learning スタジオを使用して、Kubernetes クラスターを作成し、Azure Machine Learning ワークスペースにコンピューティング先としてアタッチします。
  2. Kubernetes をターゲットにするには、マネージド エンドポイント YAML の代わりに、エンドポイント YAML を使用します。 target の値を、登録済みのコンピューティング先の名前に変更するには、YAML を編集する必要があります。 Kubernetes デプロイに適用できる追加のプロパティを持つこの deployment.yaml を使用できます。

この記事で使用されているコマンド (オプションの SLA 監視と Azure Log Analytics 統合を除く) はすべて、マネージド エンドポイントまたは Kubernetes エンドポイントで使用できます。

モデルと環境を別々に登録する

この例では、インラインで path (ファイルのアップロード先) を指定します。 CLI によってファイルが自動的にアップロードされ、モデルと環境が登録されます。 運用環境ではベスト プラクティスとして、モデルと環境を登録し、登録する名前とバージョンを YAML で個別に指定することをお勧めします。 model: azureml:my-model:1 または environment: azureml:my-env:1.の形式を使用します。

登録するためには、modelenvironment の YAML 定義を別々の YAML ファイルに抽出し、az ml model create コマンドと az ml environment create コマンドを使用します。 これらのコマンドの詳細については、az ml model create -haz ml environment create -h を実行してください。

異なる CPU と GPU のインスタンス タイプを使用する

前述の YAML では、汎用タイプ (Standard_DS2_v2) および非 GPU の Docker イメージが使用されています (YAML の image 属性を参照)。 GPU コンピューティングの場合は、GPU コンピューティング タイプの SKU と GPU の Docker イメージを選択します。

サポートされる汎用タイプと GPU インスタンス タイプについては、マネージド オンライン エンドポイントでサポートされる VM SKU に関するページを参照してください。 Azure Machine Learning CPU と GPU の基本イメージの一覧については、「Azure Machine Learning 基本イメージ」を参照してください。

注意

コンピューティング先として、マネージド エンドポイントの代わりに Kubernetes を使用する場合は、Kubernetes コンピューティング先の概要に関するページを参照してください

複数のモデルを使用する

現在、YAML で指定できるモデルは、デプロイごとに 1 つだけです。 複数のモデルがある場合には、モデルを登録するときに、すべてのモデルをファイルまたはサブディレクトリとして登録用のフォルダーにコピーします。 スコアリング スクリプトで、環境変数 AZUREML_MODEL_DIR を使用して、モデル ルート フォルダーへのパスを取得します。 基になるディレクトリ構造は保持されます。 1 つのデプロイに複数のモデルをデプロイする例については、「1 つのデプロイに複数のモデルを デプロイする」を参照してください。

ヒント

登録するファイルが 1500 を超える場合は、モデルの登録時にファイルまたはサブディレクトリを .tar.gz として圧縮することを検討してください。 モデルを使用するには、スコアリング スクリプトから init() 関数のファイルまたはサブディレクトリを圧縮解除します。 または、モデルを登録するときに、 azureml.unpack プロパティをTrueに 設定します。これにより、自動圧縮解除が可能になります。 この場合、圧縮解除は初期化ステージで 1 回行われます。

スコアリング スクリプトを理解する

ヒント

オンライン エンドポイントのスコアリング スクリプトの形式は、前のバージョンの CLI や Python SDK で使用されている形式と同じです。

前に説明したように、code_configuration.scoring_script で指定されているスクリプトには、init() 関数と run() 関数が必要です。

この例では、score.py ファイル: score.py を使用します

import os
import logging
import json
import numpy
import joblib


def init():
    """
    This function is called when the container is initialized/started, typically after create/update of the deployment.
    You can write the logic here to perform init operations like caching the model in memory
    """
    global model
    # AZUREML_MODEL_DIR is an environment variable created during deployment.
    # It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)
    # Please provide your model's folder name if there is one
    model_path = os.path.join(
        os.getenv("AZUREML_MODEL_DIR"), "model/sklearn_regression_model.pkl"
    )
    # deserialize the model file back into a sklearn model
    model = joblib.load(model_path)
    logging.info("Init complete")


def run(raw_data):
    """
    This function is called for every invocation of the endpoint to perform the actual scoring/prediction.
    In the example we extract the data from the json input and call the scikit-learn model's predict()
    method and return the result back
    """
    logging.info("model 1: request received")
    data = json.loads(raw_data)["data"]
    data = numpy.array(data)
    result = model.predict(data)
    logging.info("Request processed")
    return result.tolist()

init() 関数は、コンテナーが初期化または起動された時に呼び出されます。 初期化は、通常、デプロイが作成または更新された直後に実行されます。 モデルをメモリにキャッシュするなど (この例のように)、グローバルな初期化処理を実行するロジックをここに記述します。 run() 関数は、エンドポイントが呼び出されるたびに呼び出され、実際のスコアリングと予測を実行します。 この例では、JSON 入力からデータを抽出し、scikit-learn モデルの predict() メソッドを呼び出し、結果を返します。

ローカル エンドポイントを使用してデプロイとデバッグをローカルで行う

デバッグにかかる時間を短縮するために、エンドポイントはローカルでテスト実行することを "強くお勧め" します。 詳細については、「Visual Studio Code を使用してオンライン エンドポイントをローカルでデバッグする」をご覧ください。

注意

重要

ローカル エンドポイント デプロイの目的は、Azure へのデプロイ前にコードと構成を検証してデバッグすることです。 ローカル デプロイには、次の制限があります。

  • ローカル エンドポイントでは、トラフィック ルール、認証、プローブ設定がサポートされません
  • ローカル エンドポイントでサポートされるデプロイは、エンドポイントごとに 1 つだけです。
  • ローカル エンドポイントでは、登録済みモデルはサポート "されません"。 既に登録されているモデルを使用するには、CLI または SDK を使用してそれらをダウンロードし、デプロイ定義で参照します。

ヒント

Azure Machine Learning 推論 HTTP サーバー Python パッケージを使用して、Docker エンジンなしでスコアリング スクリプトをローカルでデバッグできます。 推論サーバーを使用したデバッグは、ローカル エンドポイントにデプロイする前にスコアリング スクリプトをデバッグするのに役立ちます。これにより、デプロイ コンテナーの構成の影響を受けることなくデバッグできます。

モデルをローカルにデプロイする

最初にエンドポイントを作成します。 必要に応じて、ローカル エンドポイントの場合は、この手順をスキップして直接デプロイを作成し (次の手順)、これにより必要なメタデータを作成します。 モデルをローカル環境にデプロイすると、開発とテストに役立ちます。

az ml online-endpoint create --local -n $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml

ここで、エンドポイントの下に blue という名前のデプロイを作成します。

az ml online-deployment create --local -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml

--local フラグは、エンドポイントを Docker 環境にデプロイするよう CLI に命令するものです。

ヒント

お使いのエンドポイントをローカルでテストおよびデバッグするには、Visual Studio Code を使用します。 詳細については、Visual Studio Code でオンライン エンドポイントをローカルでデバッグする方法に関する記事を参照してください。

ローカル デプロイが成功したかどうかを確認する

状態を確認し、エラーなしでモデルがデプロイされたかどうかを確認します。

az ml online-endpoint show -n $ENDPOINT_NAME --local

出力は次の JSON のようになります。 provisioning_stateSucceeded です。

{
  "auth_mode": "key",
  "location": "local",
  "name": "docs-endpoint",
  "properties": {},
  "provisioning_state": "Succeeded",
  "scoring_uri": "http://localhost:49158/score",
  "tags": {},
  "traffic": {}
}

次の表は、provisioning_state に指定できる値です。

状態 説明
作成 リソースを作成しています。
更新中 リソースを更新しています。
削除中 リソースは削除中です。
Succeeded 作成/更新操作が成功しました。
失敗 作成/更新/削除操作が失敗しました。

ローカル エンドポイントを呼び出し、モデルを使用してデータをスコアリングする

エンドポイントを呼び出してモデルをスコアリングするには、便利な invoke コマンドを使用して、JSON ファイルに格納されているクエリ パラメーターを渡します。

az ml online-endpoint invoke --local --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json

REST クライアント (curl など) を使用する場合は、スコアリング URI が必要です。 スコアリング URI を取得するには、az ml online-endpoint show --local -n $ENDPOINT_NAME を実行します。 返された値で、scoring_uri 属性を探します。 curl ベースのサンプル コマンドは、このドキュメントの後の方にあります。

呼び出し操作からの出力をログで確認する

例の score.py ファイルでは、run() メソッドがいくつかの出力をコンソールにログしています。

この出力は、get-logs コマンドを使って確認できます。

az ml online-deployment get-logs --local -n blue --endpoint $ENDPOINT_NAME

オンライン エンドポイントを Azure にデプロイする

次に、オンライン エンドポイントを Azure にデプロイする

Deploy to Azure (Azure へのデプロイ)

クラウドにエンドポイントを作成するには、次のコードを実行します。

az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml

エンドポイントの下に blue という名前のデプロイを作成するには、次のコードを実行します。

az ml online-deployment create --name blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml --all-traffic

基になる環境またはイメージが初めて構築されるものであるかどうかに応じて、このデプロイには最大で 15 分かかる場合があります。 同じ環境を使用する後続のデプロイでは、処理がより迅速に完了します。

ヒント

  • CLI コンソールをブロックしたくない場合は、コマンドに --no-wait フラグを追加してください。 ただし、この場合、デプロイ状態が対話的に表示されなくなります。

重要

az ml online-deployment create 上の --all-traffic フラグは、新しく作成されたデプロイに対して、エンドポイントへのトラフィックの 100% を割り当てます。 これは開発とテストのために役立ちますが、運用環境では、明示的なコマンドを使用して、新しいデプロイへのトラフィックを開くことができます。 たとえば、az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100" のように指定します。

ヒント

エンドポイントの状態を確認する

show コマンドには、provisioning_status にエンドポイントとデプロイの情報が含まれます。

az ml online-endpoint show -n $ENDPOINT_NAME

list コマンドを使用すると、ワークスペースのすべてのエンドポイントを表形式で一覧表示できます。

az ml online-endpoint list --output table

オンライン デプロイの状態を確認する

ログを確認し、エラーなしでモデルがデプロイされたかどうかを確認します。

az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME

既定では、ログが推論サーバーからプルされます。 ストレージ初期化子 (モデルやコードなどのアセットをコンテナーにマウントする) からのログを表示するには、--container storage-initializer フラグを追加します。

デプロイのログについて詳しくは、「コンテナー ログを取得する」をご覧ください。

エンドポイントを呼び出し、モデルを使用してデータをスコアリングする

invoke コマンドまたは任意の REST クライアントを使用してエンドポイントを呼び出し、データをスコアリングすることができます。

az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json

次の例は、エンドポイントに対する認証に使用されるキーを取得する方法を示しています。

ヒント

認証キーを取得できる Azure Active Directory セキュリティ プリンシパルは、Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/actionMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action を許可するカスタム ロールにそれを割り当てることで制御できます。 詳細については、「Azure Machine Learning ワークスペースへのアクセスの管理」を参照してください。

ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n $ENDPOINT_NAME -o tsv --query primaryKey)

次に、curl を使用してデータをスコアリングします。

SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)

curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json

認証資格情報を取得するには、show コマンドと get-credentials コマンドを使用します。 --query フラグを使用して、必要な属性だけをフィルターしています。 --query の詳細については、Azure CLI コマンドの出力のクエリに関するページを参照してください。

起動ログを表示するには、再度 get-logs を実行します。

トークンを使った認証については、オンライン エンドポイントへの認証に関するページを参照してください。

(省略可能) デプロイを更新する

コード、モデル、または環境を更新する場合は、YAML ファイルを更新し、次に az ml online-endpoint update コマンドを実行します。

注意

1 つの update コマンドでインスタンス数と他のモデル設定 (コード、モデル、または環境) を更新する場合、 最初にスケーリング操作が実行され、その後、他の更新が適用されます。 運用環境では、これらの操作を個別に実行することをお勧めします。

update の動作を理解するには:

  1. ファイル online/model-1/onlinescoring/score.py を開きます。

  2. init() 関数の最後の行を変更します。logging.info("Init complete") の後に、logging.info("Updated successfully") を追加してください。

  3. ファイルを保存します。

  4. 次のコマンドを実行します。

    az ml online-deployment update -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml
    

    注意

    YAML を使用した更新は宣言型です。 つまり YAML の変更は、基になる Azure Resource Manager リソース (エンドポイントとデプロイ) に反映されます。 この宣言型アプローチによって GitOps が促進されます。つまり、エンドポイントとデプロイに対する "すべて" の変更は YAML を経由することになります (instance_count も含む)。

    ヒント

    update コマンドでは、Azure CLI の --set パラメーターを使用して、YAML の属性をオーバーライドするか、"または" YAML ファイルを渡さずに特定の属性を設定することができます。 個別の属性に対する --set の使用は、特に開発およびテストのシナリオで利便性を発揮します。 たとえば、最初のデプロイの instance_count 値をスケールアップするのであれば、--set instance_count=2 フラグを使用できます。 ただし、YAML が更新されないため、この手法に GitOps を促進する効果はありません。

  5. init() 関数 (init() はエンドポイントが作成または更新されると実行される) に変更を加えたため、Updated successfully というメッセージがログに記録されます。 次を実行してログを取得します。

    az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
    

update コマンドは、ローカル デプロイでも動作します。 同じ az ml online-deployment update コマンドを --local フラグと共に使用します。

注意

上記は、インプレース ローリング更新の例です。

  • マネージド オンライン エンドポイントの場合、同じデプロイが一度に 20 ノードずつ、新しい構成で更新されます。つまり、デプロイに 10 ノードある場合、一度に 2 ノードずつ更新されます。
  • Kubernetes オンライン エンドポイントの場合、システムによって新しい構成で新しいデプロイ インスタンスが繰り返し作成され、古いデプロイ インスタンスが削除されます。
  • 運用環境の使用では、より安全な代替手段として、 ブルーグリーン デプロイを検討することができます。

(省略可能) 自動スケーリングを構成する

自動スケールでは、アプリケーションの負荷を処理するために適切な量のリソースが自動的に実行されます。 マネージド オンライン エンドポイントでは、Azure Monitor 自動スケーリング機能との統合によって、自動スケーリングをサポートします。 自動スケールを構成するには、「オンライン エンドポイントを自動スケーリングする方法」をご覧ください。

(省略可能) Azure Monitor を使用して SLA を監視する

メトリックを表示し、SLA に基づいてアラートを設定するには、オンライン エンドポイントの監視に関するページの手順を実行します。

(省略可能) Log Analytics と統合する

CLI の get-logs コマンドまたは SDK の get_logs メソッドで取得できるのは、自動的に選ばれたインスタンスからのログの最後の数百行だけです。 一方、Log Analytics は、ログを永続的に保存して分析する手段となります。 ログの使用の詳細については、オンライン エンドポイントの監視に関するページを参照してください。

スタジオでメールを構成する方法

ジョブ、オンライン エンドポイント、またはバッチ エンドポイントが完了したとき、または問題 (失敗、キャンセル) が発生した場合のメールの受け取りを始めるには、次の手順のようにします。

  1. Azure ML スタジオで、歯車アイコンを選んで設定に移動します。
  2. [電子メール通知] タブを選択します。
  3. 特定のイベントの電子メール通知を有効または無効に切り替えます。

Azure ML スタジオの設定のメール通知タブのスクリーンショット。

エンドポイントとデプロイを削除する

デプロイを今後使用する予定がない場合、次のコードを実行してデプロイを削除してください (エンドポイントと基になるすべてのデプロイが削除されます)。

az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait

次のステップ

次のステップとして、モデルの安全なロールアウトを試してください。

詳細については、次の記事を参照してください。