Freigeben über


MLflow für ML-Modelllebenszyklus

In diesem Artikel wird beschrieben, wie MLflow auf Databricks verwendet wird, um qualitativ hochwertige generative KI-Agents und Machine Learning-Modelle zu entwickeln.

Hinweis

Wenn Sie gerade erst mit Azure Databricks beginnen, sollten Sie MLflow auf Databricks Free Edition ausprobieren.

Was ist MLflow?

MLflow ist eine Open Source-Plattform für die Entwicklung von Modellen und generativen KI-Anwendungen. Sie enthält die folgenden primären Komponenten:

  • Nachverfolgung: Ermöglicht Ihnen das Nachverfolgen von Experimenten, um Parameter und Ergebnisse aufzuzeichnen und zu vergleichen.
  • Modelle: Ermöglicht ihnen das Verwalten und Bereitstellen von Modellen aus verschiedenen ML-Bibliotheken bis hin zu verschiedenen Modellbereitstellungs- und Rückschlussplattformen.
  • Modellregistrierung: Ermöglicht es Ihnen, den Modellbereitstellungsprozess von Staging zu Produktion mit Modellversionsverwaltungs- und Anmerkungsfunktionen zu verwalten.
  • KI-Agenten-Auswertung und -Verfolgung: Ermöglicht Ihnen, hochwertige KI-Agenten zu entwickeln, indem Sie Agenten vergleichen, bewerten und Fehler beheben.

MLflow unterstützt Java-, Python-, R- und REST-APIs.

MLflow 3

MLflow 3 auf Azure Databricks bietet modernste Experimentverfolgung, Observierbarkeit und Leistungsbewertung für Machine Learning-Modelle, generative KI-Anwendungen und Agents im Databricks Lakehouse. Mit MLflow 3 auf Azure Databricks können Sie:

  • Verfolgen und analysieren Sie zentral die Leistung Ihrer Modelle, KI-Anwendungen und Agenten in allen Umgebungen, von interaktiven Abfragen in einem Entwicklungs-Notebook bis hin zu Produktions-Batch- oder Echtzeitbereitstellungen.

    Modellverfolgungs-UI.

  • Koordinieren Sie Evaluierungs- und Bereitstellungsworkflows mithilfe des Unity-Katalogs und greifen Sie auf umfassende Statusprotokolle für jede Version Ihres Modells, Ihrer KI-Anwendung oder ihres Agents zu.

    Ein komplexer Bereitstellungsauftrag, der eine mehrstufige Rollout- und Metriksammlung umfasst.

  • Anzeigen und Zugreifen auf Modellmetriken und -parameter auf der Modellversionsseite im Unity-Katalog und aus der REST-API.

    Modellversionsseite im Unity-Katalog mit Metriken aus mehreren Läufen.

  • Kommentieren Sie Anfragen und Antworten (Protokolle) für alle Ihre generativen KI-Anwendungen und Agenten, damit menschliche Experten und automatisierte Techniken (z. B. LLM-as-a-judge) umfassendes Feedback liefern können. Sie können dieses Feedback nutzen, um die Leistung von Anwendungsversionen zu bewerten und zu vergleichen und Datasets zur Verbesserung der Qualität zu erstellen.

    Registerkarte „Ablaufverfolgung“ der Modellseite mit Details zu mehreren Ablaufverfolgung.

Diese Funktionen vereinfachen und optimieren die Auswertung, Bereitstellung, Fehlerbehebung und Überwachung für alle KI-Initiativen.

MLflow 3 führt auch die Konzepte protokollierter Modelle und Bereitstellungsaufträge ein.

  • Protokollierte Modelle helfen Ihnen, den Fortschritt eines Modells während des gesamten Lebenszyklus nachzuverfolgen. Wenn Sie ein Modell mithilfe von log_model() aufzeichnen, wird eine LoggedModel erstellt, die während des gesamten Lebenszyklus des Modells, in verschiedenen Umgebungen und Ausführungen bestehen bleibt und Links zu Artefakten wie Metadaten, Metriken, Parametern und dem Code enthält, der zur Generierung des Modells verwendet wird. Sie können das protokollierte Modell verwenden, um Modelle miteinander zu vergleichen, das leistungsstärkste Modell zu finden und Informationen während des Debuggens nachzuverfolgen.
  • Bereitstellungsaufträge können verwendet werden, um den Modelllebenszyklus zu verwalten, einschließlich Schritte wie Auswertung, Genehmigung und Bereitstellung. Diese Modellworkflows unterliegen dem Unity-Katalog, und alle Ereignisse werden in einem Aktivitätsprotokoll gespeichert, das auf der Modellversionsseite im Unity-Katalog verfügbar ist.

Lesen Sie die folgenden Artikel, um MLflow 3 zu installieren und zu starten.

MLflow, verwaltet von Databricks

Databricks bietet eine vollständig verwaltete und gehostete Version von MLflow, die auf der Open Source-Erfahrung basiert, um sie robuster und skalierbarer für die Unternehmensverwendung zu machen.

Das folgende Diagramm zeigt, wie Databricks in MLflow integriert wird, um Machine Learning-Modelle zu trainieren und bereitzustellen.

MLflow ist in Databricks integriert, um den ML-Lebenszyklus zu verwalten.

Databricks-verwalteter MLflow basiert auf Unity Catalog und cloud Data Lake, um alle Ihre Daten und KI-Ressourcen im ML-Lebenszyklus zu vereinheitlichen:

  1. Featurespeicher: Die automatisierten Feature-Abfragen von Databricks vereinfachen die Integration und reduzieren Fehler.
  2. Modelle trainieren: Verwenden Sie Mosaik AI, um Modelle zu trainieren oder Foundation-Modelle feinabzustimmen.
  3. Tracking: MLflow verfolgt Schulungen durch Protokollierung von Parametern, Metriken und Artefakten zum Auswerten und Vergleichen der Modellleistung.
  4. Modellregistrierung: MLflow Model Registry, integriert in Unity Catalog zentralisiert KI-Modelle und Artefakte.
  5. Modellbereitstellung: Mosaik AI Model Serving stellt Modelle auf einem REST-API-Endpunkt bereit.
  6. Überwachung: Mosaik AI Model Serving erfasst automatisch Anforderungen und Antworten, um Modelle zu überwachen und zu debuggen. MLflow erweitert diese Daten mit Trace-Daten für jede Anfrage.

Modellschulung

MLflow Models sind der Kern der KI- und ML-Entwicklung auf Databricks. MLflow-Modelle sind ein standardisiertes Format für das Verpacken von Machine Learning-Modellen und generativen KI-Agents. Das standardisierte Format stellt sicher, dass Modelle und Agents von nachgeschalteten Tools und Workflows auf Databricks verwendet werden können.

  • MLflow-Dokumentation – Modelle.

Databricks bietet Features, mit denen Sie verschiedene Arten von ML-Modellen trainieren können.

Experimentnachverfolgung

Databricks verwendet MLflow-Experimente als Organisationseinheiten, um Ihre Arbeit während der Entwicklung von Modellen nachzuverfolgen.

Mithilfe der Experimentverfolgung können Sie Parameter, Metriken, Artefakte und Codeversionen während der Machine Learning-Schulung und agent-Entwicklung protokollieren und verwalten. Durch die Einordnung von Logdaten in Experimente und Durchläufe können Sie Modelle vergleichen, die Leistung analysieren und leichter iterieren.

Modellregistrierung mit Unity-Katalog

Die MLflow-Modellregistrierung ist ein zentrales Modell-Repository, eine Benutzeroberfläche und eine Gruppe von APIs für die Verwaltung des Modellbereitstellungsprozesses.

Databricks integriert die Modellregistrierung in den Unity-Katalog, um eine zentrale Governance für Modelle bereitzustellen. Die Unity-Katalogintegration ermöglicht es Ihnen, auf Modelle in arbeitsbereichsübergreifenden Arbeitsbereichen zuzugreifen, Modelllinien nachzuverfolgen und Modelle für die Wiederverwendung zu ermitteln.

Modellbereitstellung

Databricks Model Serving ist eng in die MLflow Model Registry integriert und bietet eine einheitliche, skalierbare Schnittstelle zum Bereitstellen, Verwalten und Abfragen von KI-Modellen. Jedes von Ihnen bereitgestellte Modell ist als REST-API verfügbar, die Sie in Web- oder Clientanwendungen integrieren können.

Während sie unterschiedliche Komponenten sind, basiert Model Serving stark auf der MLflow-Modellregistrierung, um Modellversionsverwaltung, Abhängigkeitsverwaltung, Validierung und Governance zu verarbeiten.

KI-Agent-Entwicklung und Bewertung

Bei der KI-Agent-Entwicklung ist Databricks ähnlich wie bei der ML-Modellentwicklung in MLflow integriert. Es gibt jedoch einige wichtige Unterschiede:

  • Um KI-Agents für Databricks zu erstellen, verwenden Sie Mosaik AI Agent Framework, das auf MLflow basiert, um Agentcode, Leistungsmetriken und Agent-Ablaufverfolgungen nachzuverfolgen.
  • Um Agents auf Databricks auszuwerten, verwenden Sie Mosaic AI Agent Evaluation, welches MLflow nutzt, um die Auswertungsergebnisse zu verfolgen.
  • Die MLflow-Nachverfolgung für Agenten umfasst auch MLflow Tracing. Mit der MLflow-Ablaufverfolgung können Sie detaillierte Informationen zur Ausführung der Dienste Ihres Agenten anzeigen. Die Ablaufverfolgung zeichnet die Eingaben, Ausgaben und Metadaten auf, die den einzelnen Zwischenschritten einer Anforderung zugeordnet sind, sodass Sie schnell die Quelle des unerwarteten Verhaltens in Agents finden können.

Das folgende Diagramm zeigt, wie Databricks in MLflow integriert wird, um KI-Agents zu erstellen und bereitzustellen.

MLflow integriert sich mit Databricks, um den Lebenszyklus von generativen KI-Apps zu verwalten.

Databricks-verwalteter MLflow basiert auf Unity Catalog und Cloud Data Lake, um alle Ihre Daten und KI-Ressourcen im Lebenszyklus der Gen-AI-App zu vereinheitlichen.

  1. Vektor- und Featurespeicher: Databricks automatisierte Vektor- und Feature-Nachschlagevorgänge vereinfachen die Integration und reduzieren Fehler.
  2. Erstellen und bewerten Sie KI-Agenten: Das Mosaik AI Agent Framework und die Agent Evaluation helfen Ihnen, Agenten zu erstellen und deren Ausgabe zu bewerten.
  3. Tracking & Tracing: MLflow-Tracing erfasst detaillierte Informationen zur Ausführung von Agenten für eine verbesserte generative KI-Überwachbarkeit.
  4. Modellregistrierung: MLflow Model Registry, integriert in Unity Catalog zentralisiert KI-Modelle und Artefakte.
  5. Modellbereitstellung: Mosaik AI Model Serving stellt Modelle auf einem REST-API-Endpunkt bereit.
  6. Überwachung: MLflow erfasst automatisch Anforderungen und Antworten, um Modelle zu überwachen und zu debuggen.

Open Source- gegenüber Databricks-verwalteten MLflow-Funktionen

Allgemeine MLflow-Konzepte, APIs und Features, die zwischen Open Source- und Databricks-verwalteten Versionen gemeinsam genutzt werden, finden Sie in der MLflow-Dokumentation. Features, die exklusiv für databricks-managed MLflow sind, finden Sie in der Databricks-Dokumentation.

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen open Source MLflow und databricks-managed MLflow erläutert und Dokumentationslinks bereitgestellt, die Ihnen helfen, mehr zu erfahren:

Merkmal Verfügbarkeit von Open Source MLflow Verfügbarkeit in MLflow, das von Databricks verwaltet wird
Sicherheit Der Benutzer muss seine eigene Sicherheits-Governance-Ebene bereitstellen. Sicherheit auf Unternehmensniveau von Databricks
Notfallwiederherstellung Nicht verfügbar Databricks-Notfallwiederherstellung
Experimentnachverfolgung MLflow-Nachverfolgungs-API MLflow-Tracking-API integriert in Databricks Advanced Experiment Tracking
Modellregistrierung MLflow-Modellregistrierung MLflow Model Registry in den Databricks Unity Catalog integriert
Integration des Unity Catalog Open Source-Integration in Unity-Katalog Databricks Unity-Katalog
Modellimplementierung Vom Benutzer konfigurierte Integrationen mit externen Servicelösungen (SageMaker, Kubernetes, Containerdienste usw.) Databricks Model Serving und externe Servicelösungen
KI-Agenten MLflow LLM-Entwicklung MLflow LLM-Entwicklung integriert in Mosaic AI Agent Framework und Agenten-Evaluierung
Verschlüsselung Nicht verfügbar Verschlüsselung mit vom Kunden verwalteten Schlüsseln