Teilen über


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.

Nächste Schritte