Mit CLI (v2) Azure Arc aktiviertes YAML-Schema für Kubernetes-Onlinebereitstellung
GILT FÜR Azure CLI-ML-Erweiterung v2 (aktuell)
Das JSON-Quellschema finden Sie unter https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.
Hinweis
Die in diesem Dokument beschriebene YAML-Syntax basiert auf dem JSON-Schema für die neueste Version der ML CLI v2-Erweiterung. Die Funktion dieser Syntax wird nur mit der neuesten Version der ML CLI v2-Erweiterung garantiert. Die Schemas für ältere Erweiterungsversionen finden Sie unter https://azuremlschemasprod.azureedge.net/.
YAML-Syntax
Schlüssel | type | BESCHREIBUNG | Zulässige Werte | Standardwert |
---|---|---|---|---|
$schema |
Zeichenfolge | Das YAML-Schema. Wenn Sie die VS Code-Erweiterung für Azure Machine Learning zum Erstellen einer YAML-Datei verwenden, können Sie durch das Einfügen von $schema am Anfang der Datei Schema- und Ressourcenvervollständigungen aufrufen. |
||
name |
Zeichenfolge | Erforderlich. Name der Bereitstellung Benennungsregeln sind hier definiert. |
||
description |
Zeichenfolge | Beschreibung des Bereitstellung. | ||
tags |
Objekt (object) | Wörterbuch der Tags für die Bereitstellung. | ||
endpoint_name |
Zeichenfolge | Erforderlich. Name des Endpunkts, unter dem die Bereitstellung erstellt werden soll. | ||
model |
Zeichenfolge oder Objekt | Das für die Bereitstellung zu verwendende Modell. Dieser Wert kann entweder ein Verweis auf ein vorhandenes versioniertes Modell im Arbeitsbereich oder eine Inline-Modellspezifikation sein. Um auf ein bestehendes Modell zu verweisen, verwenden Sie die Syntax azureml:<model-name>:<model-version> . Um ein Modell inline zu definieren, folgen Sie dem Modellschema. Als bewährtes Verfahren für Produktionsszenarien sollten Sie das Modell separat erstellen und hier darauf verweisen. Dieses Feld ist für Szenarien mit benutzerdefinierter Containerbereitstellung optional. |
||
model_mount_path |
Zeichenfolge | Der Pfad zum Einbinden des Modells in einen benutzerdefinierten Container. Gilt nur für Szenarien mit benutzerdefinierter Containerbereitstellung. Wenn das Feld model angegeben ist, wird es unter diesem Pfad im Container eingebunden. |
||
code_configuration |
Objekt (object) | Konfiguration für die Logik des Bewertungscodes. Dieses Feld ist für Szenarien mit benutzerdefinierter Containerbereitstellung optional. |
||
code_configuration.code |
Zeichenfolge | Lokaler Pfad zum Quellcodeverzeichnis für die Bewertung des Modells. | ||
code_configuration.scoring_script |
Zeichenfolge | Relativer Pfad zur Bewertungsdatei im Quellcodeverzeichnis. | ||
environment_variables |
Objekt (object) | Wörterbuch der Schlüssel-Wert-Paare von Umgebungsvariablen, die im Bereitstellungscontainer festgelegt werden. Sie können über Ihre Bewertungsskripts auf diese Umgebungsvariablen zugreifen. | ||
environment |
Zeichenfolge oder Objekt | Erforderlich. Die für die Bereitstellung zu verwendende Umgebung. Dieser Wert kann entweder ein Verweis auf eine vorhandene versionierte Umgebung im Arbeitsbereich oder eine Inline-Umgebungsspezifikation sein. Verwenden Sie die Syntax azureml:<environment-name>:<environment-version> , um auf eine vorhandene Umgebung zu verweisen. Um eine Umgebung inline zu definieren, folgen Sie dem Umgebungsschema. Als bewährtes Verfahren für Produktionsszenarien sollten Sie die Umgebung separat erstellen und hier referenzieren. |
||
instance_type |
Zeichenfolge | Der Instanztyp, der zum Platzieren der Rückschluss-Workload verwendet wird. Wenn dies nicht angegeben wird, wird die Rückschluss-Workload auf dem Standardinstanztyp des Kubernetes-Clusters platziert, der imcompute -Feld des Endpunkts angegeben ist. Wenn angegeben, wird der Rückschluss-Workload für diesen ausgewählten Instanztyp platziert. Die Instanztypen für einen Kubernetes-Cluster werden über die benutzerdefinierte Ressourcendefinition (Custom Resource Definition, CRD) des Kubernetes-Clusters konfiguriert und sind daher nicht Teil des Azure Machine Learning-YAML-Schemas zum Anfügen von Kubernetes-Compute-Instanzen. Weitere Informationen finden Sie unter Erstellen und Auswählen von Kubernetes-Instanztypen. |
||
instance_count |
integer | Die Anzahl der Instanzen, die für die Bereitstellung verwendet werden sollen. Geben Sie den Wert basierend auf der erwarteten Workload an. Dieses Feld ist nur erforderlich, wenn Sie den default -Skalierungstyp (scale_settings.type: default ) verwenden. instance_count kann nach der Erstellung der Bereitstellung mit dem Befehl az ml online-deployment update aktualisiert werden. |
||
app_insights_enabled |
boolean | Gibt an, ob die Integration mit der Azure Application Insights-Instanz, die Ihrem Arbeitsbereich zugeordnet ist, aktiviert werden soll. | false |
|
scale_settings |
Objekt (object) | Die Skalierungseinstellungen für die Bereitstellung. Die beiden unterstützten Skalierungseinstellungen sind der default -Skalierungstyp und der target_utilization -Skalierungstyp. Mit diesem default -Skalierungstyp (scale_settings.type: default ) können Sie die Anzahl der Instanzen nach der Erstellung der Bereitstellung manuell hoch- und herunterskalieren, indem Sie das Erstellte durch Aktualisierung der instance_count -Eigenschaft bereitstellen. Informationen zum Konfigurieren des target_utilization -Skalierungstyps (scale_settings.type: target_utilization ) finden Sie unter TargetUtilizationScaleSettings über den Satz konfigurierbarer Eigenschaften. |
||
scale_settings.type |
Zeichenfolge | Der Skalierungstyp. | default , target_utilization |
target_utilization |
data_collector |
Objekt (object) | Einstellungen für die Datensammlung bei der Bereitstellung. Die konfigurierbaren Eigenschaften finden Sie unter DataCollector. | ||
request_settings |
Objekt (object) | Einstellungen für die Bewertungsanforderung für die Bereitstellung. Informationen zu den konfigurierbaren Eigenschaften finden Sie unter RequestSettings. | ||
liveness_probe |
Objekt (object) | Livetesteinstellungen zum regelmäßigen Überwachen der Integrität des Containers. Informationen zu den konfigurierbaren Eigenschaften finden Sie unter ProbeSettings. | ||
readiness_probe |
Objekt (object) | Bereitschaftstesteinstellungen zum Überprüfen, ob der Container für die Bereitstellung von Datenverkehr bereit ist. Informationen zu den konfigurierbaren Eigenschaften finden Sie unter ProbeSettings. | ||
resources |
Objekt (object) | Anforderungen an Containerressourcen. | ||
resources.requests |
Objekt (object) | Ressourcenanforderungen für den Container. Informationen zu den konfigurierbaren Eigenschaften finden Sie unter ContainerResourceRequests. | ||
resources.limits |
Objekt (object) | Ressourcenlimits für den Container. Informationen zu den konfigurierbaren Eigenschaften finden Sie unter ContainerResourceLimits. |
RequestSettings
Schlüssel | type | BESCHREIBUNG | Standardwert |
---|---|---|---|
request_timeout_ms |
integer | Das Bewertungstimeout in Millisekunden | 5000 |
max_concurrent_requests_per_instance |
integer | Die maximale Anzahl gleichzeitiger Anforderungen pro Instanz, die für die Bereitstellung zulässig sind. Ändern Sie den Standardwert dieser Einstellung nicht, es sei denn, Sie werden vom technischen Support von Microsoft oder einem Mitglied des Azure Machine Learning-Teams dazu aufgefordert. |
1 |
max_queue_wait_ms |
integer | Die maximale Zeitdauer in Millisekunden, die eine Anforderung in der Warteschlange bleibt. | 500 |
ProbeSettings
Schlüssel | type | BESCHREIBUNG | Standardwert |
---|---|---|---|
period |
integer | Gibt an, wie häufig (in Sekunden) ein Test durchgeführt werden soll. | 10 |
initial_delay |
integer | Die Anzahl der Sekunden, die nach dem Start des Containers vergehen, bevor der Test initiiert wird. Der Mindestwert ist 1 . |
10 |
timeout |
integer | Die Anzahl von Sekunden, nach denen der Timeout für den Test auftritt. Der Mindestwert ist 1 . |
2 |
success_threshold |
integer | Die Anzahl der Erfolge, die mindestens aufeinander folgen müssen, damit ein Test nach einem Fehler wieder als erfolgreich betrachtet wird. Der Mindestwert ist 1 . |
1 |
failure_threshold |
integer | Wenn ein Test fehlschlägt, versucht das System den Vorgang failure_threshold Mal, bevor es aufgibt. Wenn Sie im Falle eines Livetests aufgeben, bedeutet dies, dass der Container neu gestartet wird. Im Falle eines Bereitschaftstests wird der Container als nicht bereit markiert. Der Mindestwert ist 1 . |
30 |
TargetUtilizationScaleSettings
Schlüssel | type | BESCHREIBUNG | Standardwert |
---|---|---|---|
type |
const | Der Skalierungstyp | target_utilization |
min_instances |
integer | Die minimale Anzahl von Instanzen. | 1 |
max_instances |
integer | Die maximale Anzahl von Instanzen zum skalieren. | 1 |
target_utilization_percentage |
integer | Die CPU-Zielauslastung für die Autoskalierung. | 70 |
polling_interval |
integer | Gibt in Sekunden an, wie oft die Autoskalierung versuchen soll, die Bereitstellung des Webdienstes zu skalieren. | 1 |
ContainerResourceRequests
Schlüssel | type | Beschreibung |
---|---|---|
cpu |
Zeichenfolge | Die Anzahl der für den Container angeforderten CPU-Kerne. |
memory |
Zeichenfolge | Die für den Container angeforderte Arbeitsspeichergröße |
nvidia.com/gpu |
Zeichenfolge | Die Anzahl der für den Container angeforderten Nvidia-GPU-Karten |
ContainerResourceLimits
Schlüssel | type | Beschreibung |
---|---|---|
cpu |
Zeichenfolge | Der Grenzwert für die Anzahl der CPU-Kerne für den Container. |
memory |
Zeichenfolge | Der Grenzwert für die Arbeitsspeichergröße für den Container. |
nvidia.com/gpu |
Zeichenfolge | Der Grenzwert für die Anzahl von Nvidia-GPU-Karten für den Container |
DataCollector
Schlüssel | type | BESCHREIBUNG | Standardwert |
---|---|---|---|
sampling_rate |
float | Der als Dezimalrate dargestellte Prozentsatz zu sammelnder Daten. Beispielsweise steht der Wert 1,0 für das Sammeln von 100 % der Daten. | 1.0 |
rolling_rate |
Zeichenfolge | Die Rate zum Partitionieren der Daten im Speicher. Folgende Werte sind möglich: Minute, Stunde, Tag, Monat, Jahr. | Hour |
collections |
Objekt (object) | Gruppe einzelner Sammlungsnamen (collection_name ) und ihrer entsprechenden Einstellungen für diese Bereitstellung. |
|
collections.<collection_name> |
Objekt (object) | Logische Gruppierung der zu sammelnden Rückschlussdaten (z. B. model_inputs ). Die beiden reservierten Namen request und response entsprechen der Nutzdatensammlung der HTTP-Anforderung bzw. der HTTP-Antwort. Alle anderen Namen sind willkürlich und benutzerseitig definierbar. Hinweis: Jeder Sammlungsname ( collection_name ) muss dem Namen des Collector -Objekts entsprechen, das in der Bereitstellung score.py verwendet wird, um die Rückschlussdaten für die Produktion zu sammeln. Weitere Informationen zur Sammlung von Nutzdaten und zur Datensammlung mit dem bereitgestellten Python SDK finden Sie unter Sammeln von Daten von Modellen in der Produktion. |
|
collections.<collection_name>.enabled |
boolean | Gibt an, ob die Datensammlung für den angegebenen Sammlungsnamen (collection_name ) aktiviert werden soll. |
'False'' |
collections.<collection_name>.data.name |
Zeichenfolge | Der Name der Datenressource, die mit den gesammelten Daten registriert werden soll. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
Zeichenfolge | Der vollständige Azure Machine Learning-Datenspeicherpfad, in dem die gesammelten Daten als Datenobjekt registriert werden sollen. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
integer | Die Version der Datenressource, die mit den gesammelten Daten im Blobspeicher registriert werden soll. | 1 |
Hinweise
Die az ml online-deployment
-Befehle können für die Verwaltung von verwalteten Azure Machine Learning-Kubernetes-Onlinebereitstellungen verwendet werden.
Beispiele
Beispiele finden Sie im GitHub-Beispielrepository.