Schéma YAML dávkového nasazení CLI (v2)
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Zdrojové schéma JSON najdete na adrese https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json.
Poznámka:
Syntaxe YAML podrobná v tomto dokumentu je založená na schématu JSON pro nejnovější verzi rozšíření ML CLI v2. Tato syntaxe je zaručena pouze pro práci s nejnovější verzí rozšíření ML CLI v2. Schémata pro starší verze rozšíření najdete na adrese https://azuremlschemasprod.azureedge.net/.
Syntaxe YAML
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
$schema |
string | Schéma YAML. Pokud k vytvoření souboru YAML použijete rozšíření Azure Machine Learning VS Code, včetně $schema v horní části souboru, můžete vyvolat schéma a dokončování prostředků. |
||
name |
string | Povinný: Název nasazení | ||
description |
string | Popis nasazení | ||
tags |
objekt | Slovník značek pro nasazení | ||
endpoint_name |
string | Povinný: Název koncového bodu pro vytvoření nasazení v části | ||
type |
string | Povinný: Typ nasazení koupele. Používá se model pro nasazení modelů a pipeline pro nasazení součástí kanálu. Novinka ve verzi 1.7 |
model , pipeline |
model |
settings |
objekt | Konfigurace nasazení Informace o povolených hodnotách najdete v konkrétní referenční dokumentaci YAML pro komponentu modelu a kanálu. Novinka ve verzi 1.7 |
Tip
Klíč type
byl představen ve verzi 1.7 rozšíření rozhraní příkazového řádku a vyšší. Chcete-li plně podporovat zpětnou kompatibilitu, tato vlastnost je výchozí hodnota model
. Pokud to ale explicitně není uvedeno, klíč settings
se nevynucuje a všechny vlastnosti nastavení nasazení modelu by měly být uvedené v kořenovém adresáři specifikace YAML.
Syntaxe YAML pro nasazení modelů
Pokud type: model
se vynutí následující syntaxe:
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
model |
řetězec nebo objekt | Povinný: Model, který se má použít pro nasazení. Tato hodnota může být odkazem na existující model verze v pracovním prostoru nebo specifikace vloženého modelu. Pokud chcete odkazovat na existující model, použijte azureml:<model-name>:<version> syntaxi. Pokud chcete definovat vložený model, postupujte podle schématu modelu. Osvědčeným postupem pro produkční scénáře je vytvořit model samostatně a odkazovat na něj zde. |
||
code_configuration |
objekt | Konfigurace logiky bodování kódu Tato vlastnost není vyžadována, pokud je váš model ve formátu MLflow. |
||
code_configuration.code |
string | Místní adresář, který obsahuje veškerý zdrojový kód Pythonu pro určení skóre modelu. | ||
code_configuration.scoring_script |
string | Soubor Pythonu ve výše uvedeném adresáři. Tento soubor musí mít init() funkci a run() funkci. init() Funkci použijte pro jakoukoli nákladnou nebo běžnou přípravu (například načtěte model do paměti). init() je volána pouze jednou na začátku procesu. Slouží run(mini_batch) k určení skóre každé položky. Hodnota mini_batch je seznam cest k souborům. Funkce run() by měla vrátit datový rámec pandas nebo pole. Každý vrácený prvek označuje jeden úspěšný spuštění vstupní prvek v objektu mini_batch . Další informace o tom, jak vytvořit bodovací skript, najdete v tématu Vysvětlení hodnoticího skriptu. |
||
environment |
řetězec nebo objekt | Prostředí, které se má použít pro nasazení. Tato hodnota může být odkazem na existující prostředí s verzí v pracovním prostoru nebo specifikaci vloženého prostředí. Tato vlastnost není vyžadována, pokud je váš model ve formátu MLflow. Pokud chcete odkazovat na existující prostředí, použijte azureml:<environment-name>:<environment-version> syntaxi. Pokud chcete definovat prostředí vložené, postupujte podle schématu prostředí. Osvědčeným postupem pro produkční scénáře je vytvořit prostředí samostatně a odkazovat na něj zde. |
||
compute |
string | Povinný: Název cílového výpočetního objektu pro spuštění dávkových úloh bodování Tato hodnota by měla být odkazem na existující výpočetní prostředky v pracovním prostoru pomocí azureml:<compute-name> syntaxe. |
||
resources.instance_count |
integer | Počet uzlů, které se mají použít pro každou dávkovou úlohu vyhodnocování. | 1 |
|
settings |
objekt | Konkrétní konfigurace nasazení modelu Změněno ve verzi 1.7. |
||
settings.max_concurrency_per_instance |
integer | Maximální počet paralelních scoring_script spuštění na instanci. |
1 |
|
settings.error_threshold |
integer | Počet selhání souborů, které by se měly ignorovat. Pokud počet chyb pro celý vstup překročí tuto hodnotu, úloha dávkového vyhodnocování se ukončí. error_threshold je určena pro celý vstup, nikoli pro jednotlivé mini dávky. Pokud tento parametr vynecháte, je povolený libovolný počet selhání souborů bez ukončení úlohy. |
-1 |
|
settings.logging_level |
string | Úroveň podrobností protokolu. | warning , , info debug |
info |
settings.mini_batch_size |
integer | Počet souborů, které code_configuration.scoring_script může zpracovat v jednom run() volání. |
10 |
|
settings.retry_settings |
objekt | Opakujte nastavení pro vyhodnocování jednotlivých mini dávek. | ||
settings.retry_settings.max_retries |
integer | Maximální počet opakování pro minidávku selhání nebo vypršení časového limitu. | 3 |
|
settings.retry_settings.timeout |
integer | Časový limit v sekundách pro bodování jedné mini dávky. Používejte větší hodnoty, pokud je velikost mini dávky větší nebo je model nákladnější pro spuštění. | 30 |
|
settings.output_action |
string | Určuje, jak se má výstup uspořádat do výstupního souboru. Použijte summary_only , pokud generujete výstupní soubory, jak je uvedeno v části Přizpůsobení výstupů v nasazení modelu. Použijte append_row , pokud vracíte předpovědi jako součást run() příkazu funkce return . |
append_row , summary_only |
append_row |
settings.output_file_name |
string | Název výstupního souboru dávkového bodování | predictions.csv |
|
settings.environment_variables |
objekt | Slovník párů klíč-hodnota proměnné prostředí, které se nastaví pro každou dávkovou úlohu bodování. |
Syntaxe YAML pro nasazení součástí kanálu
Pokud type: pipeline
se vynutí následující syntaxe:
Klíč | Typ | Popis | Povolené hodnoty | Default value |
---|---|---|---|---|
component |
řetězec nebo objekt | Povinný: Komponenta kanálu použitá pro nasazení. Tato hodnota může být odkazem na existující komponentu kanálu verze v pracovním prostoru nebo v registru nebo specifikaci vloženého kanálu. Pokud chcete odkazovat na existující komponentu azureml:<component-name>:<version> , použijte syntaxi. Pokud chcete definovat vloženou součást kanálu, postupujte podle schématu součásti kanálu. Jako osvědčený postup pro produkční scénáře byste měli vytvořit komponentu samostatně a odkazovat na ni zde. Novinka ve verzi 1.7 |
||
settings |
objekt | Výchozí nastavení pro úlohu kanálu Viz Atributy klíče nastavení pro sadu konfigurovatelných vlastností. Novinka ve verzi 1.7 |
Poznámky
Příkazy az ml batch-deployment
je možné použít ke správě dávkových nasazení služby Azure Machine Learning.
Příklady
Příklady jsou k dispozici v příkladech v úložišti GitHub. Na některé z nich se odkazuje níže:
YAML: Nasazení modelu MLflow
Nasazení modelu obsahující model MLflow, který nevyžaduje označení code_configuration
nebo environment
:
$schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost-mlflow
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier-mlflow@latest
compute: azureml:batch-cluster
resources:
instance_count: 2
settings:
max_concurrency_per_instance: 2
mini_batch_size: 2
output_action: append_row
output_file_name: predictions.csv
retry_settings:
max_retries: 3
timeout: 300
error_threshold: -1
logging_level: info
YAML: Nasazení vlastního modelu pomocí hodnoticího skriptu
Nasazení modelu označující skript bodování, který se má použít, a prostředí:
$schema: https://azuremlschemas.azureedge.net/latest/modelBatchDeployment.schema.json
name: mnist-torch-dpl
description: A deployment using Torch to solve the MNIST classification dataset.
endpoint_name: mnist-batch
type: model
model:
name: mnist-classifier-torch
path: model
code_configuration:
code: code
scoring_script: batch_driver.py
environment:
name: batch-torch-py38
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
conda_file: environment/conda.yaml
compute: azureml:batch-cluster
resources:
instance_count: 1
settings:
max_concurrency_per_instance: 2
mini_batch_size: 10
output_action: append_row
output_file_name: predictions.csv
retry_settings:
max_retries: 3
timeout: 30
error_threshold: -1
logging_level: info
YAML: Nasazení starší verze modelu
Pokud atribut type
není uveden v YAML, je odvozeno nasazení modelu. Klíč settings
však nebude k dispozici a vlastnosti by měly být umístěny v kořenovém adresáři YAML, jak je uvedeno v tomto příkladu. Důrazně doporučujeme vždy zadat vlastnost type
.
$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost-mlflow
description: A heart condition classifier based on XGBoost
model: azureml:heart-classifier-mlflow@latest
compute: azureml:batch-cluster
resources:
instance_count: 2
max_concurrency_per_instance: 2
mini_batch_size: 2
output_action: append_row
output_file_name: predictions.csv
retry_settings:
max_retries: 3
timeout: 300
error_threshold: -1
logging_level: info
YAML: Nasazení součásti kanálu
Jednoduché nasazení komponenty kanálu:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json
name: hello-batch-dpl
endpoint_name: hello-pipeline-batch
type: pipeline
component: azureml:hello_batch@latest
settings:
default_compute: batch-cluster