Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR:Azure CLI ml-Erweiterung v2 (aktuell)
Python SDK azure-ai-ml v2 (aktuell)
Nachdem Sie Machine Learning-Modelle oder Pipelines trainiert oder geeignete Modelle aus dem Modellkatalog gefunden haben, müssen Sie sie für andere in der Produktion bereitstellen, um sie zur Ableitung zu verwenden. Rückschluss ist der Prozess, bei dem neue Eingabedaten auf ein Machine Learning-Modell oder die Pipeline angewandt werden, um Ausgaben zu generieren. Während diese Ausgaben in der Regel als "Vorhersagen" bezeichnet werden, können Ergebnisse für andere Machine Learning-Aufgaben wie Klassifizierung und Clustering generiert werden. In Azure Machine Learning führen Sie eine Ableitung mithilfe von Endpunkten durch.
Endpunkte und Bereitstellungen
Ein Endpunkt ist eine stabile und dauerhafte URL, die zum Anfordern oder Aufrufen eines Modells verwendet werden kann. Sie stellen die erforderlichen Eingaben für den Endpunkt bereit und empfangen die Ausgaben. Azure Machine Learning unterstützt Standardbereitstellungen, Onlineendpunkte und Batchendpunkte. Ein Endpunkt bietet Folgendes:
- Eine stabile und dauerhafte URL (z. B. endpoint-name.region.inference.ml.azure.com)
- Authentifizierungsmechanismus
- Ein Autorisierungsmechanismus
Eine Bereitstellung ist eine Reihe von Ressourcen und compute erforderlich, um das Modell oder die Komponente zu hosten, die die tatsächliche Ableitung durchführt. Ein Endpunkt enthält eine Bereitstellung. Für Online- und Batchendpunkte kann ein Endpunkt mehrere Bereitstellungen enthalten. Die Bereitstellungen können unabhängige Ressourcen hosten und unterschiedliche Ressourcen basierend auf den Anforderungen der Ressourcen nutzen. Ein Endpunkt verfügt auch über einen Routingmechanismus, der Anforderungen an jede seiner Bereitstellungen weiterleiten kann.
Einige Arten von Endpunkten in Azure Machine Learning nutzen dedizierte Ressourcen für ihre Bereitstellungen. Damit diese Endpunkte ausgeführt werden können, müssen Sie über ein Computekontingent für Ihr Azure-Abonnement verfügen. Bestimmte Modelle unterstützen jedoch eine serverlose Bereitstellung, sodass sie kein Kontingent aus Ihrem Abonnement nutzen können. Für serverlose Bereitstellungen werden Sie basierend auf der Nutzung in Rechnung gestellt.
Intuition
Angenommen, Sie arbeiten an einer Anwendung, die den Typ und die Farbe eines Autos aus einem Foto vorhersagt. Für diese Anwendung senden Benutzer mit bestimmten Anmeldeinformationen eine HTTP-Anforderung an eine URL und übergeben darin ein Bild eines Autos. Im Gegenzug erhält der Benutzer eine Antwort, die den Typ und die Farbe des Autos als Zeichenfolgenwerte enthält. In diesem Szenario dient die URL als Endpunkt.
Angenommen, ein Datenwissenschaftler, Alice, implementiert die Anwendung. Alice verfügt über umfangreiche TensorFlow-Erfahrung und entscheidet, das Modell mit einem sequenziellen Keras-Klassifizierer mit einer ResNet-Architektur vom TensorFlow Hub zu implementieren. Nach dem Testen des Modells ist Alice mit seinen Ergebnissen zufrieden und entscheidet, das Modell zur Lösung des Autovorhersageproblems zu verwenden. Das Modell ist groß und erfordert 8 GB Arbeitsspeicher mit 4 Kernen, die ausgeführt werden können. In diesem Szenario besteht das Modell von Alice und die Ressourcen , z. B. code und compute, die zum Ausführen des Modells erforderlich sind, aus einer Bereitstellung unter dem Endpunkt.
Nach einigen Monaten ermittelt die Organisation, dass die Anwendung bei Bildern mit schlechten Beleuchtungsbedingungen schlecht funktioniert. Bob, ein anderer Data-Wissenschaftler, verfügt über Expertise in Datenerweiterungstechniken, mit denen Modelle die Stabilität für diesen Faktor aufbauen können. Bob bevorzugt jedoch die Verwendung von PyTorch, um das Modell zu implementieren und ein neues Modell mit PyTorch zu trainieren. Bob möchte dieses Modell schrittweise in der Produktion testen, bis die Organisation bereit ist, das alte Modell zurückzuziehen. Das neue Modell führt auch bei der Bereitstellung in GPU eine bessere Leistung aus, daher muss die Bereitstellung eine GPU enthalten. In diesem Szenario bilden Bobs Modell und die Ressourcen , z. B. den Code und die Berechnung, die zum Ausführen des Modells erforderlich sind, eine weitere Bereitstellung unter demselben Endpunkt.
Endpunkte: Standard-Bereitstellung, Online und Batch
Azure Machine Learning unterstützt Standardbereitstellungen, Onlineendpunkte und Batchendpunkte.
Standardbereitstellungen und Onlineendpunkte sind für die Echtzeit-Ableitung konzipiert. Wenn Sie den Endpunkt aufrufen, werden die Ergebnisse in der Antwort des Endpunkts zurückgegeben. Standardbereitstellungen verbrauchen kein Kontingent aus Ihrem Abonnement; Stattdessen werden sie mit der Standardabrechnung in Rechnung gestellt.
Batchendpunkte sind für eine langfristige Batch-Ableitung konzipiert. Wenn Sie einen Batchendpunkt aufrufen, generieren Sie einen Batchauftrag, der die eigentliche Arbeit ausführt.
Verwendung von Standardbereitstellungs-, Online- und Batchendpunkten
Standardbereitstellung:
Verwenden Sie Standardbereitstellungen , um große Basismodelle für echtzeitbasierte Ableitungen aus dem Regal oder für feinabstimmungen solche Modelle zu nutzen. Nicht alle Modelle sind für die Bereitstellung für Standardbereitstellungen verfügbar. Es wird empfohlen, diesen Bereitstellungsmodus zu verwenden, wenn:
- Ihr Modell ist ein grundlegendes Modell oder eine fein abgestimmte Version eines basisbasierten Modells, das für Standardbereitstellungen verfügbar ist.
- Sie können von einer kontingentlosen Bereitstellung profitieren.
- Sie müssen den Rückschlussstapel, der zum Ausführen des Modells verwendet wird, nicht anpassen.
Onlineendpunkte:
Verwenden Sie Onlineendpunkte , um Modelle für die Echtzeit-Ableitung in synchronen Anforderungen mit geringer Latenz zu operationalisieren. Es wird empfohlen, sie in folgenden Fällen zu verwenden:
- Ihr Modell ist ein grundlegendes Modell oder eine fein abgestimmte Version eines Basismodells, wird aber in der Standardbereitstellung nicht unterstützt.
- Sie haben Anforderungen mit geringer Latenz.
- Ihr Modell kann die Anforderung in relativ kurzer Zeit beantworten.
- Die Eingaben Ihres Modells passen in die HTTP-Nutzlast der Anforderung.
- Sie müssen die Anzahl der Anforderungen hochskalieren.
Batchendpunkte:
Verwenden Sie Batchendpunkte , um Modelle oder Pipelines für asynchrone Ableitungen mit langer Ausführung zu operationalisieren. Es wird empfohlen, sie in folgenden Fällen zu verwenden:
- Sie verfügen über teure Modelle oder Pipelines, für die die Ausführung mehr Zeit in Anspruch nimmt.
- Sie möchten Machine Learning-Pipelines operationalisieren und Komponenten wiederverwenden.
- Sie müssen Rückschlüsse auf große Datenmengen durchführen, die auf mehrere Dateien verteilt sind.
- Sie haben keine niedrigen Latenzanforderungen.
- Die Eingaben Ihres Modells werden in einem Speicherkonto oder in einem Azure Machine Learning-Datenobjekt gespeichert.
- Sie können die Parallelisierung nutzen.
Vergleich von Standardbereitstellungs-, Online- und Batchendpunkten
Alle Standardbereitstellungen, Onlineendpunkte und Batchendpunkte basieren auf der Idee von Endpunkten, daher können Sie problemlos von einem endpunkten zum anderen wechseln. Online- und Batchendpunkte können außerdem mehrere Bereitstellungen für denselben Endpunkt verwalten.
Endpoints
Die folgende Tabelle enthält eine Zusammenfassung der verschiedenen Features, die für Standardbereitstellungen, Onlineendpunkte und Batchendpunkte auf Endpunktebene verfügbar sind.
Feature | Standardbereitstellungen | Onlineendpunkte | Batchendpunkte |
---|---|---|---|
Stabile Aufruf-URL | Yes | Yes | Yes |
Unterstützung für mehrere Bereitstellungen | No | Yes | Yes |
Routing der Bereitstellung | None | Datenverkehrsteilung | Wechsel zur Standardeinstellung |
Spiegeln des Datenverkehrs für einen sicheren Rollout | No | Yes | No |
Swagger-Unterstützung | Yes | Yes | No |
Authentication | Key | Schlüssel und Microsoft Entra ID (Vorschau) | Microsoft Entra ID |
Unterstützung für private Netzwerke (Legacy) | No | Yes | Yes |
Verwaltete Netzwerkisolation | Yes | Yes | Ja (siehe zusätzliche erforderliche Konfiguration) |
Vom Kunden verwaltete Schlüssel | NA | Yes | Yes |
Kostenbasis | Pro Endpunkt, pro Minute1 | None | None |
1Für die Standardbereitstellung pro Minute wird ein kleiner Bruchteil berechnet. Im Abschnitt "Bereitstellungen " finden Sie die Gebühren für den Verbrauch, die pro Token in Rechnung gestellt werden.
Deployments
Die folgende Tabelle enthält eine Zusammenfassung der verschiedenen Features, die für Standardbereitstellungen, Onlineendpunkte und Batchendpunkte auf Bereitstellungsebene verfügbar sind. Diese Konzepte gelten für jede Bereitstellung unter dem Endpunkt (für Online- und Batchendpunkte) und gelten für Standardbereitstellungen (bei denen das Bereitstellungskonzept in den Endpunkt integriert ist).
Feature | Standardbereitstellungen | Onlineendpunkte | Batchendpunkte |
---|---|---|---|
Bereitstellungstypen | Models | Models | Modelle und Rohrleitungskomponenten |
MLflow-Modellimplementierung | Nein, nur bestimmte Modelle im Katalog | Yes | Yes |
Benutzerdefinierte Modellimplementierung | Nein, nur bestimmte Modelle im Katalog | Ja, mit Bewertungsskript | Ja, mit Bewertungsskript |
Ableitungsserver 3 | Azure KI-Modellinferenz-API | – Azure Machine Learning Inferencing Server -Triton – Benutzerdefiniert (mit BYOC) |
Batch-Ableitung |
Verbrauchte Computeressource | None (serverless) | Instanzen oder granulare Ressourcen | Clusterinstanzen |
Computetyp | None (serverless) | Verwaltetes Compute und Kubernetes | Verwaltetes Compute und Kubernetes |
Compute mit niedriger Priorität | NA | No | Yes |
Compute mit Skalierung auf 0 | Built-in | No | Yes |
Automatische Berechnung4 | Built-in | Ja, basierend auf der Nutzung der Ressourcen | Ja, basierend auf der Anzahl der Aufträge |
Overcapacity Management | Throttling | Throttling | Queuing |
Kostenbasis5 | Pro Token | Pro Bereitstellung: Compute-Instanzen, die ausgeführt werden | Pro Auftrag: Berechnungsinstanzen, die im Auftrag verbraucht werden (begrenzt auf die maximale Anzahl von Instanzen des Clusters) |
Lokale Tests von Bereitstellungen | No | Yes | No |
2Inference-Server bezieht sich auf die Diensttechnologie, die Anforderungen akzeptiert, verarbeitet und Antworten erstellt. Der Rückschlussserver gibt außerdem das Format der Eingabe und der erwarteten Ausgaben vor.
3Die automatische Skalierung ist die Möglichkeit, die zugeordneten Ressourcen der Bereitstellung basierend auf ihrer Last dynamisch zu skalieren oder zu verkleineren. Online- und Batchbereitstellungen verwenden unterschiedliche Strategien für die automatische Skalierung. Während Onlinebereitstellungen basierend auf der Ressourcenauslastung (z. B. CPU, Arbeitsspeicher, Anforderungen usw.) hoch- und herunterskaliert werden, werden Batchendpunkte basierend auf der Anzahl der erstellten Aufträge hoch- oder herunterskaliert.
4 Sowohl Online- als auch Batchbereitstellungen belasten die verbrauchten Ressourcen. Bei Onlinebereitstellungen werden Ressourcen zum Zeitpunkt der Bereitstellung bereitgestellt. In Batchbereitstellungen werden Ressourcen nicht zur Bereitstellungszeit verbraucht, sondern zum Zeitpunkt der Ausführung des Auftrags. Daher fallen keine Kosten im Zusammenhang mit der Batchbereitstellung selbst an. Ebenso verbrauchen auch Aufträge in der Warteschlange keine Ressourcen.
Entwicklerschnittstellen
Endpunkte sollen Organisationen bei der Operationalisierung von Workloads auf Produktionsebene in Azure Machine Learning unterstützen. Endpunkte sind robuste und skalierbare Ressourcen, die die besten Funktionen zum Implementieren von MLOps-Workflows bieten.
Sie können Batch- und Onlineendpunkten mit verschiedenen Entwicklungstools erstellen und verwalten:
- Azure CLI und Python SDK
- Azure-Resource Manager/REST-API
- Azure Machine Learning Studio-Webportal
- Azure-Portal (IT/Administrator)
- Unterstützung für CI/CD-MLOps-Pipelines über die Azure CLI- und REST-/ARM-Schnittstelle