Was ist ein ML Experiment Tracking Tool?

Topics MLOps ML Experiment Tracking Tool

Definition

Ein Machine Learning (ML) Experiment Tracking Tool ist eine spezialisierte Software oder Plattform, die Data Scientists und ML-Entwickler dabei unterstützt, die große Menge an Informationen zu verwalten, zu organisieren und zu analysieren, die während des iterativen Entwicklungsprozesses von Machine-Learning-Modellen entsteht.

Überblick

Die Entwicklung eines Machine-Learning-Modells ist ein iterativer und nie endender Prozess. Beim Experimentieren mit Modellen spielen so viele Faktoren eine Rolle, dass es unmöglich ist, alles im Kopf zu behalten oder ein klassisches Projektmanagement-Tool zu verwenden. Genau hier kommen Machine-Learning-Experiment-Tracking-Tools ins Spiel. Solche Experiment-Management-Systeme dokumentieren verschiedene Parameter, Metadaten von Datensätzen und Metriken zu den Modellergebnissen und stellen diese zur Analyse bereit, um das Modell kontinuierlich zu verbessern.

Was ist ein ML Experiment Tracking Tool?

Im Gegensatz zu herkömmlichen Softwareentwicklungssystemen sind Machine-Learning-Systeme keine White-Box-Systeme, die in allen Fällen vorhersehbare Ergebnisse liefern. Die meisten Modelle sind Black Boxes mit begrenzter Erklärbarkeit und zeigen bereits bei kleinen Änderungen an Hyperparametern oder Trainingsdaten deutliche Verhaltensänderungen. Die Entwicklung eines Machine-Learning-Modells erfordert daher viel Forschung, Experimentieren und Geduld. Ein ML Experiment Tracking Tool hilft dabei, alle Aktivitäten rund um die Experimentdurchläufe zu verwalten und den Forschungsprozess zu optimieren.

Speicherung von Modell-Metadaten

Machine-Learning-Entwickler testen eine Vielzahl von Architekturen und deren Variationen, bevor sie sich für eine finale Version entscheiden. Selbst nach der Festlegung der Architektur optimieren sie zahlreiche Parameter, um die bestmögliche Performance zu erzielen. Diese Parameter variieren je nach Architektur, Leistungsanforderungen und Eingangsdaten. Schon kleine Änderungen an diesen Parametern können zu großen Abweichungen im Modellverhalten führen. ML Experiment Tracking Tools speichern alle Informationen zu den Trainingsläufen in durchsuchbarer Form.

Speicherung von Datenversionen

Das Modellverhalten verändert sich erheblich, wenn sich die Trainingsdaten ändern. In den meisten Machine-Learning-Projekten wird ein großer Teil der Gesamtprojektzeit für die Datenbereinigung und die Erstellung verfeinerter Versionen der Trainingsdaten aufgewendet. Es ist unmöglich, ein Modell ohne Zugriff auf genau die Trainingsdaten, mit denen es trainiert wurde, zu reproduzieren. ML Experiment Tracking Tools speichern die Versionsinformationen der Daten für alle Experimente.

Speicherung von Modellergebnismetriken

Die Ergebnisse jeder Variation der Modellarchitektur oder der Hyperparameter liefern wichtige Erkenntnisse darüber, wie sich das Modellverhalten bei Änderungen der Parameter verändert hat. Diese Informationen sind wertvoll für die Planung der nächsten Experimente. ML Tracking Tools speichern die Modellergebnismetriken und helfen Data Scientists, die Änderungen in den Ergebnissen mit den vorgenommenen Anpassungen zu korrelieren.

Baselines und Vergleich

Zu entscheiden, welches Modell für einen Anwendungsfall am besten geeignet ist, ist mühsam, wenn mehrere Modelle nur geringe Abweichungen in den Ergebnissen basierend auf denselben Testdaten zeigen. ML-Entwickler legen deshalb Baselines für die Modellgenauigkeit und die Datenversionen fest, bevor sie Parameter ändern und Experimente erneut durchführen. ML Tracking Tools speichern diese Basiswerte und vergleichen die Ergebnisse mit diesen Baselines. So können ML-Entwickler besser beurteilen, welches Modell in welcher Situation die bessere Performance liefert.

Benutzeroberfläche zur Ergebnisanalyse

ML Tracking Tools bieten intuitive Dashboards, die ML-Entwickler dabei unterstützen, das Modellverhalten zu untersuchen. So lässt sich nachvollziehen, bei welchen Datenbereichen die Ergebnisse nicht wie erwartet ausfallen, und es ist möglich, tiefer in den Testdatensatz einzutauchen, um die Ursachen zu verstehen. Dies liefert wertvolle Erkenntnisse für Teams, um neue Datensätze zu erstellen und verbesserte Modellvariationen zu entwickeln. ML Tracking Tools ermöglichen außerdem, individuelle Reports auf Basis eigener Metriken zu definieren.

Die Notwendigkeit eines ML Tracking Tools

Forschungsorientierter Arbeitsstil

Die Entwicklung von Machine-Learning-Modellen erfordert einen forschungsorientierten Arbeitsstil, der auf klar definierten Experimenten basiert. Da die meisten Modelle Black Boxes sind, haben Entwickler oft keine ausreichenden Informationen darüber, wie sich das Modellverhalten bei Änderungen der Modellparameter verändern wird. Daher nehmen ML-Entwickler häufig kleine Anpassungen an verschiedenen Parametern vor und beobachten das Modellverhalten, um die richtige Architektur zu finden. Die Eingabekonfigurationen und Ausgabemetriken aus dem vorherigen Experiment bilden dabei die Grundlage für die Planung des nächsten Experiments. Ein Tool, das alle Konfigurationen eines Experiments zuverlässig nachverfolgt, ist für diesen Entwicklungsstil unerlässlich.

Zu viele Variablen

Es gibt zahlreiche Variablen, die die Performance eines Machine-Learning-Modells beeinflussen können. Der wichtigste Faktor ist der Input-Datensatz. Der Großteil der Arbeit bei der Modellentwicklung entfällt auf die Verfeinerung der Datensätze. Hinzu kommen Hyperparameter, die von der Modellarchitektur abhängen. Selbst das Framework, auf dem das Modell implementiert wird, beeinflusst die Ergebnisse. Es ist keine Seltenheit, dass Modelle mit derselben Architektur unterschiedliche Ergebnisse liefern, wenn sie mit verschiedenen Deep-Learning-Frameworks umgesetzt werden. Ein Tool, das all diese Variablen im Blick behält, ist unverzichtbar, um systematisch arbeiten zu können.

Kollaborative Entwicklung

Da die Modellentwicklung zahlreiche, oft zeitaufwendige Experimente erfordert, führen ML-Entwicklerteams diese meist parallel aus. Das bedeutet, dass mehrere Entwickler gleichzeitig am selben Problem arbeiten und Experimente mit leichten Variationen durchführen. Ohne ein System, das die einzelnen Experimente dokumentiert und die Ergebnisse nachverfolgbar macht, ist es für Entwickler schwierig, Experimente fortzuführen, die von anderen gestartet oder konzipiert wurden.

Wie wählt man das richtige ML Experiment Tracking Tool aus?

Architekten müssen mehrere Faktoren berücksichtigen, bevor sie sich für ein ML Experiment Tracking Tool entscheiden. Zwar bieten die meisten ML Tracking Tools grundlegende Funktionen wie Parameter-Logging und Metrik-Aggregation, doch Aspekte wie Implementierungsmethodik, Integrationsfähigkeit und Visualisierungsfunktionen unterscheiden sich von Tool zu Tool. Einige der wichtigsten Kriterien bei der Auswahl eines ML Experiment Tracking Tools sind folgende:

Was muss nachverfolgt werden?

Ein klares Verständnis davon, welche Details in jedem Experiment erfasst werden sollen, ist der wichtigste Faktor bei der Auswahl eines Tools. Während in den meisten Fällen Modell-Hyperparameter und Ergebnisaggregation erforderlich sind, möchten manche Teams auch CPU-Auslastung oder Speicherverbrauch mitverfolgen.

Unterstützung von Datenversionen

Idealerweise sollte das Tool Funktionen bieten, um verschiedene Datenversionen zu verfolgen und darzustellen, wie Änderungen in den Trainingsdaten die Performance beeinflussen. Einige Tracking Tools können zudem „What-if“-Analysen durchführen und grundlegende Erklärungen zum trainierten Modell liefern.

Integration mit Ihren Frameworks und Systemen

Machine Learning ist ein sich schnell entwickelndes Feld mit einer Vielzahl an Machine-Learning- und Cloud-Frameworks. Bei der Auswahl eines Tracking Tools kann es sinnvoll sein, gleichzeitig die verwendeten Bibliotheken und Frameworks zu standardisieren. Manche Tools funktionieren besser mit bestimmten Frameworks und Cloud-Diensten.

Web-UI- vs. konsolenbasiert

Der Arbeitsstil Ihres Unternehmens und die Präferenzen Ihrer Entwickler spielen eine entscheidende Rolle bei der Wahl zwischen einem Code-basierten Tracking Tool und einer UI-basierten Lösung. UI-basierte Tracking Tools, die einem Minimal-Code-Ansatz folgen, lassen sich oft leichter integrieren, bieten jedoch möglicherweise weniger Flexibilität als Code-basierte Integrationen.

Server-Basiert vs. Managed

ML-Plattformen gibt es sowohl als serverbasierte Lösung als auch als vollständig gemanagte Services, die alle benötigten Funktionen wie Experiment-Tracking und Deployment bereitstellen. Managed Services ersparen Ihnen den Aufwand für Infrastruktur und Einrichtung.

 

Unterstützung für Modellvergleiche

Der Vergleich von Modellen über verschiedene Experimente hinweg und die Entscheidungsfindung auf Basis der Performance in bestimmten Datenfragmenten gehören zum Alltag von ML-Entwicklern. Ein Tracking Tool mit integrierter Modellvergleichsfunktion kann dabei helfen, die Markteinführungszeit zu verkürzen.

Detaillierte Analyse von Experimentdaten

Die Aufbereitung der protokollierten Daten in einer leicht verständlichen und durchsuchbaren Form ist bei einem ML Experiment Management System von entscheidender Bedeutung. Eine durchsuchbare Datenbank mit Experimentergebnissen hilft dabei, schnell neue Experimente zu planen.

Anpassungsmöglichkeiten

Die meisten ML-Anforderungen arbeiten mit benutzerdefinierten Metriken, um die Performance ihrer Modelle für spezifische Anwendungsfälle zu bewerten. Ihr Tracking Tool sollte daher die Möglichkeit bieten, eigene Metriken zu definieren und Ergebnisse entsprechend zu visualisieren.

Kollaborationsfunktionen

Ein gutes ML Tracking Tool sollte über integrierte Zugriffssteuerung und Kollaborationsfunktionen verfügen. Die Möglichkeit, parallele Experimente auszuführen, Ergebnisse im Team zu teilen und schnelle Entscheidungen für die nächsten Schritte zu treffen, ist ideal für ML-Entwicklungszyklen.

Wie verwendet man ein ML Experiment Tracking Tool?

ML Experiment Tracking Tools bestehen in der Regel aus zwei Komponenten:

  • Einem Client-SDK oder Code-Snippet, das Entwickler in ihren Trainingscode integrieren
  • Einem Dashboard und Visualisierungsservice, der Analysefunktionen bereitstellt

Die Nutzung eines ML Experiment Tracking Tools umfasst folgende Schritte:

  • Logging: Dabei wird der Client-Code in die Trainingsmodule integriert und es werden die Metriken definiert, die erfasst werden sollen.
  • Interpretation: Nach dem Experimentdurchlauf müssen Entwickler die Ergebnisse ihrer Experimente verstehen und mit vorherigen Läufen vergleichen. Tracking Tools bieten hierfür eine leicht durchsuchbare Oberfläche und Trendvisualisierungen als Unterstützung.
  • Experimentieren: Basierend auf den Erkenntnissen aus der Ergebnisinterpretation definieren ML-Entwickler neue Experimente, orientiert an ihren Genauigkeitszielen und Anwendungsfällen. Die Teams protokollieren die Experimentparameter im Tracking Tool und starten das nächste Experiment. Dieser Zyklus wiederholt sich während der gesamten Lebensdauer des Modells.

Die besten ML Experiment Tracking Tools

Verta.ai

Verta ist eine ML-Plattform, die alle Aktivitäten im Lebenszyklus eines Machine-Learning-Modells abdecken kann. Sie unterstützt beim Verwalten, Deployen, Betreiben und Überwachen von Modellen. Verta ist sowohl als vollständig gemanagte Lösung als auch als On-Premises- oder Private-Cloud-Deployment verfügbar. Die Experiment-Tracking-Funktion von Verta hilft bei der Speicherung von Modell-Metadaten, der Versionierung von Datensätzen und stellt die Reproduzierbarkeit von Modellen sicher.

Verta gruppiert die Aktivitäten im ML-Lebenszyklus in Projekte, Experimente und Experimentdurchläufe. Die protokollierten Informationen werden in Attribute, Hyperparameter, Metriken, Beobachtungen und Metadaten unterteilt. Attribute sind Schlüssel-Wert-Paare, die Merkmale und Input-Daten festhalten. Metriken sind Messwerte, die für einen kompletten Trainingslauf erfasst werden. Beobachtungen sind wiederkehrende Messwerte, die sich während eines einzelnen Laufs verändern können. Verta bietet ein intuitives Dashboard, das die Zusammenarbeit durch Sharing- und Inline-Kommentare unterstützt.

Neben dem Experiment-Tracking bietet Verta viele weitere Funktionen. Es gibt ein Model Registry, in dem Unternehmen ihre Modell-Assets verwalten können. Das Model Registry unterstützt typische Workflows wie Staging, Freigabe und Veröffentlichung. Verta kann in CI/CD-Tools wie Jenkins integriert werden, Modelle schnell paketieren und als Services bereitstellen. Es überwacht modellbezogene Themen wie Data Drift und Concept Drift. Verta unterstützt alle gängigen Open-Source-Frameworks wie TensorFlow, PyTorch, SKlearn usw. und funktioniert auch mit den ML-Services von AWS, GCP und Azure.

DVC

DVC ist eine Open-Source-Machine-Learning-Plattform, die Versionskontrolle für ML-Projekte, Experiment-Management, Deployment und Zusammenarbeit umfasst. DVC kann Datensatz- und Modellversionen über eine Befehlsstruktur verfolgen, die auf dem Git-Versionskontrollsystem basiert. DVC besteht aus mehreren Tools, die in verschiedene Abschnitte des Machine-Learning-Lifecycle-Managements passen.

DVC Live ist ein Satz von Bibliotheken, mit denen Informationen während des Trainings und der Inferenz protokolliert werden können. DVC Studio bietet eine visuelle Oberfläche, in der die protokollierten Informationen sowie Verwaltungsdaten eingesehen und angepasst werden können.

DVC Data Management konzentriert sich ausschließlich auf die Verwaltung von Modell- und Datenversionen. Die Data-Management-Schicht verfügt über einen Cache, der den schnellen Transfer von Daten-Assets zwischen Teams erleichtert. DVC kann in gängige CI/CD-Tools integriert werden und Modelle aus dem integrierten Model Registry in die Produktion überführen.

Das DVC Experiment Management Modul verwaltet detaillierte Experiment-Metadaten und stellt diese visuell dar. Experimente werden über eine Git-ähnliche Befehlszeile verwaltet. DVC verfolgt einen Code-basierten Ansatz und bietet Befehle zum Vergleichen und Speichern von Experimenten. Das Visualisierungsmodul unterstützt alle grundlegenden ML-Genauigkeits-Plots auf Basis von Confusion-Matrix und Fehlerwerten. DVC Live kann Trainingsmetriken wie Epochenverluste automatisch generieren, indem es mit gängigen Machine-Learning-Bibliotheken integriert wird und die Daten an das Visualisierungsmodul übergibt.

SageMaker

SageMaker ist eine Machine-Learning-Plattform, die von Amazon Web Services als vollständig gemanagter Service bereitgestellt wird. SageMaker ist als umfassende ML-Plattform konzipiert, die Experimente verwalten, Hyperparameter-Tuning automatisieren, Modelle registrieren, speichern und als APIs bereitstellen kann. SageMaker profitiert dabei von der engen Integration in die vollständig verwaltete Infrastruktur von AWS. Die Plattform verfügt über integrierte Datenverarbeitungsfunktionen, mit denen Entwickler die Datenvorverarbeitung direkt innerhalb der ML-Plattform durchführen können. Zudem bietet der integrierte Feature Store die Möglichkeit, Datenanomalien und Drifts mithilfe fortschrittlicher Algorithmen zu erkennen. Die Clarify-Funktion liefert Erklärungen zu den Modellausgaben.

Das Experiment-Plugin von SageMaker ermöglicht ML-Entwicklern, Metriken, Modell-Metadaten und Hyperparameter mit nur wenigen Zeilen Python-Code zu protokollieren, die sich problemlos in das Python-Modul integrieren lassen. Experimentläufe können über die Python-API, das SDK oder eine visuelle Oberfläche erstellt werden. Die Läufe werden basierend auf einem gemeinsamen Ziel in Run-Gruppen organisiert. Die erfassten Daten aus den Experimenten lassen sich in SageMaker Studio visualisieren. SageMaker ist bekannt für seine umfangreichen Visualisierungsfunktionen wie Scatterplots, Histogramme, Balkendiagramme und mehr. Die Daten können auch direkt in unabhängige Notebooks geladen und dort per Python-Code weiter analysiert werden. SageMaker Studio stellt Suchfunktionen bereit, um die Ergebnisse der Experimente auszuwerten.

Weights & Biases

Weights and Biases, kurz WandB, ist eine Developer-First-MLOps-Plattform mit Funktionen für Experiment-Tracking, Dataset-Versionierung und Modellmanagement. WandB kann entweder als vollständig gemanagter Cloud-Service genutzt oder in der eigenen Infrastruktur installiert werden. Die Plattform wirbt damit, sich mit nur fünf Codezeilen in jedes Trainings- oder Inferenzmodul integrieren zu lassen. Sie unterstützt alle bekannten Machine-Learning-Frameworks wie PyTorch, TensorFlow, Hugging Face und viele mehr. WandB kann Modell- und Dataset-Versionen über verschiedene Experimente hinweg verfolgen und die Ergebnisse in einem zentralisierten Model Repository speichern. Zudem unterstützt die Plattform automatisiertes Hyperparameter-Tuning.

Das Dashboard bietet kollaborative Funktionen wie Kommentare und Diskussions-Threads. Es hilft ML-Entwicklern dabei, Modellprobleme mithilfe interaktiver Visualisierungen zu debuggen. Die Experiment-Tracking-Funktion ermöglicht es, Trainingsmetadaten in Echtzeit an das Dashboard zu streamen und live zu visualisieren. WandB kann Hyperparameter für jedes Experiment erfassen und dokumentiert die Hardware-Nutzung automatisch. Daten wie CPU- und GPU-Auslastung sowie Netzwerkverbrauch werden automatisch geloggt; andere Parameter wie Gradienten oder Losses müssen manuell erfasst werden. Eine automatische Integration und Erfassung aller Trainingsmetriken erfolgt nicht. Wie andere ML Experiment Tracking Tools gruppiert WandB Experimente in Projekte. Jedes Projekt verfügt über eine Dashboard-Seite, auf der Entwickler:innen Ergebnisse verschiedener Runs vergleichen können. Die Funktion zur Dataset-Versionierung hilft zudem dabei, Daten automatisch zu deduplizieren.

Neptune

Im Gegensatz zu den anderen bisher genannten Tools ist Neptune AI ein reines Experiment-Tracking-Tool und verfolgt nicht den Anspruch, eine vollständige ML-Plattform zu sein. Es konzentriert sich auf das Experiment-Management und kann Modellversionen nachverfolgen. Ein integriertes Model Registry ist vorhanden. Neptune AI ist als On-Premises-Installation, Private-Cloud-Lösung oder als vollständig gemanagter Service verfügbar. Neptune organisiert Projekte in Workspaces, innerhalb derer Teams Experimente anlegen und diese auf Projekt- und Experimentebene im Dashboard visualisieren können.

Für das Experiment-Tracking stellt Neptune – wie andere Tools auch – ein SDK und eine Python-API bereit. Mit dem SDK lassen sich Metriken bei unterstützten Bibliotheken automatisch loggen. Die meisten bekannten Bibliotheken wie TensorFlow und PyTorch werden unterstützt. Wird mit einer nicht unterstützten Bibliothek gearbeitet, kann die Protokollierung manuell über den Trainingscode erfolgen. Neptune bietet keine eigene Datenversionskontrolle, kann jedoch über eine Integration mit DVC diese Funktionalität bereitstellen.

Darüber hinaus ermöglicht Neptune die Erstellung individueller Dashboards, bei denen Teams selbst auswählen können, auf welche Metriken sie sich fokussieren möchten. Sämtliche erfassten Metadaten werden über die Query-API zugänglich gemacht, was besonders hilfreich ist, wenn Neptune in andere Inhouse-Tools integriert werden soll.

Sacred + Omniboard

Sacred ist ein Open-Source-Tool auf Python-Basis für das Tracking von Experimenten. Es ist ausschließlich für das Experiment-Tracking gedacht und verfolgt nicht den Anspruch, eine vollständige ML-Plattform zu sein. Sacred konzentriert sich darauf, Informationen über Machine-Learning-Experimente zu protokollieren, bietet jedoch kein eigenes Dashboard. Stattdessen nutzt Sacred das Konzept der Observers, um Informationen zu Experimenten automatisch zu erfassen. Für die Visualisierung der mit Sacred protokollierten Daten gibt es Open-Source-Projekte wie Omniboard und Sacredboard. Sacred und Omniboard sind eine häufig verwendete Kombination. Da alle Komponenten Open Source sind, fallen keine Lizenzkosten an. Sacred verwendet bevorzugt MongoDB als Metadatenspeicher. Eine automatische Seeding-Funktion stellt sicher, dass Trainingsergebnisse reproduzierbar sind.

Omniboard ist ein Web-Dashboard, das speziell für Sacred-Experimente entwickelt wurde. Es verbindet sich mit der MongoDB-Instanz, in der Sacred die Informationen speichert. Omniboard listet alle Experimentläufe in Tabellenform auf und bietet die Flexibilität, Spalten basierend auf Metriken hinzuzufügen. Omniboard zeigt Plots auf Basis verschiedener Metriken an, kann die Konsolenausgabe eines Trainingslaufs anzeigen und diese regelmäßig ohne Benutzereingriff aktualisieren. Daten-Assets, die zu Experimenten gehören, können direkt aus dem Dashboard heruntergeladen werden. Außerdem lassen sich Ergebnisse aus mehreren Experimenten in einem einzigen Plot visualisieren und vergleichen. Sowohl Sacred als auch Omniboard werden unter der MIT-Lizenz bereitgestellt.

Comet

Comet ist eine umfassende ML-Plattform, die sowohl als vollständig gemanagter Service als auch als On-Premises-Deployment verfügbar ist. Comet kann den gesamten Lebenszyklus Ihrer Machine-Learning-Projekte abdecken. Die Plattform verfolgt Änderungen an Datenversionen inklusive Lineage-Dokumentation und kann auch Modelländerungen nachverfolgen. Die Comet UI bietet automatische und dynamische Reports für Experimente, Modelle und Produktions-Operationen. Experimente werden in der Benutzeroberfläche in Organisationen, Projekte und Workspaces gegliedert. Da Comet APIs für die UI bereitstellt, können Entwickler bei Bedarf auch eine eigene Benutzeroberfläche entwickeln, wenn sie mit der Standard-Visualisierung nicht zufrieden sind. Bei Selbst-Hosting ist Comet kostenlos nutzbar, während für gemanagte Services Kosten anfallen.

Das Tracking eines Experiments mit Comet erfolgt durch die Integration von nur wenigen Codezeilen. Comet unterstützt automatisches Logging für gängige Machine-Learning-Frameworks wie TensorFlow, PyTorch, Scikit-learn und Hugging Face. Für andere Frameworks muss das Logging manuell umgesetzt werden. Auf hoher Ebene erfasst das Auto-Logging Schritte, Metriken, Hardware-Nutzung, Modell-Graphen und Hyperparameter. Die genauen Parameter, die beim Auto-Logging erfasst werden, hängen vom jeweiligen Framework ab. Darüber hinaus stellt Comet eine API bereit, mit der die protokollierten Daten abgerufen werden können – ideal, wenn Entwickler eigene Dashboards erstellen oder die Daten per Code weiter analysieren möchten.

MLFlow

MLFlow ist eine Open-Source-Plattform, die den gesamten Entwicklungszyklus von Modellen abdeckt. Sie lässt sich mit jeder Machine-Learning-Bibliothek einsetzen und in beliebigen Cloud-Umgebungen betreiben. MLFlow bietet eine integrierte Spark-Unterstützung, was es ermöglicht, den Data-Engineering-Teil eines Modells direkt innerhalb der ML-Plattform auszuführen. MLFlow besteht aus vier Modulen: Tracking, Projects, Models und Model Registry.

  • Das Tracking-Modul kümmert sich um das Experiment-Tracking und speichert die damit verbundenen Metadaten.
  • Das Projects-Modul unterstützt beim Verpacken von wiederverwendbarem Operations-Code.
  • Das Models-Modul hilft beim Bereitstellen von Modellen als API.
  • Das Model Registry verwaltet die gespeicherten Modelle und ermöglicht deren Lifecycle-Management.

Da MLFlow Open Source ist, fallen keine Lizenzkosten an.

Im Tracking-Modul werden Experimente als Runs dargestellt. Jeder Run erfasst grundlegende Informationen wie Code-Version, Start- und Endzeit, Parameter, Metriken und Artefakte. Die Runs werden als Experimente gruppiert. Diese Informationen können lokal in Dateien, in einer SQL-kompatiblen Datenbank, auf einem MLFlow Remote Tracking Server oder in einem Databricks-Workspace gespeichert werden. MLFlow unterstützt automatisches Logging für Metriken bei unterstützten Frameworks wie TensorFlow, PyTorch, FastAI, LightGBM und anderen. Bei nicht unterstützten Bibliotheken können Entwickler:innen den Tracking-Code manuell in ihre Trainingsmodule integrieren und Informationen mit wenigen Codezeilen erfassen. Die MLFlow Tracking-UI ermöglicht es Entwicklern, die Ergebnisse zu analysieren und Runs zu vergleichen.

TensorBoard

TensorBoard ist ein Experiment-Tracking- und Visualisierungstoolkit, das von Google als Teil des TensorFlow-Frameworks bereitgestellt wird. TensorBoard bietet eine Benutzeroberfläche, um Metriken, Loss-Werte und Hyperparameter von Modellen zu visualisieren. Der Fokus liegt ausschließlich auf der Erfassung und Darstellung von Metriken. So können unter anderem Histogramme von Gewichten, Biases oder anderen sich verändernden Metriken angezeigt werden. Ein integriertes Model Registry oder eine Datenversionskontrolle gibt es nicht. TensorBoard kann zudem den Modellgraphen visualisieren und bei niedrigdimensionalen Daten Embeddings projizieren. Außerdem lassen sich TensorFlow-Programme profilieren sowie text- oder bildbasierte Ein- und Ausgabedaten darstellen. TensorBoard ist Open Source und kostenlos nutzbar.

Da TensorBoard in erster Linie für TensorFlow entwickelt wurde, ist die Integration mit anderen Machine-Learning-Frameworks nur begrenzt möglich. PyTorch bietet eine Integration mit TensorBoard, andere populäre Frameworks wie Scikit-learn hingegen nicht. Auch wenn TensorBoard keine Datenversionskontrolle bietet, können Entwickler diese Informationen manuell als Attribute aus ihrem Trainingscode protokollieren – TensorBoard stellt sie dann wie jede andere Metrik dar. Außerdem kann TensorBoard als Benutzeroberfläche mit anderen Logging-Frameworks genutzt werden, die automatisches Logging unterstützen. Wer jedoch ausschließlich mit TensorFlow arbeitet, findet in TensorBoard ein leistungsfähiges Basis-Tool für das Experiment-Tracking.

Polyaxon

Polyaxon ist eine Open-Source-ML-Operations- und Infrastrukturplattform, die als vollständig gemanagter Service oder als On-Premises-Deployment verfügbar ist. Sie unterstützt Experiment-Tracking, Orchestrierung, Modellmanagement, Datenversionierung sowie ein integriertes Model Registry. Polyaxon ist kompatibel mit Frameworks wie TensorFlow, Keras, Scikit-learn, MXNet und Caffe. Die Plattform bietet eine automatische Optimierungsfunktion, die Modellläufe vergleicht und das beste Modell vorschlägt. Außerdem können automatisierte Suchläufe durchgeführt werden, um die optimale Kombination von Hyperparametern zu finden. Für das Training und Deployment Ihrer Modelle können alle großen Cloud-Anbieter genutzt werden. Polyaxon stellt zudem eine Enterprise-Version für On-Premises-Bereitstellungen mit Premium-Support zur Verfügung.

Beim Tracking kann Polyaxon bei den unterstützten Frameworks wichtige Metriken automatisch protokollieren. Die Integration in nicht unterstützte Frameworks ist mit nur wenigen Codezeilen möglich. Über das Dashboard können Entwickler Runs vergleichen und mithilfe einer integrierten Abfragesprache noch tiefergehende Analysen durchführen. Polyaxon lässt sich mit Drittanbieter-Visualisierungstools wie TensorBoard verbinden. Darüber hinaus verfügt Polyaxon über ein integriertes Workflow-Automation-Modul, mit dem sich Datenflüsse vor und nach der Modellerstellung definieren lassen.

Neben dem Haupt-Dashboard bietet Polyaxon zwei weitere Benutzeroberflächen:

  • Die Project Management UI, mit der sich Zugriffsrechte und die logische Gruppierung von Runs verwalten lassen.
  • Die Organization Management UI, über die Teamzugriffe und Berechtigungen gesteuert werden können.

Pachyderm

Pachyderm ist auf datengetriebene Machine-Learning-Pipelines spezialisiert. Die Plattform kann Daten automatisch deduplizieren, Datenversionen verwalten und Trainingsläufe automatisch ausführen, sobald sich die Daten ändern. Ein Feature Store oder eine Serving Engine werden nicht unterstützt, ebenso wenig wie ein Monitoring. Pachyderm konzentriert sich speziell auf das Datenmanagement innerhalb von MLOps-Prozessen.

Als datenfokussierte Plattform lässt sich Pachyderm nahtlos mit Data Warehouses wie Snowflake und Redshift integrieren. Experiment-Tracking ist bei Pachyderm eher eine Zusatzfunktion und kein umfassendes Angebot wie bei anderen Tools in dieser Liste.

JFrog ML

Im Rahmen der JFrog Software Supply Chain Plattform ist JFrog ML ein vollständig gemanagtes MLOps-Tool, das alle Aktivitäten im Lebenszyklus der Machine-Learning-Modellentwicklung unterstützt. Es hilft Teams dabei, Daten zu transformieren und zu speichern, Modelle zu trainieren, bereitzustellen und zu überwachen. JFrog ML ermöglicht das Tracking von Experimenten und die Promotion des besten Modells aus den Ergebnissen in die Produktion. Darüber hinaus verfügt JFrog ML über einen integrierten Feature Store und unterstützt automatisiertes Monitoring.

Mehr über JFrog ML erfahren

Die Entwicklung von Machine-Learning-Modellen ist ein komplexer, iterativer Prozess, bei dem jedes Experiment von zahlreichen Variablen wie Daten, Hyperparametern oder sogar zufälligen Initialisierungen beeinflusst wird. Aufgrund dieser Komplexität ist ein ML Experiment Tracking Tool unverzichtbar. Solche Plattformen vereinfachen die Entwicklung, indem sie alle relevanten Metadaten speichern – einschließlich Modelldetails, Datenversionen und Output-Metriken – und über Suchoberflächen einen schnellen, systematischen Zugriff auf Hunderte vergangener Experimente ermöglichen.

JFrog ML vereinfacht die Skalierung und Produktivsetzung von Machine-Learning-Modellen und ermöglicht es Data-Science- und ML-Entwicklungsteams, Modelle kontinuierlich zu erstellen, zu trainieren und produktiv bereitzustellen. Indem es die Komplexität von Modellauslieferung, Integration und Optimierung abstrahiert, bringt JFrog ML Agilität und hohe Geschwindigkeit in alle ML-Initiativen.
Um mehr über JFrog ML zu erfahren, buchen Sie eine Demo.

 

More About MLOps

JFrog ML Model Management

Create a single system of record for ML models that brings ML/AI development in line with your existing SDLC.

Learn more

JFrog Artifactory

A single solution for housing and managing all your artifacts, binaries, packages, files, containers, and components.

Learn more

JFrog Xray

A universal software composition analysis (SCA) solution that provides an effective way to proactively identify vulnerabilities.

Learn more

Release Fast Or Die