YAML-schema voor beheerde online implementatie met CLI (v2)

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)

Het JSON-bronschema vindt u op https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json.

Notitie

De YAML-syntaxis die in dit document wordt beschreven, is gebaseerd op het JSON-schema voor de nieuwste versie van de ML CLI v2-extensie. Deze syntaxis werkt gegarandeerd alleen met de nieuwste versie van de ML CLI v2-extensie. U vindt de schema's voor oudere extensieversies op https://azuremlschemasprod.azureedge.net/.

YAML-syntaxis

Key Type Description Toegestane waarden Default value
$schema tekenreeks Het YAML-schema. Als u de Azure Machine Learning VS Code-extensie gebruikt om het YAML-bestand te ontwerpen, inclusief $schema bovenaan het bestand, kunt u schema- en resourcevoltooiingen aanroepen.
name tekenreeks Vereist. Naam van de implementatie.

Hier worden naamgevingsregels gedefinieerd.
description tekenreeks Beschrijving van de implementatie.
tags object Woordenlijst met tags voor de implementatie.
endpoint_name tekenreeks Vereist. De naam van het eindpunt voor het maken van de implementatie onder.
model tekenreeks of object Het model dat moet worden gebruikt voor de implementatie. Deze waarde kan een verwijzing zijn naar een bestaand versiemodel in de werkruimte of een inline modelspecificatie.

Als u naar een bestaand model wilt verwijzen, gebruikt u de azureml:<model-name>:<model-version> syntaxis.

Als u een model inline wilt definiëren, volgt u het modelschema.

Als best practice voor productiescenario's moet u het model afzonderlijk maken en hiernaar verwijzen.

Dit veld is optioneel voor aangepaste containerimplementatiescenario's .
model_mount_path tekenreeks Het pad om het model te koppelen in een aangepaste container. Alleen van toepassing op aangepaste containerimplementatiescenario's . Als het model veld is opgegeven, wordt het gekoppeld aan dit pad in de container.
code_configuration object Configuratie voor de scorecodelogica.

Dit veld is optioneel voor aangepaste containerimplementatiescenario's .
code_configuration.code tekenreeks Lokaal pad naar de broncodemap voor het scoren van het model.
code_configuration.scoring_script tekenreeks Relatief pad naar het scorebestand in de broncodemap.
environment_variables object Woordenlijst van sleutel-waardeparen van omgevingsvariabelen die moeten worden ingesteld in de implementatiecontainer. U kunt deze omgevingsvariabelen openen vanuit uw scorescripts.
environment tekenreeks of object Vereist. De omgeving die moet worden gebruikt voor de implementatie. Deze waarde kan een verwijzing zijn naar een bestaande versieomgeving in de werkruimte of een inline-omgevingsspecificatie.

Als u naar een bestaande omgeving wilt verwijzen, gebruikt u de azureml:<environment-name>:<environment-version> syntaxis.

Als u een omgeving inline wilt definiëren, volgt u het omgevingsschema.

Als best practice voor productiescenario's moet u de omgeving afzonderlijk maken en hiernaar verwijzen.
instance_type tekenreeks Vereist. De VM-grootte die moet worden gebruikt voor de implementatie. Zie de lijst met beheerde online-eindpunten voor SKU's voor de lijst met ondersteunde grootten.
instance_count geheel getal Vereist. Het aantal exemplaren dat moet worden gebruikt voor de implementatie. Geef de waarde op op basis van de workload die u verwacht. Voor hoge beschikbaarheid raadt Microsoft u aan deze ten minste 3in te stellen op .

instance_count kan worden bijgewerkt nadat de implementatie is gemaakt met behulp van az ml online-deployment update de opdracht.

We reserveren een extra 20% voor het uitvoeren van upgrades. Zie quotatoewijzing voor virtuele machines voor meer informatie voor implementatie.
app_insights_enabled boolean Of u integratie wilt inschakelen met het Azure-toepassing Insights-exemplaar dat is gekoppeld aan uw werkruimte. false
scale_settings object De schaalinstellingen voor de implementatie. Momenteel wordt alleen het default schaaltype ondersteund, dus u hoeft deze eigenschap niet op te geven.

Met dit default schaaltype kunt u het aantal exemplaren handmatig omhoog en omlaag schalen na het maken van de implementatie door de instance_count eigenschap bij te werken of een beleid voor automatisch schalen te maken.
scale_settings.type tekenreeks Het schaaltype. default default
data_collector object Instellingen voor gegevensverzameling voor de implementatie. Zie DataCollector voor de set configureerbare eigenschappen.
request_settings object Scoreaanvraaginstellingen voor de implementatie. Zie Aanvraag Instellingen voor de set configureerbare eigenschappen.
liveness_probe object Instellingen voor livenesstest voor het regelmatig controleren van de status van de container. Zie Test Instellingen voor de set configureerbare eigenschappen.
readiness_probe object Instellingen voor gereedheidstests om te valideren of de container gereed is om verkeer te verwerken. Zie Test Instellingen voor de set configureerbare eigenschappen.
egress_public_network_access tekenreeks Opmerking: deze sleutel is van toepassing wanneer u de verouderde netwerkisolatiemethode gebruikt om uitgaande communicatie voor een implementatie te beveiligen. We raden u ten zeerste aan uitgaande communicatie te beveiligen voor implementaties met behulp van een door een werkruimte beheerd VNet .

Met deze vlag wordt de implementatie beveiligd door de communicatie tussen de implementatie en de Azure-resources te beperken die door de implementatie worden gebruikt. Ingesteld om ervoor te disabled zorgen dat het downloaden van het model, de code en de installatiekopieën die nodig zijn voor uw implementatie, worden beveiligd met een privé-eindpunt. Deze vlag is alleen van toepassing op beheerde online-eindpunten.
enabled, disabled enabled

Aanvraag Instellingen

Key Type Description Default value
request_timeout_ms geheel getal De time-out voor scoren in milliseconden. Houd er rekening mee dat de toegestane maximumwaarde milliseconden is 180000 . Zie limieten voor online-eindpunten voor meer informatie. 5000
max_concurrent_requests_per_instance geheel getal Het maximum aantal gelijktijdige aanvragen per exemplaar dat is toegestaan voor de implementatie.

Opmerking: als u Azure Machine Learning-deductieserver of Azure Machine Learning-deductieinstallatiekopieën gebruikt, moet uw model zijn geconfigureerd om gelijktijdige aanvragen af te handelen. Hiervoor geeft u door WORKER_COUNT: <int> als een omgevingsvariabele. Zie Azure Machine Learning-deductieserverparameters voor meer informatie over WORKER_COUNT

Opmerking: Stel dit in op het aantal aanvragen dat uw model gelijktijdig op één knooppunt kan verwerken. Als u deze waarde hoger instelt dan de werkelijke gelijktijdigheid van uw model, kan dit leiden tot hogere latenties. Als u deze waarde te laag instelt, kan dit leiden tot minder gebruikte knooppunten. Het instellen van te laag kan er ook toe leiden dat aanvragen worden geweigerd met een HTTP-statuscode van 429, omdat het systeem ervoor kiest om snel te mislukken. Zie Problemen met online-eindpunten oplossen: HTTP-statuscodes voor meer informatie.
1
max_queue_wait_ms geheel getal (Afgeschaft) De maximale tijdsduur in milliseconden van een aanvraag blijft in de wachtrij. (Verhoog nu request_timeout_ms om rekening te houden met eventuele netwerk-/wachtrijvertragingen) 500

Test Instellingen

Key Type Description Default value
initial_delay geheel getal Het aantal seconden nadat de container is gestart voordat de test wordt gestart. Minimumwaarde is 1. 10
period geheel getal Hoe vaak (in seconden) de test moet worden uitgevoerd. 10
timeout geheel getal Het aantal seconden waarna er een time-out optreedt voor de test. Minimumwaarde is 1. 2
success_threshold geheel getal De minimale opeenvolgende successen voor de test worden beschouwd als geslaagd nadat deze is mislukt. De minimumwaarde is 1 voor de gereedheidstest. De waarde voor de livenesstest is opgelost als 1. 1
failure_threshold geheel getal Wanneer een test mislukt, probeert failure_threshold het systeem tijden voordat het opgeeft. Als u een livenesstest opgeeft, wordt de container opnieuw opgestart. In het geval van een gereedheidstest wordt de container gemarkeerd als Ongelezen. Minimumwaarde is 1. 30

DataCollector

Key Type Description Default value
sampling_rate zwevend Het percentage dat wordt weergegeven als een decimaal percentage van de gegevens die moeten worden verzameld. Een waarde van 1,0 vertegenwoordigt bijvoorbeeld het verzamelen van 100% van de gegevens. 1.0
rolling_rate tekenreeks De snelheid voor het partitioneren van de gegevens in de opslag. Waarde kan zijn: Minuut, Uur, Dag, Maand, Jaar. Hour
collections object Set afzonderlijke collection_names en hun respectieve instellingen voor deze implementatie.
collections.<collection_name> object Logische groepering van productiedeductiegegevens die moeten worden verzameld (voorbeeld: model_inputs). Er zijn twee gereserveerde namen: request en response, die respectievelijk overeenkomen met het verzamelen van nettoladinggegevens voor HTTP-aanvragen en antwoorden. Alle andere namen zijn willekeurig en definieerbaar door de gebruiker.

Opmerking: elk collection_name moet overeenkomen met de naam van het Collector object dat in de implementatie score.py wordt gebruikt om de productiedeductiegegevens te verzamelen. Zie Gegevens verzamelen van modellen in productie voor meer informatie over het verzamelen van nettoladinggegevens en het verzamelen van gegevens met de meegeleverde Python SDK.
collections.<collection_name>.enabled boolean Hiermee wordt aangegeven of het verzamelen van gegevens voor de opgegeven gegevens moet worden ingeschakeld collection_name. 'False''
collections.<collection_name>.data.name tekenreeks De naam van de gegevensasset die moet worden geregistreerd bij de verzamelde gegevens. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path tekenreeks Het volledige Azure Machine Learning-gegevensarchiefpad waarin de verzamelde gegevens moeten worden geregistreerd als een gegevensasset. azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name>
collections.<collection_name>.data.version geheel getal De versie van de gegevensasset die moet worden geregistreerd bij de verzamelde gegevens in Blob Storage. 1

Opmerkingen

De az ml online-deployment opdrachten kunnen worden gebruikt voor het beheren van beheerde onlineimplementaties van Azure Machine Learning.

Voorbeelden

Voorbeelden zijn beschikbaar in de GitHub-voorbeeldenopslagplaats. Hieronder ziet u een aantal.

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-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: door het systeem toegewezen identiteit

$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: door de gebruiker toegewezen identiteit

$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

Volgende stappen