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ň 3na 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_COUNTparametrech 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_names 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 responsekteré 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

Další kroky