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.
Mit Azure Machine Learning können Sie Batch-Endpunkte und -Bereitstellungen implementieren, um lang andauerndes, asynchrones Inferencing mit maschinellen Lernen-Modellen und Pipelines durchzuführen. Wenn Sie ein Machine Learning-Modell oder eine Pipeline trainieren, müssen Sie es bereitstellen, damit andere es mit neuen Eingabedaten verwenden können, um Vorhersagen zu generieren. Dieser Prozess der Generierung von Vorhersagen mit dem Modell oder der Pipeline wird als Ableitung bezeichnet.
Batch-Endpunkte empfangen Zeiger auf Daten und führen Jobs asynchron aus, um die Daten parallel in Rechenclustern zu verarbeiten. Batchendpunkte speichern Ausgaben in einem Datenspeicher zur weiteren Analyse. Verwenden Sie Batchendpunkte, wenn:
- Sie verfügen über teure Modelle oder Pipelines, die eine längere Laufzeit erfordern.
- Sie möchten Machine Learning-Pipelines operationalisieren und Komponenten wiederverwenden.
- Sie müssen eine Ableitung über große Datenmengen durchführen, die in mehreren Dateien verteilt sind.
- Sie haben keine Anforderungen an niedrige Latenzzeiten.
- Die Eingaben Ihres Modells werden in einem Speicherkonto oder in einer Azure Machine Learning Datenressource gespeichert.
- Sie können die Parallelisierung nutzen.
Stapelbereitstellungen
Eine Bereitstellung ist eine Reihe von Ressourcen und Rechnern, die zum Implementieren der Funktionalität erforderlich sind, die der Endpunkt bietet. Ein Endpunkt kann mehrere Bereitstellungen hosten, die jeweils eine eigene Konfiguration aufweisen und die Endpunktschnittstelle von den Implementierungsdetails der Bereitstellung entkoppeln. Wenn ein Batchendpunkt aufgerufen wird, leitet er den Client automatisch an seine Standardbereitstellung weiter. Diese Standardbereitstellung kann jederzeit konfiguriert und geändert werden.
Zwei Arten von Bereitstellungen sind in Azure Machine Learning Batch-Endpunkten möglich.
Modellbereitstellung
Die Modellbereitstellung ermöglicht die Operationalisierung des Modellinferencings im Großen und Ganzen, sodass Sie große Datenmengen in geringer Latenz und asynchroner Weise verarbeiten können. Azure Machine Learning instrumentiert die Skalierbarkeit automatisch durch Parallelisierung der Inference-Prozesse über mehrere Knoten in einem Compute-Cluster.
Verwenden Sie die Modellbereitstellung in folgenden Fällen:
- Sie haben teure Modelle, die eine längere Zeit für die Ausführung von Rückschlüssen benötigen.
- Sie müssen eine Ableitung über große Datenmengen durchführen, die in mehreren Dateien verteilt sind.
- Sie haben keine Anforderungen an niedrige Latenzzeiten.
- Sie können die Parallelisierung nutzen.
Der Hauptvorteil von Modellbereitstellungen besteht darin, dass Sie dieselben Ressourcen verwenden können, die für die Echtzeit-Inferierung auf Onlineendpunkte bereitgestellt werden, aber jetzt können Sie sie im Batch skalieren. Wenn ihr Modell einfache Vorverarbeitung oder Nachbearbeitung erfordert, können Sie ein Bewertungsskript erstellen , das die erforderlichen Datentransformationen ausführt.
Um eine Modellbereitstellung in einem Batch-Endpunkt zu erstellen, müssen Sie die folgenden Elemente angeben:
- Modell
- Rechner-Cluster
- Bewertungsskript (optional für MLflow-Modelle)
- Umgebung (optional für MLflow-Modelle)
Bereitstellung von Pipelinekomponenten
Die Bereitstellung von Pipelinekomponenten ermöglicht die Operationalisierung von gesamten Verarbeitungsgrafen (oder Pipelines), um Batch-Inferenz mit geringer Latenz und auf asynchrone Weise durchzuführen.
Verwenden Sie die Pipelinekomponentenbereitstellung in folgenden Fällen:
- Sie müssen vollständige Computediagramme operationalisieren, die in mehrere Schritte zerlegt werden können.
- Sie müssen Komponenten aus Schulungspipelinen in Ihrer Ableitungspipeline wiederverwenden.
- Sie haben keine Anforderungen an niedrige Latenzzeiten.
Der Hauptvorteil von Pipelinekomponentenbereitstellungen ist die Wiederverwendbarkeit von Komponenten, die bereits in Ihrer Plattform vorhanden sind, und die Fähigkeit, komplexe Rückschlussroutinen zu operationalisieren.
Um eine Pipelinekomponentenbereitstellung in einem Batchendpunkt zu erstellen, müssen Sie die folgenden Elemente angeben:
- Pipelinekomponente
- Compute-Cluster-Konfiguration
Batch-Endpunkte ermöglichen Ihnen auch das Erstellen von Bereitstellungen von Pipeline-Komponenten aus einem vorhandenen Pipelineauftrag. Auf diese Weise erstellt Azure Machine Learning automatisch eine Pipelinekomponente auf Basis des Auftrags. Dies vereinfacht die Verwendung dieser Art von Bereitstellungen. Es empfiehlt sich jedoch, pipelinekomponenten immer explizit zu erstellen, um Ihre MLOps-Vorgehensweise zu optimieren.
Kostenmanagement
Das Aufrufen eines Batchendpunkts löst einen asynchronen Batch-Ableitungsauftrag aus. Azure Machine Learning stellt automatisch die erforderlichen Berechnungsressourcen beim Start des Auftrags bereit und gibt diese beim Abschluss des Auftrags automatisch frei. Auf diese Weise bezahlen Sie nur für die Berechnung, wenn Sie sie verwenden.
Tipp
Bei der Bereitstellung von Modellen können Sie Computeressourceneinstellungen (z. B. Instanzenanzahl) und erweiterte Einstellungen (z. B. Minibatchgröße, Fehlerschwellenwert usw.) für jeden einzelnen Batcheinschlussauftrag überschreiben. Durch die Nutzung dieser spezifischen Konfigurationen können Sie möglicherweise die Ausführung beschleunigen und Kosten reduzieren.
Batch-Endpunkte können auch auf VMs mit niedriger Priorität ausgeführt werden. Batchendpunkte können sich automatisch von nicht zugewiesenen VMs wiederherstellen und die Arbeit an dem Punkt fortsetzen, an dem sie bei der Bereitstellung von Modellen für Schlussfolgerungen unterbrochen wurde. Weitere Informationen zum Verwenden von VMs mit niedriger Priorität, um die Kosten für Batch-Rückschlüsse auf Workloads zu reduzieren, finden Sie unter Verwenden von VMs mit niedriger Priorität in Batchendpunkten.
Schließlich stellt Ihnen Azure Machine Learning keine Gebühren für Batchendpunkte oder die Batchbereitstellungen selbst in Rechnung, sodass Sie Ihre Endpunkte und Bereitstellungen bestmöglich auf Ihr Szenario abstimmen können. Endpunkte und Bereitstellungen können unabhängige oder freigegebene Cluster verwenden, damit Sie eine differenzierte Kontrolle darüber erhalten, welche Rechenressourcen die Aufträge verbrauchen. Verwenden Sie "Scale-to-Zero" in Clustern, um sicherzustellen, dass keine Ressourcen verbraucht werden, wenn sie im Leerlauf sind.
Optimierung der MLOps-Praxis
Batch-Endpunkte können mehrere Bereitstellungen unter demselben Endpunkt verarbeiten, sodass Sie die Implementierung des Endpunkts ändern können, ohne die URL zu ändern, die Ihre Benutzer zum Aufrufen verwenden.
Sie können Bereitstellungen hinzufügen, entfernen und aktualisieren, ohne dass sich dies auf den Endpunkt selbst auswirkt.
Flexible Datenquellen und Speicher
Batch-Endpunkte lesen und schreiben Daten direkt aus dem Datenspeicher. Sie können Azure Machine Learning Datenspeicher, Azure Machine Learning Datenressourcen oder Speicherkonten als Eingaben angeben. Weitere Informationen zu den unterstützten Eingabeoptionen und deren Angabe finden Sie unter Erstellen von Aufträgen und Eingabedaten für Batchendpunkte.
Sicherheit
Batch-Endpunkte bieten alle Funktionen, die erforderlich sind, um Workloads auf Produktionsebene in einem Unternehmensumfeld auszuführen. Sie unterstützen private Networking für gesicherte Arbeitsbereiche und Microsoft Entra Authentifizierung entweder mithilfe eines Benutzerprinzipals (z. B. eines Benutzerkontos) oder eines Dienstprinzipals (z. B. einer verwalteten oder nicht verwalteten Identität). Aufträge, die von einem Batch-Endpunkt generiert werden, werden unter der Identität des Aufrufers ausgeführt, wodurch Sie die Flexibilität haben, um ein Szenario zu implementieren. Weitere Informationen zur Autorisierung während der Verwendung von Batchendpunkten finden Sie unter How to authenticate on batch endpoints.