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.
MLflow für GenAI bietet ein umfassendes Datenmodell, das speziell für die Entwicklung, Auswertung und Überwachung von generativen KI-Anwendungen entwickelt wurde. Auf dieser Seite werden die Kernkonzepte und ihre Zusammenarbeit erläutert.
Überblick
MLflow organisiert alle GenAI-Anwendungsdaten innerhalb von Experimenten. Ein Experiment ist ein Projektordner, der jedes Protokoll, sämtliche Evaluierungsläufe, App-Versionen, Prompts und Qualitätsbewertungen aus dem gesamten Lebenszyklus einer App enthält.
Die Datenmodellstruktur wird unten beschrieben. Ausführliche Informationen finden Sie unter "Datenmodell".
-
Experiment: Container für die Daten einer einzelnen Anwendung
- Einblicksdaten
-
Spuren: App-Ausführungsprotokolle
- Bewertungen: Qualitätsmessungen, die an ein Protokoll angefügt sind
-
Spuren: App-Ausführungsprotokolle
- Auswertungsdaten
- Auswertungsdatensätze: Eingaben für die Qualitätsbewertung
- Auswertungsläufe: Ergebnisse der Qualitätsbewertung
- Daten für die Beschriftung durch Menschen
- Kennzeichnungssitzungen: Warteschlangen von Ablaufverfolgungen für die menschliche Kennzeichnung
- Bezeichnungsschemas: Strukturierte Fragen zum Stellen von Bezeichnungen
- Anwendungsversionsdaten
- Registrierte Modelle: Momentaufnahmen der App-Version
- Eingabeaufforderungen: LLM-Eingabeaufforderungsvorlagen
- Einblicksdaten
Hinweis
MLflow erfordert nur die Verwendung von Ablaufverfolgungen. Alle anderen Aspekte des Datenmodells sind optional, aber dringend empfohlen.
MLflow bietet die folgenden SDKs für die Interaktion mit den Daten einer App, um die Qualität zu bewerten und zu verbessern. Ausführliche Informationen finden Sie unter MLflow-SDKs zur Bewertung der Qualität.
-
mlflow.genai.scorers.*: Funktionen, die die Qualität einer Ablaufverfolgung analysieren und Feedbackbewertungen erstellen. -
mlflow.genai.evaluate(): SDK zum Auswerten der App-Version mithilfe von Auswertungsdatensätzen und Scorern zur Identifizierung und Verbesserung von Qualitätsproblemen. -
mlflow.genai.add_scheduled_scorer(): SDK für die Ausführung von Scorern für Produktionsablaufverfolgungen zur Überwachung der Qualität.
MLflow bietet die folgenden UIs zum Anzeigen und Verwalten der App-Daten:
- App überprüfen: Web-UI zum Sammeln von Bewertungen von Domänenexperten.
- MLflow Experiment UI: UIs zum Anzeigen und Interagieren mit Ablaufverfolgungen, Auswertungsergebnissen, Labeling-Sitzungen, App-Versionen und Prompts.
Datenmodell
In diesem Abschnitt werden die einzelnen Entitäten im MLflow-Datenmodell kurz beschrieben.
Experimente
Ein Experiment in MLflow ist ein benannter Container, der alle Artefakte im Zusammenhang mit einer einzigen GenAI-Anwendung organisiert und gruppiert. Wenn Sie mit MLflow für klassische ML vertraut sind, ist der Experimentcontainer identisch zwischen klassischem ML und GenAI.
Einblicksdaten
Ablaufverfolgungen
Ablaufverfolgungen erfassen die vollständige Ausführung Ihrer GenAI-Anwendung, einschließlich Eingaben, Ausgaben und jeden Zwischenschritt (LLM-Aufrufe, Abrufe, Toolverwendung). Spuren:
- Werden automatisch für jede Ausführung Ihrer Anwendung in der Entwicklung und Produktion erstellt.
- Sind (optional) mit den spezifischen Anwendungsversionen verknüpft, die sie generiert haben.
- Fügen Sie Bewertungen bei, die Folgendes enthalten:
- Qualitätsfeedback von Scorern, Endbenutzern und Domänenexperten.
- Erwartungen der Domänenexperten an die Grundwahrheit.
Ablaufverfolgungen werden verwendet, um:
- Beobachten und Debuggen des Anwendungsverhaltens und der Leistung (z. B. Latenz und Kosten).
- Erstellen Sie Auswertungsdatensätze basierend auf Produktionsprotokollen zur Verwendung in der Qualitätsauswertung.
Erfahren Sie mehr in Ablaufverfolgungskonzepten, folgen Sie der Schnellstartanleitung, um Ihre erste Ablaufverfolgung zu protokollieren, oder folgen Sie dem Leitfaden zur Instrumentierung Ihrer App zur Implementierung der Ablaufverfolgung in Ihrer App.
Bewertungen
Bewertungen sind Qualitätsmessungen und Boden-Wahrheitsbezeichnungen, die an eine Spur angefügt sind. Es gibt zwei Arten von Bewertungen, Feedback und Erwartungen.
Feedback bezieht sich auf Beurteilungen über die Qualität der App-Ausgaben. Sie wird von Endbenutzern, Domänenexperten oder automatisierten Scorern hinzugefügt und zur Identifizierung von Qualitätsproblemen verwendet. Einige Beispiele sind Daumen hoch oder Daumen runter von Endbenutzern und die Bewertung des LLM-Richters hinsichtlich der Korrektheit einer Antwort.
Erwartungen sind Bodenwahrheitsbezeichnungen, die die richtige Ausgabe für eine bestimmte Eingabe definieren. Es wird von Domänenexperten hinzugefügt und wird als "Goldstandard" verwendet, um zu bewerten, ob Ihre App die richtige Antwort erzeugt hat. Einige Beispiele sind die erwartete Antwort auf eine Frage und die erforderlichen Fakten, die in einer Antwort vorhanden sein müssen.
Hinweis
Boden-Wahrheitsbezeichnungen (Erwartungen) sind nicht erforderlich, um die Qualität mit MLflow zu messen. Die meisten Anwendungen verfügen nicht über Boden-Wahrheitsbezeichnungen oder haben nur einen kleinen Satz.
Erfahren Sie mehr über die Protokollierung von Bewertungen, erfahren Sie, wie Sie Benutzerfeedback sammeln oder die Verwendung von Scorern zum Erstellen automatisierter Bewertungen erkunden.
Auswertungsdaten
Evaluierungsdatensätze
Auswertungsdatensätze sind kuratierte Sammlungen von Testfällen zum systematischen Testen Ihrer Anwendung. Auswertungsdatensätze:
- Sie werden in der Regel durch Auswahl repräsentativer Spuren aus der Produktion oder Entwicklung erstellt.
- Geben Sie Eingaben und optional Erwartungen (Referenzdaten) ein.
- Werden im Laufe der Zeit versioniert, um nachzuverfolgen, wie Sich Ihre Testsuite weiterentwickelt.
Auswertungsdatensätze werden verwendet, um:
- Iterativ bewerten und verbessern Sie die Qualität Ihrer App.
- Überprüfen Sie Änderungen, um Regressionen in der Qualität zu verhindern.
Erfahren Sie mehr in der Referenz zu den Auswertungsdatensätzen, oder befolgen Sie den Leitfaden zum Erstellen von Auswertungsdatensätzen , die Techniken zum Auswählen und Verwenden von Produktionsablaufverfolgungen umfassen.
Auswertungsausführungen
Auswertungsläufe sind die Ergebnisse des Testens einer Anwendungsversion mit einem Auswertungsdatensatz mithilfe einer Reihe von Scoreren. Auswertungsläufe:
- Enthalten Sie die von der Auswertung generierten Spuren (und deren Analysen).
- Enthalten aggregierte Metriken basierend auf den Bewertungen.
Auswertungsläufe werden verwendet, um:
- Ermitteln Sie, ob sich die Qualität der Anwendung verbessert oder verschlechtert hat.
- Vergleichen Sie Versionen Ihrer Anwendung nebeneinander.
- Verfolgen Sie Qualitätsbewertungen im Laufe der Zeit.
Hinweis
Auswertungsläufe sind eine spezielle Art von MLflow Run und können über mlflow.search_runs()abgefragt werden.
Erfahren Sie mehr über die Auswertungsumgebung, befolgen Sie den Leitfaden, um die Auswertung zu verwenden, um Ihre App zu verbessern.
Von Menschen gelabelte Daten
Beschriftungssitzungen
Labeling-Sitzungen organisieren Spuren zur Überprüfung durch Fachexperten. Kennzeichnungssitzungen
- Wählen Sie die Ablaufverfolgungen aus, die eine Expertenüberprüfung benötigen und die aus dieser Überprüfung resultierenden Bewertungen enthalten sollen, um sie in die Warteschlange zu stellen.
- Verwenden Sie Bezeichnungsschemas, um die Bewertungen für Experten zu strukturieren.
Bezeichnungssitzungen werden verwendet, um:
- Sammeln Sie Expertenfeedback zu komplexen oder mehrdeutigen Fällen.
- Erstellen Sie Boden-Wahrheitsdaten für Auswertungsdatensets.
Hinweis
Labeling-Sitzungen sind eine spezielle Art von MLflow Run und können über mlflow.search_runs() abgefragt werden.
Erfahren Sie mehr über Bezeichnungssitzungen, folgen Sie dem Leitfaden, um Feedback von Domänenexperten zu sammeln oder zu erfahren, wie Sie während der Entwicklung bezeichnungen.
Bezeichnungsschemas
Bezeichnungsschemas definieren die Bewertungen , die in einer Bezeichnungssitzung gesammelt werden, und stellen eine konsistente Bezeichnungssammlung für domänenübergreifende Experten sicher. Bezeichnungsschemas:
- Geben Sie an, welche Fragen prüfer gestellt werden sollen (z. B. "Ist diese Antwort korrekt?").
- Definieren Sie die gültigen Antworten auf eine Frage (z. B. Daumen nach oben/unten, 1 bis 5 Skalierungen oder Freitextkommentare).
Weitere Informationen finden Sie in der Referenz zu Bezeichnungsschemas.
Anwendungsversionsdaten
Aufforderungen
Eingabeaufforderungen sind versionsgesteuerte Vorlagen für LLM-Eingabeaufforderungen. Fordert:
- Werden mit dem Git-ähnlichen Versionsverlauf nachverfolgt.
- Für die dynamische Generierung
{{variables}}einschließen. - Sind mit Auswertungsläufen verknüpft, um ihre Qualität im Laufe der Zeit nachzuverfolgen.
- Unterstützen Sie Aliase wie "Produktion" für die Bereitstellungsverwaltung.
Protokollierte Modelle
Protokollierte Modelle stellen Momentaufnahmen Ihrer Anwendung zu bestimmten Zeitpunkten dar. Protokollierte Modelle:
- Verknüpfen Sie die von ihnen generierten Ablaufverfolgungen und die verwendeten Eingabeaufforderungen.
- Verknüpfung mit Auswertungsläufen, um ihre Qualität nachzuverfolgen.
- Verfolgen Sie Anwendungsparameter wie LLM-Temperatur.
Protokollierte Modelle können als Metadatenhub fungieren und eine konzeptionelle Anwendungsversion mit ihrem spezifischen externen Code verknüpfen (z. B. einen Zeiger auf den Git-Commit). Sie können auch ein protokolliertes Modell verwenden, um den Code und die Konfiguration Ihrer Anwendung als vollständig bereitstellungsfähiges Artefakt zu verpacken.
Weitere Informationen zur Versionsnachverfolgung, zum Nachverfolgen von Anwendungsversionen oder zum Verknüpfen von Ablaufverfolgungen mit Versionen.
MLflow-SDKs zur Bewertung der Qualität
Dies sind die Schlüsselprozesse, die die Qualität der Spuren bewerten und den Spuren Bewertungen hinzufügen, die die Ergebnisse der Auswertung enthalten.
Schützen
mlflow.genai.scorers.* sind Funktionen, die die Qualität eines Protokolls auswerten. Torschützen:
- Analysieren Sie eine Ablaufverfolgung für die zu bewertenden relevanten Datenfelder.
- Verwenden Sie diese Daten, um die Qualität mithilfe eines deterministischen Codes oder anhand von Kriterien zu beurteilen, die auf der Bewertung durch ein LLM basieren.
- Zurückgeben von Feedbackentitäten mit den Ergebnissen dieser Auswertung.
Derselbe Scorer kann für die Bewertung in der Entwicklung und Produktion verwendet werden.
Hinweis
Scorer vs. Richter: Wenn Sie mit LLM-Richtern vertraut sind, fragen Sie sich vielleicht, wie sie sich auf Scorer beziehen. In MLflow ist ein Evaluator ein aufrufbares SDK (wie mlflow.genai.judges.is_correct), das Text basierend auf bestimmten Kriterien auswertet. Richter können jedoch keine Spuren direkt verarbeiten – sie können nur Texteingaben verarbeiten. Scorer extrahieren die relevanten Daten aus einer Ablaufverfolgung (z. B. Anforderung, Antwort und abgerufenem Kontext) und übergeben sie zur Auswertung an den Richter. Stellen Sie sich Punktwerter als „Adapter” vor, der Ihre Ablaufverfolgung mit der Auswertungslogik verbindet, egal ob es sich um einen LLM-Richter oder benutzerdefinierten Code handelt.
Erfahren Sie mehr über integrierte und benutzerdefinierte Scorer.
Evaluierung in der Entwicklung
mlflow.genai.evaluate() ist das SDK von MLflow zur systematischen Bewertung der Qualität Ihrer Anwendung. Das Evaluierungswerkzeug nimmt ein Evaluierungsdatenset, eine Reihe von Scorern und die Vorhersagefunktion Ihrer Anwendung als Eingabe und initiiert einen Evaluierungslauf, der Ablaufprotokolle mit Feedbackbewertungen enthält.
- Führen Sie Ihre App für jeden Datensatz im Auswertungsdatensatz aus, wodurch Protokolle erzeugt werden.
- Führen Sie jeden Scorer auf den resultierenden Spuren aus, um die Qualität einzuschätzen und Feedback zu erzeugen.
- Fügen Sie jedes Feedback an die entsprechende Ablaufverfolgung an.
Das Evaluierungswerkzeug wird verwendet, um mögliche Verbesserungen Ihrer Anwendung iterativ zu bewerten und Ihnen dabei zu helfen:
- Überprüfen Sie, ob die Verbesserungsqualität verbessert (oder zurückgerückt) wurde.
- Identifizieren Sie zusätzliche Verbesserungen, um die Qualität weiter zu verbessern.
Erfahren Sie mehr über das Evaluierungsframework und befolgen Sie den Leitfaden, um Ihre App zu evaluieren.
Auswertung in der Produktion
mlflow.genai.Scorer.start() ermöglicht es Ihnen, Scorer zu planen, die Ablaufverfolgungen von Ihrer bereitgestellten Anwendung automatisch auswerten. Wenn ein Scorer angesetzt ist, startet der Produktionsüberwachungsdienst:
- Führt die Scorer auf Produktionsabläufen aus, um Feedback zu erzeugen.
- Fügt jedes Feedback an die Quellablaufverfolgung an.
Die Produktionsüberwachung wird verwendet, um Qualitätsprobleme schnell zu erkennen und problematische Abfragen oder Anwendungsfälle zu identifizieren, um die Entwicklung zu verbessern.
- Erfahren Sie mehr über Produktionsüberwachungskonzepte.
- Sehen Sie sich den Leitfaden zu Monitor GenAI in der Produktion an.
MLflow-Benutzeroberflächen
App überprüfen
Die Bewertungs-App ist eine Web-Benutzeroberfläche, in der Fachexperten Abläufe mit Bewertungen kennzeichnen. Es präsentiert Spuren von Labeling-Sitzungen und sammelt Bewertungen basierend auf Labeling-Schemas.
MLflow Experiment Benutzeroberfläche
Die Benutzeroberfläche des MLflow-Experiments bietet visuellen Zugriff auf viele Elemente des Datenmodells. Mithilfe der Benutzeroberfläche können Sie folgende Aktionen ausführen:
- Suchen und Anzeigen von Traces.
- Überprüfen Sie Feedback und Erwartungen.
- Anzeigen und Analysieren von Auswertungsergebnissen.
- Verwalten von Auswertungsdatensätzen.
- Verwalten Sie Versionen und Eingabeaufforderungen.
Nächste Schritte
- Erste Schritte: Folgen Sie der Schnellstartanleitung , um Ihre erste Anwendung nachzuverfolgen.
- Deep Dive: Erkunden Sie detaillierte Leitfäden zur Ablaufverfolgung, Auswertung oder zum menschlichen Feedback.