Dela via


CLI (v2) Azure Arc-aktiverat YAML-schema för Kubernetes-onlinedistribution

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

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

Kommentar

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

Nyckel Typ Beskrivning Tillåtna värden Standardvärde
$schema sträng 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 sträng Obligatoriskt. Namn på distributionen.

Namngivningsregler definieras här.
description sträng Beskrivning av distributionen.
tags objekt Ordlista med taggar för distributionen.
endpoint_name sträng Obligatoriskt. 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> .

Om du vill definiera en modell infogad följer du modellschemat.

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 sträng Sökvägen för att montera modellen i en anpassad container. Gäller endast för scenarier för distribution av anpassade containrar. Om fältet model anges monteras det på den här sökvägen i containern.
code_configuration objekt Konfiguration för bedömningskodlogik.

Det här fältet är valfritt för scenarier för anpassad containerdistribution .
code_configuration.code sträng Lokal sökväg till källkodskatalogen för bedömning av modellen.
code_configuration.scoring_script sträng Relativ sökväg till bedömningsfilen i källkodskatalogen.
environment_variables objekt 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 Obligatoriskt. 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> .

Om du vill definiera en infogad miljö följer du miljöschemat.

Som bästa praxis för produktionsscenarier bör du skapa miljön separat och referera till den här.
instance_type sträng Den instanstyp som används för att placera inferensarbetsbelastningen. Om den utelämnas placeras slutsatsdragningsarbetsbelastningen på standardinstanstypen för Kubernetes-klustret som anges i slutpunktens compute fält. Om det anges placeras slutsatsdragningsarbetsbelastningen på den valda instanstypen.

Uppsättningen med instanstyper för ett Kubernetes-kluster konfigureras via Kubernetes-klustrets anpassade resursdefinition (CRD), därför ingår de inte i Azure Machine Learning YAML-schemat för att koppla Kubernetes-beräkning. Mer information finns i Skapa och välj Kubernetes-instanstyper.
instance_count integer Antalet instanser som ska användas för distributionen. Ange värdet baserat på den arbetsbelastning du förväntar dig. Det här fältet krävs bara om du använder default skalningstypen (scale_settings.type: default).

instance_count kan uppdateras när distributionen har skapats med hjälp av az ml online-deployment update kommandot .
app_insights_enabled boolean Om du vill aktivera integrering med Azure Application Insights-instansen som är associerad med din arbetsyta. false
scale_settings objekt Skalningsinställningarna för distributionen. De två typerna av skalningsinställningar som stöds är skalningstypen default och skalningstypen target_utilization .

Med skalningstypen default (scale_settings.type: default) kan du manuellt skala antalet instanser upp och ned efter att distributionen har skapats genom att uppdatera instance_count egenskapen.

Information om hur du konfigurerar skalningstypen (scale_settings.type: target_utilization) finns i target_utilization TargetUtilizationScaleSettings för uppsättningen konfigurerbara egenskaper.
scale_settings.type sträng Skalningstypen. default, target_utilization target_utilization
data_collector objekt Inställningar för datainsamling för distributionen. Se DataCollector för uppsättningen konfigurerbara egenskaper.
request_settings objekt Bedömningsinställningar för begäran för distributionen. Se RequestSettings för uppsättningen konfigurerbara egenskaper.
liveness_probe objekt Inställningar för livenessavsökning för att regelbundet övervaka containerns hälsotillstånd. Se ProbeSettings för uppsättningen konfigurerbara egenskaper.
readiness_probe objekt Inställningar för beredskapsavsökning för validering om containern är redo att hantera trafik. Se ProbeSettings för uppsättningen konfigurerbara egenskaper.
resources objekt Krav för containerresurser.
resources.requests objekt Resursbegäranden för containern. Se ContainerResourceRequests för uppsättningen konfigurerbara egenskaper.
resources.limits objekt Resursbegränsningar för containern. Se ContainerResourceLimits för uppsättningen konfigurerbara egenskaper.

RequestSettings

Nyckel Typ Beskrivning Standardvärde
request_timeout_ms integer Tidsgränsen för bedömning i millisekunder. 5000
max_concurrent_requests_per_instance integer Det maximala antalet samtidiga begäranden per instans som tillåts för distributionen.

Ändra inte den här inställningen från standardvärdet om du inte instrueras av Microsofts tekniska support eller en medlem i Azure Machine Learning-teamet.
1
max_queue_wait_ms integer Den maximala tiden i millisekunder som en begäran kommer att stanna i kön. 500

ProbeSettings

Nyckel Typ Beskrivning Standardvärde
period integer Hur ofta (i sekunder) avsökningen ska utföras. 10
initial_delay integer Antalet sekunder efter att containern har startats innan avsökningen initieras. Minimivärdet är 1. 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. Minimivärdet är 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

TargetUtilizationScaleSettings

Nyckel Typ Beskrivning Standardvärde
type Const Skalningstypen target_utilization
min_instances integer Det minsta antalet instanser som ska användas. 1
max_instances integer Det maximala antalet instanser som ska skalas till. 1
target_utilization_percentage integer Mål-CPU-användning för autoskalning. 70
polling_interval integer Hur ofta autoskalningen ska försöka skala distributionen i sekunder. 1

ContainerResourceRequests

Nyckel Typ Description
cpu sträng Antalet processorkärnor som begärts för containern.
memory sträng Minnesstorleken som begärdes för containern
nvidia.com/gpu sträng Antalet Nvidia GPU-kort som begärts för containern

ContainerResourceLimits

Nyckel Typ Description
cpu sträng Gränsen för antalet CPU-kärnor för containern.
memory sträng Gränsen för minnesstorleken för containern.
nvidia.com/gpu sträng Gränsen för antalet Nvidia GPU-kort för containern

DataCollector

Nyckel Typ Beskrivning Standardvärde
sampling_rate flyttal 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 sträng Hastigheten för partitionering av data i lagringen. Värdet kan vara: Minut, Timme, Dag, Månad, År. Hour
collections objekt Uppsättning enskilda collection_nameoch deras respektive inställningar för den här distributionen.
collections.<collection_name> objekt 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.

Obs! Var och collection_name en bör motsvara namnet på det Collector objekt som används i distributionen score.py för att samla in produktionsinferensdata. 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 sträng Namnet på den datatillgång som ska registreras med de insamlade data. <endpoint>-<deployment>-<collection_name>
collections.<collection_name>.data.path sträng 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

Kommentarer

Kommandona az ml online-deployment kan användas för att hantera Azure Machine Learning Kubernetes onlinedistributioner.

Exempel

Exempel är tillgängliga i GitHub-exempellagringsplatsen.

Nästa steg