Sdílet prostřednictvím


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: modelse 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, , infodebug 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: pipelinese 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

Další kroky