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_name och 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.