Grüner Scheck
Link in die Zwischenablage kopiert

Log Ultralytics YOLO Experimente mit der MLflow-Integration

Erfahre, wie die MLflow-Integration und -Protokollierung deine Ultralytics YOLO Experimente verbessern und eine bessere Verfolgung für Computer-Vision-Anwendungen ermöglichen kann.

Du kannst dir ein Computer Vision Projekt wie ein Puzzle vorstellen. Im Wesentlichen bringst du Maschinen bei, visuelle Daten zu verstehen, indem du die einzelnen Teile des Puzzles zusammensetzt, z. B. einen Datensatz sammelst, ein Modell trainierst und es einsetzt. Wenn alles zusammenpasst, erhältst du ein System, das Bilder und Videos effektiv analysieren und verstehen kann.

Aber genau wie bei einem echten Puzzle ist nicht jeder Teil eines Computer Vision Projekts einfach zu lösen. Aufgaben wie die Nachverfolgung von Experimenten (Aufzeichnung deiner Einstellungen, Konfigurationen und Daten) und die Protokollierung (Erfassung von Ergebnissen und Leistungskennzahlen) können viel Zeit und Mühe kosten. Obwohl diese Schritte für die Verbesserung und Verfeinerung deiner Computer Vision Modelle wichtig sind, können sie sich manchmal wie ein Engpass anfühlen.

Hier kommen die Modelle von Ultralytics YOLO und seine Integration in MLflow ins Spiel. Modelle wie Ultralytics YOLO11 unterstützen eine Vielzahl von Computer-Vision-Aufgaben, darunter Objekterkennung, Instanzsegmentierung und Bildklassifizierung. Diese Fähigkeiten ermöglichen die Entwicklung spannender Computer Vision Anwendungen. Durch die Möglichkeit, sich auf Integrationen wie die MLflow-Integration zu verlassen, können sich Bildverarbeitungsingenieure auf das Modell selbst konzentrieren, anstatt sich in Details zu verlieren. 

Insbesondere die MLflow-Integration vereinfacht den Prozess, indem sie verschiedene Metriken, Parameter und Artefakte während des gesamten Trainingsprozesses protokolliert. In diesem Artikel erfahren wir, wie die MLflow-Integration funktioniert, welche Vorteile sie bietet und wie du sie nutzen kannst, um deine Ultralytics YOLO Arbeitsabläufe zu optimieren.

Was ist MLflow?

MLflow ist eine Open-Source-Plattform (entwickelt von Databricks), die den gesamten Lebenszyklus des maschinellen Lernens rationalisieren und verwalten soll. Sie umfasst den Prozess der Entwicklung, des Einsatzes und der Pflege von Machine-Learning-Modellen. 

MLflow umfasst die folgenden Schlüsselkomponenten:

  • Experiment Tracking: Diese Komponente konzentriert sich auf die Aufzeichnung wichtiger Details wie Modelleinstellungen, Ergebnisse und Dateien für jeden Modell-Trainingslauf. Sie hilft dir, Modelle zu vergleichen, zu sehen, wie sich Änderungen auf die Leistung auswirken, und das beste Modell zu finden.
  • Modellregistrierung: Es ist wie ein Speichersystem für deine Modelle, in dem du die verschiedenen Versionen nachverfolgen und sie nach Phasen wie Testen, Staging und Produktion organisieren kannst.
  • Projektpaketierung: MLflow macht es einfach, deine Machine Learning-Projekte zu bündeln, einschließlich des Codes, der Einstellungen und der erforderlichen Tools, damit sie in verschiedenen Teams und Umgebungen gemeinsam und einheitlich genutzt werden können.
  • Modellbereitstellung: MLflow bietet Werkzeuge, mit denen du deine trainierten Modelle schnell auf Workstations oder Cloud-Plattformen wie AWS und Azure bereitstellen kannst, damit sie in der Praxis eingesetzt werden können.
Abb. 1. Komponenten von MLflow.

Die Komponenten von MLflow machen den Prozess des maschinellen Lernens einfacher und effizienter zu verwalten. Durch diese Integration ermöglicht Ultralytics die Nutzung der MLflow-Funktion zur Verfolgung von Experimenten, um Parameter, Metriken und Artefakte beim Training von YOLO Modellen zu protokollieren. Das macht es einfach, verschiedene YOLO Modellversionen zu verfolgen und zu vergleichen.

Die MLflow-Integration rationalisiert die Ausbildung

Jetzt, wo wir wissen, was MLflow ist, wollen wir uns die Details der MLflow-Integration ansehen und welche Funktionen sie bietet. 

Die MLflow-Integration wurde entwickelt, um den Trainingsprozess effizienter und organisierter zu gestalten, indem wichtige Aspekte deiner Computer Vision Experimente automatisch verfolgt und protokolliert werden. Sie ermöglicht drei Hauptarten der Protokollierung: Metriken, Parameter und Artefakte.

Hier ist ein genauerer Blick auf die einzelnen Arten des Holzeinschlags:

  • Metriken protokollieren: Metriken sind quantitative Werte, die die Leistung deines Modells während des Trainings messen. Metriken wie Genauigkeit, Präzision, Rückruf oder Verlust werden zum Beispiel am Ende jeder Epoche (eines vollständigen Durchlaufs durch deinen Datensatz) aufgezeichnet. 
  • Parameterprotokollierung: Parameter sind die Einstellungen, die du vor Beginn des Modelltrainings festlegst, z. B. die Lernrate, die Stapelgröße (die Anzahl der Proben, die in einem Trainingsschritt verarbeitet werden) und die Anzahl der Epochen. Diese Parameter haben einen großen Einfluss auf das Verhalten und die Leistung deines Modells.
  • Artefakte protokollieren: Artefakte sind die während des Trainings erzeugten Ergebnisse oder Dateien. Dazu gehören wichtige Dateien wie Modellgewichte (die numerischen Werte, die dein Modell während des Trainings lernt), Konfigurationsdateien (in denen die Trainingseinstellungen gespeichert sind) und andere relevante Daten. 
Abb. 2. Die wichtigsten Protokollierungsfunktionen der MLflow-Integration. Bild vom Autor.

So funktioniert die MLflow-Integration

In der Dokumentation Ultralytics findest du eine Schritt-für-Schritt-Anleitung zur Aktivierung der MLflow-Integration. Sobald die Integration eingerichtet ist, verfolgt und protokolliert sie automatisch wichtige Details deiner Trainingsexperimente, wie oben beschrieben. Dadurch entfällt die manuelle Nachverfolgung und du kannst dich ganz auf die Verfeinerung deiner Modelle konzentrieren.

Mit der MLflow-Integration werden alle deine Trainingsläufe an einem Ort gespeichert, was den Vergleich der Ergebnisse und die Bewertung verschiedener Konfigurationen erleichtert. Durch den Vergleich der protokollierten Ergebnisse kannst du die leistungsstärksten Konfigurationen ermitteln und diese Erkenntnisse zur Verbesserung deiner Modelle nutzen. So wird dein Arbeitsablauf effizienter, gut dokumentiert und reproduzierbar.

Jede Trainingseinheit wird in einem Experiment organisiert, das als Container für mehrere Läufe dient. Innerhalb eines Experiments kannst du alle zugehörigen Läufe anzeigen, ihre Leistung nebeneinander vergleichen und Trends in verschiedenen Konfigurationen analysieren. 

Wenn du zum Beispiel verschiedene Lernraten oder Losgrößen mit Ultralytics YOLOv8 testest, werden alle zusammenhängenden Läufe zum einfachen Vergleich und zur Analyse unter demselben Experiment zusammengefasst, wie unten gezeigt.

Abb. 3. Du kannst Experimente mit der MLflow-Integration ansehen.

Auf der Ebene der einzelnen Läufe bietet MLflow detaillierte Einblicke in die jeweilige Trainingssitzung. Du kannst Metriken wie Genauigkeit, Verlust und Präzision über Epochen hinweg einsehen, die verwendeten Trainingsparameter (z. B. Stapelgröße und Lernrate) überprüfen und auf generierte Artefakte wie Modellgewichte und Konfigurationsdateien zugreifen. Diese Details werden in einem übersichtlichen Format gespeichert, so dass es einfach ist, jeden Lauf erneut zu besuchen oder zu reproduzieren.

Die Wahl der MLflow-Integration: warum sie sich auszeichnet

Wenn du die Dokumentation vonUltralytics durchgehst und die verfügbaren Integrationen erkundest, stellst du dir vielleicht die Frage: Was ist das Besondere an der MLflow-Integration und warum sollte ich sie für meinen Workflow wählen?

Angesichts von Integrationen wie TensorBoard, die auch Tools zum Verfolgen von Metriken und zur Visualisierung von Ergebnissen bieten, ist es wichtig, die einzigartigen Qualitäten zu verstehen, die die MLflow-Integration auszeichnen. 

Hier ist, warum MLflow die ideale Wahl für deine YOLO Projekte sein könnte:

  • Benutzerfreundliche Oberfläche: Das MLflow-Dashboard macht es einfach, Experimente zu betrachten, Läufe zu vergleichen und Ergebnisse zu analysieren, damit du schnell die besten Konfigurationen findest.
  • Benutzerdefinierte Metrikprotokollierung: Vision-Ingenieure können zusätzlich zu den Standardmetriken auch benutzerdefinierte Metriken protokollieren, um eine tiefgreifendere Analyse für ihre Projektanforderungen zu ermöglichen.
  • Unterstützung für mehrsprachige Workflows: MLflow ist mit mehreren Programmiersprachen kompatibel, darunter Python, R und Java, was die Integration in verschiedene Pipelines für maschinelles Lernen erleichtert.

Praktische Anwendungen von YOLO11 und der MLflow-Integration

Um ein umfassenderes Verständnis dafür zu bekommen, wann du die MLflow-Integration nutzen kannst, betrachten wir eine KI-Anwendung im Gesundheitswesen, bei der du YOLO11 trainieren musst, um Tumore in Röntgen- oder CT-Bildern zu erkennen. 

In einem solchen Szenario würde der Datensatz aus beschrifteten medizinischen Bildern bestehen. Du müsstest mit verschiedenen Konfigurationen experimentieren, z. B. mit der Anpassung der Lernrate, der Stapelgröße und der Bildvorverarbeitungstechniken, um eine optimale Genauigkeit zu erreichen. Da im Gesundheitswesen viel auf dem Spiel steht und Präzision und Zuverlässigkeit entscheidend sind, kann die manuelle Nachverfolgung jedes Experiments schnell unübersichtlich werden.

Abb. 4. Erkennung von Tumoren mit Ultralytics YOLO11 .

Die MLflow-Integration löst diese Herausforderung, indem sie automatisch die Parameter, Metriken und Artefakte jedes Experiments aufzeichnet. Wenn du zum Beispiel die Lernrate änderst oder eine neue Augmentierungsstrategie anwendest, zeichnet MLflow diese Änderungen zusammen mit den Leistungskennzahlen auf. Außerdem speichert MLflow die trainierten Modellgewichte und -konfigurationen und stellt so sicher, dass erfolgreiche Modelle leicht reproduziert und eingesetzt werden können. 

Dies ist nur ein Beispiel dafür, wie die MLflow-Integration die Verwaltung von Experimenten in Vision AI-Anwendungen verbessert. Die gleichen Funktionen gelten auch für andere Computer Vision-Anwendungen, z. B.:

  • Autonomes Fahren: YOLO11 kann genutzt werden, um Fußgänger, Fahrzeuge und Verkehrszeichen in Echtzeit zu erkennen und zu klassifizieren, um die Sicherheit und Effizienz von selbstfahrenden Systemen zu verbessern.
  • Einzelhandelsanalytik: Modelle zur Objekterkennung können das Kundenverhalten überwachen, Produktplatzierungen nachverfolgen und den Bestand optimieren, indem sie die Aktivitäten in den Läden anhand von Videoübertragungen analysieren.
  • Sicherheit und Überwachung: Modelle können so trainiert werden, dass sie Anomalien erkennen oder in Echtzeit Aktivitäten in sensiblen Bereichen überwachen, um die Sicherheit zu erhöhen.

Vorteile der MLflow-Integration

Die MLflow-Integration mit YOLO Modellen macht die Verwaltung von Machine Learning-Experimenten einfacher und effizienter. Indem sie wichtige Aufgaben automatisiert und alles organisiert, kannst du dich auf die Erstellung und Verbesserung deiner Modelle konzentrieren. Hier ein Blick auf die wichtigsten Vorteile:

  • Skalierbar für große Projekte: Die Plattform kann mehrere Experimente und Modelle effizient verarbeiten und eignet sich daher für größere Teams und komplexe Arbeitsabläufe.
  • Detaillierter Versuchsverlauf: Die Plattform speichert eine vollständige Historie der Experimente, so dass du frühere Durchläufe wieder aufrufen, frühere Konfigurationen analysieren und aus früheren Ergebnissen lernen kannst.
  • Deaktivieren und Zurücksetzen von Optionen: Die MLflow-Protokollierung lässt sich leicht deaktivieren, wenn sie nicht benötigt wird, und die Einstellungen können auf die Standardwerte zurückgesetzt werden, um sich flexibel an unterschiedliche Arbeitsabläufe anzupassen.

Die wichtigsten Erkenntnisse

Die MLflow-Integration macht die Verwaltung und Optimierung von Ultralytics YOLO Experimenten einfacher und effizienter. Durch die automatische Verfolgung wichtiger Details wie Parameter, Metriken und Artefakte vereinfacht sie den Prozess und macht die manuelle Verwaltung von Experimenten überflüssig. 

Ganz gleich, ob du an Lösungen für das Gesundheitswesen wie der Tumorerkennung arbeitest, autonome Fahrsysteme verbesserst oder die Analytik im Einzelhandel ausbaust, diese Integration hilft dir, alles zu organisieren und reproduzierbar zu machen. Mit seiner intuitiven Benutzeroberfläche und seiner Flexibilität ermöglicht MLflow es Entwicklern, sich auf die Erstellung besserer Modelle zu konzentrieren und Innovationen in Vision AI-Anwendungen voranzutreiben.

Werde Teil unserer Community und sieh dir unser GitHub-Repository an, um mehr über KI zu erfahren. Du kannst auch weitere Anwendungen von Computer Vision in der Fertigung oder KI in selbstfahrenden Autos auf unseren Lösungsseiten entdecken.

Facebook-LogoTwitter-LogoLinkedIn-LogoKopier-Link-Symbol

Lies mehr in dieser Kategorie

Lass uns gemeinsam die Zukunft
der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens