Freigeben über


MLflow und Azure Machine Learning

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Dieser Artikel beschreibt die Funktionalitäten von MLflow, einem Open-Source-Framework zum Verwalten des gesamten Lebenszyklus des maschinellen Lernens. MLflow verwendet einen konsistenten Satz von Tools, um Modelle auf verschiedenen Plattformen zu trainieren und zu bedienen. Sie können MLflow verwenden, unabhängig davon, ob Ihre Experimente lokal oder auf einem Remote-Computeziel, einer VM oder einer Azure Machine Learning-Compute-Instanz ausgeführt werden.

Azure Machine Learning-Arbeitsbereiche sind mit MLflow kompatibel, was bedeutet, dass Sie Azure Machine Learning-Arbeitsbereiche auf die gleiche Weise verwenden können, wie Sie einen MLflow-Server verwenden. Diese Kompatibilität hat folgende Vorteile:

  • Azure Machine Learning hostet keine MLflow-Serverinstanzen, kann aber die MLflow-APIs direkt verwenden.
  • Sie können Azure Machine Learning-Arbeitsbereiche als Nachverfolgungsserver für jeden beliebigen MLflow-Code nutzen, unabhängig davon, ob er in Azure Machine Learning ausgeführt wird oder nicht. Sie müssen MLflow lediglich so konfigurieren, dass es auf den Arbeitsbereich verweist, in dem die Nachverfolgung stattfinden soll.
  • Sie können jede Trainingsroutine, die MLflow verwendet, in Azure Machine Learning ausführen, ohne Änderungen vorzunehmen.

Tipp

Im Gegensatz zum Azure Machine Learning-SDK v1 gibt es im Azure Machine Learning-SDK für Python (v2) keine Protokollierungsfunktionalität. Sie können die MLflow-Protokollierung verwenden, um sicherzustellen, dass Ihre Trainingsroutinen Cloud-agnostisch und portierbar sind und keine Abhängigkeit von Azure Machine Learning haben.

Was ist Tracking?

Wenn Sie mit Aufträgen arbeiten, verfolgt Azure Machine Learning automatisch einige Informationen über Ihre Experimente nach, z. B. Code, Umgebung und Eingabe- und Ausgabedaten. Modelle, Parameter und Metriken sind jedoch szenariospezifisch, sodass Modell-Generatoren ihre Nachverfolgung konfigurieren müssen.

Die gespeicherten Nachverfolgungsmetadaten variieren je nach Experiment und können Folgendes umfassen:

  • Code
  • Umgebungsdetails wie Betriebssystemversion und Python-Pakete
  • Eingabedaten
  • Parameterkonfigurationen
  • Modelle
  • Auswertungsmetriken
  • Auswertungsvisualisierungen wie Konfusionsmatrizen und Wichtigkeitsplots
  • Auswertungsergebnisse, einschließlich einiger Auswertungsvorhersagen

Vorteile bei der Nachverfolgung von Experimenten

Ganz gleich, ob Sie Modelle mit Aufträgen in Azure Machine Learning oder interaktiv in Notebooks trainieren, die Experimentverfolgung hilft Ihnen dabei:

  • Organisieren aller Ihrer Experimente des maschinellen Lernens an einem zentralen Ort. Anschließend können Sie Experimente durchsuchen und filtern und einen Drilldown ausführen, um Details zu den vorherigen Experimenten anzuzeigen.
  • Vergleichen Sie Experimente, analysieren Sie Ergebnisse und debuggen Sie Modelltraining ganz einfach.
  • Reproduzieren oder erneutes Ausführen von Experimenten, um die Ergebnisse zu überprüfen.
  • Verbessern Sie die Zusammenarbeit, da Sie sehen können was andere Teammitglieder tun, Experimentergebnisse freigeben und programmgesteuert auf Experimentdaten zugreifen können.

Nachverfolgung mit MLflow

Azure Machine Learning-Arbeitsbereiche sind MLflow-kompatibel. Dank dieser Kompatibilität können Sie mit MLflow Ausführungen, Metriken, Parameter und Artefakte in Arbeitsbereichen nachverfolgen, ohne Ihre Trainingsroutinen ändern oder eine Cloud-spezifische Syntax einfügen zu müssen. Um zu erfahren, wie Sie MLflow zum Nachverfolgen von Experimenten und Ausführungen in Azure Machine Learning-Arbeitsbereichen verwenden, lesen Sie Nachverfolgung von Experimenten und Modellen mit MLflow.

Azure Machine Learning verwendet MLflow-Nachverfolgung für die Metrikprotokollierung und die Artefaktspeicherung für Ihre Experimente. Wenn Sie mit Azure Machine Learning verbunden sind, werden alle MLflow-Nachverfolgungen in dem Arbeitsbereich materialisiert, in dem Sie arbeiten.

Wie Sie die Protokollierung aktivieren, um Echtzeit-Ausführungsmetriken mit MLflow zu überwachen, erfahren Sie unter Protokollieren von Metriken, Parametern und Dateien mit MLflow. Sie können auch Experimente abfragen und vergleichen und mit MLflow ausführen.

MLflow in Azure Machine Learning bietet eine Möglichkeit, die Nachverfolgung zu zentralisieren. Sie können MLflow mit Azure Machine Learning-Arbeitsbereichen verbinden – auch bei lokaler Ausführung oder Ausführung in einer anderen Cloud. Der Azure Machine Learning-Arbeitsbereich bietet einen zentralen, sicheren und skalierbaren Ort zum Speichern von Trainingsmetriken und Modellen.

MLflow in Azure Machine Learning kann Folgendes tun:

Nachverfolgung mit MLflow in R

Für die MLflow-Unterstützung in R gelten folgende Einschränkungen:

  • Die MLflow-Nachverfolgung ist auf das Nachverfolgen der Metriken, Parameter und Modelle des Experiments in Azure Machine Learning-Aufträgen beschränkt.
  • Interaktives Training in RStudio, Posit (früher RStudio Workbench) oder Jupyter-Notebooks mit R-Kernel werden nicht unterstützt.
  • Modellverwaltung und -registrierung werden nicht unterstützt. Verwenden Sie die Azure Machine Learning-CLI oder Azure Machine Learning Studio für die Modellregistrierung und -verwaltung.

Beispiele für die Verwendung des MLflow-Nachverfolgungsclients mit R-Modellen in Azure Machine Learning finden Sie unter Trainieren von R-Modellen mithilfe der Azure Machine Learning CLI (v2).

Nachverfolgung mit MLflow in Java

Für die MLflow-Unterstützung in Java gelten folgende Einschränkungen:

  • Die MLflow-Nachverfolgung ist auf das Nachverfolgen der Metriken und Parameter des Experiments in Azure Machine Learning-Aufträgen beschränkt.
  • Artefakte und Modelle können nicht nachverfolgt werden. Verwenden Sie stattdessen die Methode mlflow.save_model mit dem Ordner outputs, um Modelle oder Artefakte zu speichern, die Sie aufzeichnen möchten.

Ein Java-Beispiel, das den MLflow-Nachverfolgungsclient mit dem Azure Machine Learning-Nachverfolgungsserver verwendet, finden Sie unter azuremlflow-java.

Beispielnotebooks für die MLflow-Nachverfolgung

Modellregistrierung mit MLflow

Azure Machine Learning unterstützt MLflow für die Modellverwaltung. Dieser Support ist eine bequeme Möglichkeit für Benutzer, die mit dem MLflow-Client vertraut sind, den gesamten Modelllebenszyklus zu verwalten. Weitere Informationen zum Verwalten von Modellen mithilfe der MLflow-API in Azure Machine Learning finden Sie unter Verwalten von Modellregistrierungen in Azure Machine Learning mit MLflow.

Beispielnotebook für die MLflow-Modellregistrierung

Modellverwaltung mit MLflow zeigt, wie Sie Modelle in Registrierungen verwalten.

Modellimplementierung mit MLflow

Sie können MLflow-Modelle in Azure Machine Learning bereitstellen, um von einer verbesserten Erfahrung zu profitieren. Azure Machine Learning unterstützt die Bereitstellung von MLflow-Modellen sowohl für Echtzeit- als auch für Batchendpunkte, ohne die Umgebung oder ein Bewertungsskript angeben zu müssen.

Das MLflow-SDK, die Azure Machine Learning-CLI, das Azure Machine Learning-SDK für Python und Azure Machine Learning Studio unterstützen alle die MLflow-Modellimplementierung. Weitere Informationen zum Bereitstellen von MLflow-Modellen für Azure Machine Learning für Echtzeit- wie Batchrückschließen finden Sie unter Leitlinien für die Bereitstellung von MLflow-Modellen.

Beispielnotebooks für die MLflow-Modellimplementierung

Training mit MLflow-Projekten (Vorschau)

Warnung

Die Unterstützung für MLproject-Dateien (MLflow-Projekte) in Azure Machine Learning wird im September 2026 vollständig eingestellt. MLflow wird weiterhin vollständig unterstützt und ist weiterhin die empfohlene Methode zum Nachverfolgen von Machine Learning-Workloads in Azure Machine Learning.

Während Sie MLflow weiterhin verwenden, wird empfohlen, dass Sie von MLproject-Dateien zu Azure Machine Learning-Aufträgen wechseln, indem Sie entweder die Azure CLI oder das Azure Machine Learning SDK für Python (v2) verwenden. Weitere Informationen zu Azure Machine Learning-Aufträgen finden Sie unter Nachverfolgen von ML-Experimenten und -Modellen mit MLflow.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.

Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Sie können Trainingsaufträge mithilfe von MLflow-Projekten an Azure Machine Learning übermitteln. Sie können Aufträge lokal über die Azure Machine Learning-Nachverfolgung übermitteln oder Ihre Aufträge zur Cloud über Azure Machine Learning Compute migrieren.

Um zu erfahren, wie Sie Trainingsaufträge, die MLflow-Projekte verwenden, an Azure Machine Learning-Arbeitsbereiche zur Nachverfolgung übermitteln, finden Sie unter Trainieren mit MLflow-Projekten in Azure Machine Learning (Vorschau).

Beispielnotebooks für MLflow-Projekte

Funktionalitäten von MLflow- und Azure Machine Learning-Clienttools im Vergleich

Die folgende Tabelle zeigt Lebenszyklusvorgänge des maschinellen Lernens, die mit dem MLflow-SDK und den Azure Machine Learning-Clienttools möglich sind.

Funktion MLflow SDK Azure Machine Learning-CLI/SDK v2 Azure Machine Learning Studio
Nachverfolgen und Protokollieren von Metriken, Parametern und Modellen
Abrufen von Metriken, Parametern und Modellen Nur Artefakte und Modelle können heruntergeladen werden.
Übermitteln von Trainingsaufträgen Möglich mithilfe von MLflow-Projekten (Vorschau).
Übermitteln von Trainingsaufträgen mit Azure Machine Learning-Datenressourcen
Übermitteln von Trainingsaufträgen mit Machine Learning-Pipelines
Verwalten von Experimenten und Ausführungen
Verwalten von MLflow-Modellen Einige Vorgänge werden möglicherweise nicht unterstützt.1
Verwalten MLflow-fremder Modelle
Bereitstellen von MLflow-Modellen in Azure Machine Learning (Online und Batch) Die Bereitstellung von MLflow-Modellen für den Batchrückschluss wird derzeit nicht unterstützt.2
Bereitstellen MLflow-fremder Modelle in Azure Machine Learning

1 Weitere Informationen finden Sie unter Verwalten von Modellregistrierungen in Azure Machine Learning mit MLflow.

2 Für eine Alternative lesen Sie Bereitstellen und Ausführen von MLflow-Modellen in Spark-Aufträgen.