CLI (v2) Azure Arc 対応 Kubernetes オンライン デプロイ YAML スキーマ
適用対象: Azure CLI ml 拡張機能 v2 (現行)
ソース JSON スキーマは https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json にあります。
Note
このドキュメントで詳しく説明されている YAML 構文は、最新バージョンの ML CLI v2 拡張機能の JSON スキーマに基づいています。 この構文は、ML CLI v2 拡張機能の最新バージョンでのみ動作することが保証されています。 以前のバージョンの拡張機能のスキーマについては、https://azuremlschemasprod.azureedge.net/ でご確認いただけます。
YAML 構文
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
$schema |
string | YAML スキーマ。 Azure Machine Learning 用 VS Code 拡張機能を使用して YAML ファイルを作成する場合は、ファイルの先頭に $schema を含めることで、スキーマとリソースの入力候補を呼び出すことができます。 |
||
name |
string | 必須。 デプロイの名前。 名前付け規則はここで定義されています。 |
||
description |
string | デプロイの説明。 | ||
tags |
object | デプロイのタグの辞書。 | ||
endpoint_name |
string | 必須。 デプロイの作成先となるエンドポイントの名前。 | ||
model |
文字列またはオブジェクト | デプロイに使用するモデル。 この値は、ワークスペース内の既存のバージョン管理されたモデルへの参照またはインライン モデルの仕様のいずれかです。 既存のモデルを参照するには、 azureml:<model-name>:<model-version> 構文を使用します。 モデルをインラインで定義するには、モデル スキーマに従います。 運用シナリオのベスト プラクティスとして、モデルを個別に作成し、ここで参照します。 カスタム コンテナーのデプロイ シナリオでは、このフィールドは省略可能です。 |
||
model_mount_path |
string | カスタム コンテナーにモデルをマウントするためのパス。 カスタム コンテナーのデプロイ シナリオにのみ適用されます。 model フィールドが指定されている場合は、コンテナー内のこのパスにマウントされます。 |
||
code_configuration |
object | スコアリング コード ロジックの構成。 カスタム コンテナーのデプロイ シナリオでは、このフィールドは省略可能です。 |
||
code_configuration.code |
string | モデルのスコアリングに使用するソース コード ディレクトリへのローカル パス。 | ||
code_configuration.scoring_script |
string | ソース コード ディレクトリ内のスコアリング ファイルへの相対パス。 | ||
environment_variables |
object | デプロイ コンテナーで設定する環境変数のキーと値のペアの辞書。 これらの環境変数には、スコアリング スクリプトからアクセスできます。 | ||
environment |
文字列またはオブジェクト | 必須です。 デプロイに使用する環境。 この値は、ワークスペース内の既存のバージョン管理された環境への参照、またはインライン環境仕様のいずれかになります。 既存の環境を参照するには、 azureml:<environment-name>:<environment-version> 構文を使用します。 環境をインラインで定義するには、環境スキーマに従います。 運用シナリオのベスト プラクティスとして、環境を別途作成し、ここで参照することをお勧めします。 |
||
instance_type |
string | 推論ワークロードを配置するために使用されるインスタンスの種類。 省略した場合、推論ワークロードは、エンドポイントの compute フィールドで指定された Kubernetes クラスターの既定のインスタンスの種類に配置されます。 指定した場合、その選択したインスタンスの種類に推論ワークロードが配置されます。 Kubernetes クラスターのインスタンスの種類のセットは Kubernetes クラスター カスタム リソース定義 (CRD) を使用して構成されるため、Kubernetes コンピューティングをアタッチするための Azure Machine Learning YAML スキーマには含められません。詳細については、「Kubernetes インスタンスの種類を作成して選択する」を参照してください。 |
||
instance_count |
整数 | デプロイに使用するインスタンスの数。 予想されるワークロードに基づいて値を指定します。 このフィールドは、スケールの種類 default (scale_settings.type: default ) を使用している場合にのみ必要です。 instance_count は、az ml online-deployment update コマンドを使用して、デプロイの作成後に更新できます。 |
||
app_insights_enabled |
boolean | ワークスペースに関連付けられた Azure Application Insights インスタンスとの統合を有効にするかどうかを指定します。 | false |
|
scale_settings |
object | デプロイのスケール設定です。 サポートされるスケール設定には、default スケールの種類と target_utilization スケールの種類の 2 種類があります。 default スケールの種類 (scale_settings.type: default ) を使用すると、デプロイの作成後に instance_count プロパティを更新してインスタンス数を手動で増減させることができます。 スケールの種類 target_utilization (scale_settings.type: target_utilization ) を構成するには、構成可能なプロパティのセットについて「TargetUtilizationScaleSettings」を参照してください。 |
||
scale_settings.type |
string | スケールの種類。 | $ | target_utilization |
data_collector |
object | デプロイのデータ収集設定。 構成可能なプロパティのセットについては、「DataCollector」を参照してください。 | ||
request_settings |
object | デプロイのスコアリング要求の設定。 構成可能なプロパティのセットについては、RequestSettings を参照してください。 | ||
liveness_probe |
object | コンテナーの正常性を定期的に監視するための liveness probe の設定。 構成可能なプロパティのセットについては、ProbeSettings を参照してください。 | ||
readiness_probe |
object | コンテナーがトラフィックを処理する準備ができているかどうかを検証する readiness probe 設定。 構成可能なプロパティのセットについては、ProbeSettings を参照してください。 | ||
resources |
object | コンテナー リソースの要件。 | ||
resources.requests |
object | コンテナーに対するリソース要求。 構成可能なプロパティのセットについては、「ContainerResourceRequests」を参照してください。 | ||
resources.limits |
object | コンテナーのリソース制限。 構成可能なプロパティのセットについては、「ContainerResourceLimits」を参照してください。 |
RequestSettings
キー | Type | 説明 | 既定値 |
---|---|---|---|
request_timeout_ms |
整数 (integer) | スコアリングのタイムアウト (ミリ秒)。 | 5000 |
max_concurrent_requests_per_instance |
整数 (integer) | デプロイで許可されるインスタンスあたりの最大同時要求数。 この設定は、Microsoft テクニカル サポートまたは Azure Machine Learning チームのメンバーの指示がない限り、既定値から変更しないでください。 |
1 |
max_queue_wait_ms |
整数 (integer) | 要求がキューに残るミリ秒単位の最大時間。 | 500 |
ProbeSettings
キー | Type | 説明 | 既定値 |
---|---|---|---|
period |
整数 (integer) | プローブを実行する頻度 (秒単位)。 | 10 |
initial_delay |
整数 (integer) | コンテナーの起動後、プローブが開始されるまでの秒数。 最小値は 1 です。 |
10 |
timeout |
整数 (integer) | プローブがタイムアウトするまでの秒数。最小値は 1 です。 |
2 |
success_threshold |
整数 (integer) | 失敗した後、プローブが成功と見なされるために必要な最小連続成功数。 最小値は 1 です。 |
1 |
failure_threshold |
整数 (integer) | プローブが失敗した場合、システムは failure_threshold 回の試行を行った後、中断されます。 liveness probe の場合に中断されると、コンテナーが再起動されます。 readiness probe の場合は、コンテナーは Unready (準備が未完了) とマークされます。 最小値は 1 です。 |
30 |
TargetUtilizationScaleSettings
キー | Type | 説明 | 既定値 |
---|---|---|---|
type |
const | スケールの種類 | target_utilization |
min_instances |
整数 | 使用するインスタンスの最小数。 | 1 |
max_instances |
整数 | スケーリングするインスタンスの最大数。 | 1 |
target_utilization_percentage |
整数 | 自動スケーラーのターゲット CPU 使用率。 | 70 |
polling_interval |
整数 | 自動スケーラーがデプロイのスケーリングを試行する頻度 (秒単位)。 | 1 |
ContainerResourceRequests
キー | Type | 説明 |
---|---|---|
cpu |
string | コンテナーに要求されている CPU コアの数。 |
memory |
string | コンテナーに要求されているメモリ サイズ |
nvidia.com/gpu |
string | コンテナーに要求されている Nvidia GPU カードの数 |
ContainerResourceLimits
キー | Type | 説明 |
---|---|---|
cpu |
string | コンテナーの CPU コア数の制限。 |
memory |
string | コンテナーのメモリ サイズの制限。 |
nvidia.com/gpu |
string | コンテナーの Nvidia GPU カード数の制限 |
DataCollector
キー | Type | 説明 | 既定値 |
---|---|---|---|
sampling_rate |
float | 収集するデータの割合 (10 進数の割合として表されます)。 たとえば、値 1.0 は、データを 100% 収集することを表します。 | 1.0 |
rolling_rate |
string | ストレージ内のデータをパーティション分割する速度。 使用可能な値: Minute、Hour、Day、Month、Year。 | Hour |
collections |
object | 個々の collection_name と、このデプロイ用のそれぞれの設定のセット。 |
|
collections.<collection_name> |
object | 収集する運用推論データの論理的なグループ化 (例: model_inputs )。 予約名は request と response の 2 つがあり、それぞれ HTTP 要求と応答ペイロードのデータ収集に対応しています。 他のすべての名前は任意であり、ユーザーが定義できます。 注: 各 collection_name は、運用推論データを収集するために、デプロイ score.py で使用される Collector オブジェクトの名前と対応している必要があります。 提供されている Python SDK を使用したペイロード データ収集とデータ収集の詳細については、「運用環境のモデルからデータを収集する」を参照してください。 |
|
collections.<collection_name>.enabled |
boolean | 指定した collection_name に対してデータ収集を有効にするかどうか。 |
'False'' |
collections.<collection_name>.data.name |
string | 収集されたデータと共に登録するデータ資産の名前。 | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
string | 収集されたデータをデータ資産として登録する必要がある Azure Machine Learning データストアの完全パス。 | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
整数 | 収集されたデータと共に BLOB ストレージに登録されるデータ資産のバージョン。 | 1 |
注釈
az ml online-deployment
コマンドは、Azure Machine Learning Kubernetes オンライン デプロイを管理するために使用できます。
例
例は、GitHub リポジトリの例にあります。