Dela via


YAML-schema för hanterad onlinedistribution CLI (v2)

APPLIES TO:Azure CLI ml extension v2 (current)

JSON-källschemat finns på https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json.

Note

YAML-syntaxen som beskrivs i det här dokumentet baseras på JSON-schemat för den senaste versionen av ML CLI v2-tillägget. Den här syntaxen är garanterad att endast fungera med den senaste versionen av ML CLI v2-tillägget. Du hittar scheman för äldre tilläggsversioner på https://azuremlschemasprod.azureedge.net/.

YAML syntax

Key Type Description Allowed values Default value
$schema string YAML-schemat. Om du använder Azure Machine Learning VS Code-tillägget för att skapa YAML-filen, inklusive $schema längst upp i filen, kan du anropa schema- och resursavslutningar.
name string Required. Namn på distributionen.

Naming rules are defined here.
description string Beskrivning av distributionen.
tags object Ordlista med taggar för distributionen.
endpoint_name string Required. Namnet på slutpunkten som distributionen ska skapas under.
model sträng eller objekt Den modell som ska användas för distributionen. Det här värdet kan antingen vara en referens till en befintlig version av modellen på arbetsytan eller en infogad modellspecifikation.

Om du vill referera till en befintlig modell använder du syntaxen azureml:<model-name>:<model-version> .

To define a model inline, follow the Model schema.

Som bästa praxis för produktionsscenarier bör du skapa modellen separat och referera till den här.

Det här fältet är valfritt för scenarier för anpassad containerdistribution .
model_mount_path string Sökvägen för att montera modellen i en anpassad container. Gäller endast för scenarier för distribution av anpassade containrar , där miljön har inference_config konfigurerats. Om fältet model anges monteras det på den här sökvägen i containern.
code_configuration object Konfiguration för bedömningskodlogik.

Det här fältet är valfritt för scenarier för anpassad containerdistribution .
code_configuration.code string Lokal sökväg till källkodskatalogen för bedömning av modellen.
code_configuration.scoring_script string Relativ sökväg till bedömningsfilen i källkodskatalogen.
environment_variables object Ordlista över nyckel/värde-par för miljövariabler som ska anges i distributionscontainern. Du kan komma åt dessa miljövariabler från dina bedömningsskript.
environment sträng eller objekt Required. Den miljö som ska användas för distributionen. Det här värdet kan antingen vara en referens till en befintlig version av miljön på arbetsytan eller en infogad miljöspecifikation.

Om du vill referera till en befintlig miljö använder du syntaxen azureml:<environment-name>:<environment-version> .

To define an environment inline, follow the Environment schema.

Som bästa praxis för produktionsscenarier bör du skapa miljön separat och referera till den här.
instance_type string Required. Den VM-storlek som ska användas för distributionen. Listan över storlekar som stöds finns i SKU-listan för hanterade onlineslutpunkter.
instance_count integer Required. Antalet instanser som ska användas för distributionen. Ange värdet baserat på den arbetsbelastning du förväntar dig. För hög tillgänglighet rekommenderar Microsoft att du ställer in den på minst 3.

instance_count kan uppdateras när distributionen har skapats med hjälp av az ml online-deployment update kommandot .

Vi reserverar ytterligare 20 % för att utföra uppgraderingar. Mer information finns i kvotallokering för virtuella datorer för distribution.
app_insights_enabled boolean Om du vill aktivera integrering med Azure Application Insights-instansen som är associerad med din arbetsyta. false
scale_settings object Skalningsinställningarna för distributionen. För närvarande stöds endast skalningstypen default , så du behöver inte ange den här egenskapen.

With this default scale type, you can either manually scale the instance count up and down after deployment creation by updating the instance_count property, or create an autoscaling policy.
scale_settings.type string Skalningstypen. default default
data_collector object Inställningar för datainsamling för distributionen. See DataCollector for the set of configurable properties.
request_settings object Bedömningsinställningar för begäran för distributionen. See RequestSettings for the set of configurable properties.
liveness_probe object Inställningar för livenessavsökning för att regelbundet övervaka containerns hälsotillstånd. See ProbeSettings for the set of configurable properties.
readiness_probe object Inställningar för beredskapsavsökning för validering om containern är redo att hantera trafik. See ProbeSettings for the set of configurable properties.
egress_public_network_access string Note: This key is applicable when you use the legacy network isolation method to secure outbound communication for a deployment. Vi rekommenderar starkt att du skyddar utgående kommunikation för distributioner med hjälp av ett arbetsytehanterat virtuellt nätverk i stället.

Den här flaggan skyddar distributionen genom att begränsa kommunikationen mellan distributionen och de Azure-resurser som används av den. Ange för att disabled säkerställa att nedladdningen av modellen, koden och avbildningarna som krävs av distributionen skyddas med en privat slutpunkt. Den här flaggan gäller endast för hanterade onlineslutpunkter.
enabled, disabled enabled

RequestSettings

Key Type Description Default value
request_timeout_ms integer Tidsgränsen för bedömning i millisekunder. Observera att det högsta tillåtna värdet är 180000 millisekunder. Mer information finns i begränsningar för onlineslutpunkter . 5000
max_concurrent_requests_per_instance integer Det maximala antalet samtidiga begäranden per instans som tillåts för distributionen.

Note: If you're using Azure Machine Learning Inference Server or Azure Machine Learning Inference Images, your model must be configured to handle concurrent requests. Det gör du genom att skicka WORKER_COUNT: <int> som en miljövariabel. Mer information om WORKER_COUNTfinns i Azure Machine Learning-slutsatsdragningsserverparametrar

Note: Set to the number of requests that your model can process concurrently on a single node. Om du anger det här värdet högre än modellens faktiska samtidighet kan det leda till längre svarstider. Om du anger det här värdet för lågt kan det leda till underutnyttjade noder. Om du ställer in för lågt kan det också leda till att begäranden avvisas med en HTTP-statuskod på 429, eftersom systemet väljer att misslyckas snabbt. Mer information finns i Felsöka onlineslutpunkter: HTTP-statuskoder.
1
max_queue_wait_ms integer (Inaktuell) Den maximala tiden i millisekunder som en begäran kommer att stanna i kön. (Öka nu request_timeout_ms till konto för eventuella nätverks-/köfördröjningar) 500

ProbeSettings

Key Type Description Default value
initial_delay integer Antalet sekunder efter att containern har startats innan avsökningen initieras. Minimivärdet är 1. 10
period integer Hur ofta (i sekunder) avsökningen ska utföras. 10
timeout integer Antalet sekunder efter vilken avsökningen överskrider tidsgränsen. Minimivärdet är 1. 2
success_threshold integer Minsta lyckade resultat i följd för att avsökningen ska anses vara lyckad efter att ha misslyckats. Minsta värde är 1 för beredskapsavsökning. Värdet för liveness-avsökningen har åtgärdats som 1. 1
failure_threshold integer När en avsökning misslyckas försöker systemet gånger failure_threshold innan det ger upp. Om du ger upp vid en liveness-avsökning kommer containern att startas om. När det gäller en beredskapsavsökning markeras containern Som oläst. Minimivärdet är 1. 30

DataCollector

Key Type Description Default value
sampling_rate float Procentandelen, som representeras som ett decimaltal, för data som ska samlas in. Till exempel representerar värdet 1,0 att samla in 100 % av data. 1.0
rolling_rate string Hastigheten för partitionering av data i lagringen. Värdet kan vara: Minut, Timme, Dag, Månad, År. Hour
collections object Uppsättning enskilda collection_nameoch deras respektive inställningar för den här distributionen.
collections.<collection_name> object Logisk gruppering av produktionsinferensdata att samla in (exempel: model_inputs). Det finns två reserverade namn: request och response, som motsvarar http-begärande- respektive svarsnyttolastens datainsamling. Alla andra namn är godtyckliga och kan definieras av användaren.

Note: Each collection_name should correspond to the name of the Collector object used in the deployment score.py to collect the production inference data. Mer information om insamling av nyttolastdata och datainsamling med den angivna Python-SDK: t finns i Samla in data från modeller i produktion.
collections.<collection_name>.enabled boolean Om du vill aktivera datainsamling för den angivna collection_name. 'False''
collections.<collection_name>.data.name string Namnet på den datatillgång som ska registreras med de insamlade data. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path string Den fullständiga Azure Machine Learning-datalagersökvägen där insamlade data ska registreras som en datatillgång. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version integer Den version av datatillgången som ska registreras med insamlade data i Blob Storage. 1

Remarks

Kommandona az ml online-deployment kan användas för att hantera azure machine learning-hanterade onlinedistributioner.

Examples

Exempel är tillgängliga i GitHub-exempellagringsplatsen. Flera visas nedan.

YAML: basic

$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-ubuntu22.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-ubuntu22.04:latest
instance_type: Standard_DS3_v2
instance_count: 1

YAML: systemtilldelad identitet

$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-ubuntu22.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: användartilldelad identitet

$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-ubuntu22.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

Next steps