Schéma YAML spravovaného online nasazení rozhraní příkazového řádku (v2)
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
Zdrojové schéma JSON najdete na adrese https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.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í Tady jsou definována pravidla pojmenování. |
||
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 | ||
model |
řetězec nebo objekt | 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>:<model-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. Toto pole je volitelné pro vlastní scénáře nasazení kontejneru. |
||
model_mount_path |
string | Cesta k připojení modelu ve vlastním kontejneru. Platí pouze pro vlastní scénáře nasazení kontejnerů. model Pokud je pole zadané, připojí se k této cestě v kontejneru. |
||
code_configuration |
objekt | Konfigurace logiky bodování kódu Toto pole je volitelné pro vlastní scénáře nasazení kontejneru. |
||
code_configuration.code |
string | Místní cesta k adresáři zdrojového kódu pro bodování modelu. | ||
code_configuration.scoring_script |
string | Relativní cesta k souboru bodování v adresáři zdrojového kódu. | ||
environment_variables |
objekt | Slovník párů klíč-hodnota proměnné prostředí, které se nastaví v kontejneru nasazení. K těmto proměnným prostředí můžete přistupovat z hodnoticích skriptů. | ||
environment |
řetězec nebo objekt | Povinný: 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í. 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. |
||
instance_type |
string | Povinný: Velikost virtuálního počítače, která se má použít pro nasazení. Seznam podporovaných velikostí najdete v seznamu skladových položek spravovaných online koncových bodů. | ||
instance_count |
integer | Povinný: Početinstancích Zadejte hodnotu na základě očekávané úlohy. Pro zajištění vysoké dostupnosti společnost Microsoft doporučuje ji nastavit alespoň 3 na hodnotu . instance_count lze aktualizovat po vytvoření nasazení pomocí az ml online-deployment update příkazu. Pro provádění upgradů si vyhrazujeme dalších 20 %. Další informace najdete v tématu Přidělení kvóty virtuálních počítačů pro nasazení. |
||
app_insights_enabled |
boolean | Jestli chcete povolit integraci s instancí Aplikace Azure lication Insights přidruženou k vašemu pracovnímu prostoru. | false |
|
scale_settings |
objekt | Nastavení škálování pro nasazení. V současné době se podporuje pouze default typ škálování, takže tuto vlastnost nemusíte zadávat. S tímto default typem škálování můžete buď ručně vertikálně navýšit nebo snížit kapacitu instance po vytvoření nasazení aktualizací instance_count vlastnosti, nebo vytvořit zásadu automatického škálování. |
||
scale_settings.type |
string | Typ měřítka. | default |
default |
data_collector |
objekt | Nastavení shromažďování dat pro nasazení Viz DataCollector pro sadu konfigurovatelných vlastností. | ||
request_settings |
objekt | Nastavení žádosti o bodování pro nasazení Viz RequestSettings pro sadu konfigurovatelných vlastností. | ||
liveness_probe |
objekt | Nastavení sondy aktivity pro pravidelné monitorování stavu kontejneru Viz ProbeSettings pro sadu konfigurovatelných vlastností. | ||
readiness_probe |
objekt | Nastavení testu připravenosti pro ověřování, pokud je kontejner připravený k obsluhování provozu. Viz ProbeSettings pro sadu konfigurovatelných vlastností. | ||
egress_public_network_access |
string | Poznámka: Tento klíč platí, pokud používáte starší metodu izolace sítě k zabezpečení odchozí komunikace pro nasazení. Důrazně doporučujeme zabezpečit odchozí komunikaci pro nasazení pomocí virtuální sítě spravované pracovním prostorem. Tento příznak zabezpečí nasazení omezením komunikace mezi nasazením a prostředky Azure, které ho používají. Nastavte, aby disabled se zajistilo, že stahování modelu, kódu a imagí potřebných vaším nasazením je zabezpečené pomocí privátního koncového bodu. Tento příznak platí jenom pro spravované online koncové body. |
enabled , disabled |
enabled |
RequestSettings
Klíč | Typ | Popis | Default value |
---|---|---|---|
request_timeout_ms |
integer | Časový limit bodování v milisekundách. Všimněte si, že maximální povolená hodnota je 180000 milisekund. Další informace najdete v omezeních pro online koncové body . |
5000 |
max_concurrent_requests_per_instance |
integer | Maximální počet souběžných požadavků na instanci povolenou pro nasazení. Poznámka: Pokud používáte Azure Machine Learning Inference Server nebo image odvozování azure Machine Learning, musí být váš model nakonfigurovaný tak, aby zpracovával souběžné požadavky. Uděláte to tak, že předáte WORKER_COUNT: <int> proměnnou prostředí. Další informace o WORKER_COUNT parametrech serveru odvozování ve službě Azure Machine Learning Poznámka: Nastavte na počet požadavků, které může model zpracovávat souběžně na jednom uzlu. Nastavení této hodnoty vyšší, než je skutečná souběžnost modelu, může vést k vyšší latenci. Nastavení této hodnoty příliš nízké může vést k podu využití uzlů. Příliš nízké nastavení může také vést k odmítnutí požadavků se stavovým kódem HTTP 429, protože systém se rozhodne rychle selhat. Další informace najdete v tématu Řešení potíží s online koncovými body: stavové kódy HTTP. |
1 |
max_queue_wait_ms |
integer | (Zastaralé) Maximální doba v milisekundách zůstane požadavek ve frontě. (Nyní zvyšte úroveň request_timeout_ms , aby se zohlednily případné zpoždění sítě nebo fronty) |
500 |
ProbeSettings
Klíč | Typ | Popis | Default value |
---|---|---|---|
initial_delay |
integer | Počet sekund po spuštění kontejneru před zahájením sondy. Minimální hodnota je 1 . |
10 |
period |
integer | Jak často (v sekundách) provést sondu | 10 |
timeout |
integer | Počet sekund, po kterých vyprší časový limit sondy. Minimální hodnota je 1 . |
2 |
success_threshold |
integer | Minimální po sobě jdoucí úspěch sondy, které se mají považovat za úspěšné po selhání. Minimální hodnota je určená 1 pro sondu připravenosti. Hodnota sondy živé aktivity je pevná jako 1 . |
1 |
failure_threshold |
integer | Když sonda selže, systém zkusí failure_threshold časy, než se vzdá. Když se v případě sondy aktivity vzdáte, znamená to, že se kontejner restartuje. V případě testu připravenosti se kontejner označí jako nepřečtený. Minimální hodnota je 1 . |
30 |
DataCollector
Klíč | Typ | Popis | Default value |
---|---|---|---|
sampling_rate |
float (číslo s plovoucí řádovou čárkou) | Procento, reprezentované jako desetinná sazba dat, která se mají shromažďovat. Například hodnota 1,0 představuje shromažďování 100 % dat. | 1.0 |
rolling_rate |
string | Rychlost rozdělení dat do úložiště. Hodnota může být: Minute, Hour, Day, Month, Year. | Hour |
collections |
objekt | Sada jednotlivých collection_name s a jejich odpovídajících nastavení pro toto nasazení |
|
collections.<collection_name> |
objekt | Logické seskupení produkčních dat odvozování, která se mají shromažďovat (například: model_inputs ). Existují dva rezervované názvy: request a response které odpovídají shromažďování dat požadavků HTTP a datové části odpovědi. Všechna ostatní jména jsou libovolná a definovatelná uživatelem. Poznámka: Každý z nich collection_name by měl odpovídat názvu objektu Collector použitého v nasazení score.py ke shromažďování dat pro odvozování v produkčním prostředí. Další informace o shromažďování dat datové části a shromažďování dat pomocí poskytnuté sady Python SDK najdete v tématu Shromažďování dat z modelů v produkčním prostředí. |
|
collections.<collection_name>.enabled |
boolean | Zda povolit shromažďování dat pro zadané collection_name . |
'False'' |
collections.<collection_name>.data.name |
string | Název datového prostředku, který se má zaregistrovat ke shromážděným datům. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
string | Úplná cesta úložiště dat služby Azure Machine Learning, kde by se shromážděná data měla zaregistrovat jako datový prostředek. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
integer | Verze datového prostředku, který se má zaregistrovat u shromážděných dat v úložišti objektů blob. | 1 |
Poznámky
Příkazy az ml online-deployment
se dají použít ke správě online nasazení spravovaných službou Azure Machine Learning.
Příklady
Příklady jsou k dispozici v příkladech v úložišti GitHub. Níže je uvedeno několik.
YAML: základní
$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.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: green
endpoint_name: my-endpoint
model:
path: ../../model-2/model/
code_configuration:
code: ../../model-2/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-2/environment/conda.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
YAML: identita přiřazená systémem
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score_managedidentity.py
environment:
conda_file: ../../model-1/environment/conda-managedidentity.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
STORAGE_ACCOUNT_NAME: "storage_place_holder"
STORAGE_CONTAINER_NAME: "container_place_holder"
FILE_NAME: "file_place_holder"
YAML: identita přiřazená uživatelem
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score_managedidentity.py
environment:
conda_file: ../../model-1/environment/conda-managedidentity.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
STORAGE_ACCOUNT_NAME: "storage_place_holder"
STORAGE_CONTAINER_NAME: "container_place_holder"
FILE_NAME: "file_place_holder"
UAI_CLIENT_ID: "uai_client_id_place_holder"
YAML: data_collector
$schema: http://azureml/sdk-2-0/OnlineDeployment.json
endpoint_name: my_endpoint
name: blue
model: azureml:my-model-m1:1
environment: azureml:env-m1:1
data_collector:
collections:
model_inputs:
enabled: 'True'
model_outputs:
enabled: 'True'
$schema: http://azureml/sdk-2-0/OnlineDeployment.json
endpoint_name: my_endpoint
name: blue
model: azureml:my-model-m1:1
environment: azureml:env-m1:1
data_collector:
collections:
request:
enabled: 'True'
data:
name: my_request_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/request
version: 1
response:
enabled: 'True'
data:
name: my_response_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/response
version: 1
model_inputs:
enabled: 'True'
data:
name: my_model_inputs_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_inputs
version: 1
model_outputs:
enabled: 'True'
data:
name: my_model_outputs_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_outputs
version: 1