Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

Protokollieren Sie Ultralytics YOLO-Experimente mit der MLflow-Integration

Abirami Vina

4 Min. Lesezeit

30. Dezember 2024

Entdecken Sie, wie die MLflow-Integration und -Protokollierung Ihre Ultralytics YOLO-Experimente verbessern und ein überlegenes Tracking für Computer-Vision-Anwendungen ermöglichen können.

Sie können sich ein Computer-Vision-Projekt wie ein Puzzle vorstellen. Im Wesentlichen bringen Sie Maschinen bei, visuelle Daten zu verstehen, indem Sie Puzzleteile zusammensetzen, wie z. B. das Sammeln eines Datensatzes, das Trainieren eines Modells und dessen Bereitstellung. Wenn alles passt, erhalten Sie 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. Aufgaben wie Experimentverfolgung (Aufzeichnung Ihrer Einstellungen, Konfigurationen und Daten) und Protokollierung (Erfassung von Ergebnissen und Leistungskennzahlen) können viel Zeit und Mühe kosten. Obwohl diese Schritte entscheidend für die Verbesserung und Verfeinerung Ihrer Computer-Vision-Modelle sind, können sie sich manchmal wie ein Engpass anfühlen.

Hier kommen die Ultralytics YOLO-Modelle und ihre Integration mit MLflow ins Spiel. Modelle wie Ultralytics YOLO11 unterstützen eine breite Palette von Computer-Vision-Aufgaben, darunter Objekterkennung, Instanzsegmentierung und Bildklassifizierung. Diese Fähigkeiten ermöglichen die Erstellung spannender Computer-Vision-Anwendungen. Die Möglichkeit, sich auf Integrationen wie die MLflow-Integration zu verlassen, ermöglicht es Vision Engineers, sich auf das Modell selbst zu konzentrieren, anstatt sich in Details zu verlieren. 

Insbesondere vereinfacht die MLflow-Integration den Prozess, indem sie verschiedene Metriken, Parameter und Artefakte während des gesamten Trainingsprozesses protokolliert. In diesem Artikel werden wir untersuchen, wie die MLflow-Integration funktioniert, welche Vorteile sie bietet und wie Sie sie verwenden können, um Ihre Ultralytics YOLO-Workflows zu optimieren.

Was ist MLflow?

MLflow ist eine Open-Source-Plattform (entwickelt von Databricks), die entwickelt wurde, um den gesamten Lebenszyklus des maschinellen Lernens zu rationalisieren und zu verwalten. Sie umfasst den Prozess der Entwicklung, des Deployments und der Wartung von Modellen für maschinelles Lernen. 

MLflow umfasst die folgenden Schlüsselkomponenten:

  • Experimentverfolgung: Diese Komponente konzentriert sich auf die Aufzeichnung wichtiger Details wie Modelleinstellungen, Ergebnisse und Dateien für jeden Modelltrainingslauf. Sie hilft Ihnen, Modelle zu vergleichen, zu sehen, wie sich Änderungen auf die Leistung auswirken, und das beste Modell zu finden.
  • Modellregister: Es ist wie ein Speichersystem für Ihre Modelle, in dem Sie verschiedene Versionen verfolgen und nach Phasen wie Test, Staging und Produktion organisieren können.
  • Projektpaketierung: MLflow vereinfacht das Bündeln Ihrer Machine-Learning-Projekte, einschließlich des Codes, der Einstellungen und der erforderlichen Tools, sodass diese team- und umgebungsübergreifend konsistent gemeinsam genutzt und verwendet werden können.
  • Modellbereitstellung: MLflow bietet Tools, um Ihre trainierten Modelle schnell an Orte wie Workstations oder Cloud-Plattformen wie AWS und Azure zu deployen, sodass sie für den realen Einsatz bereit sind.
__wf_reserved_inherit
Abb. 1. Komponenten von MLflow.

Die Komponenten von MLflow erleichtern und effizientisieren die Verwaltung des maschinellen Lernprozesses. Durch diese Integration ermöglicht Ultralytics die Nutzung der Experiment Tracking-Funktion von MLflow, um Parameter, Metriken und Artefakte während des Trainings von YOLO-Modellen zu protokollieren. Es vereinfacht das Verfolgen und Vergleichen verschiedener YOLO-Modellversionen.

Die MLflow-Integration optimiert das Training

Nachdem wir nun behandelt haben, was MLflow ist, wollen wir uns die Details der MLflow-Integration und die angebotenen Funktionen ansehen. 

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

Hier ist eine genauere Betrachtung der einzelnen Logging-Typen:

  • Metrikprotokollierung: Metriken sind quantitative Werte, die die Leistung Ihres Modells während des Trainings messen. Beispielsweise werden Metriken wie Genauigkeit, Präzision, Recall oder Verlust am Ende jeder Epoche (ein vollständiger Durchlauf durch Ihren Datensatz) erfasst. 
  • Parameterprotokollierung: Parameter sind die Einstellungen, die Sie vor Beginn des Modelltrainings definieren, wie z. B. Lernrate, Batch-Größe (die Anzahl der in einem Trainingsschritt verarbeiteten Stichproben) und die Anzahl der Epochen. Diese Parameter beeinflussen das Verhalten und die Leistung Ihres Modells erheblich.
  • Artefaktprotokollierung: Artefakte sind die Ausgaben oder Dateien, die während des Trainings generiert werden. Dazu gehören wichtige Dateien wie Modellgewichte (die numerischen Werte, die Ihr Modell während des Trainings lernt), Konfigurationsdateien (die die Trainingseinstellungen speichern) und andere relevante Daten.
__wf_reserved_inherit
Abb. 2. Wichtige Logging-Funktionen der MLflow-Integration. Bild vom Autor.

Wie die MLflow-Integration funktioniert

In der Ultralytics-Dokumentation finden Sie eine schrittweise Anleitung zur Aktivierung der MLflow-Integration. Nach der Einrichtung verfolgt und protokolliert die Integration automatisch wichtige Details Ihrer Trainingsversuche, wie oben beschrieben. Dies macht die manuelle Nachverfolgung überflüssig und hilft Ihnen, sich auf die Verfeinerung Ihrer Modelle zu konzentrieren.

Mit der MLflow-Integration werden alle Ihre Trainingsläufe an einem Ort gespeichert, was den Vergleich von Ergebnissen und die Bewertung verschiedener Konfigurationen erleichtert. Durch den Vergleich protokollierter Ergebnisse können Sie die leistungsstärksten Konfigurationen identifizieren und diese Erkenntnisse zur Verbesserung Ihrer Modelle nutzen. Dies stellt sicher, dass Ihr Workflow effizienter, gut dokumentiert und reproduzierbar ist.

Jede Trainingseinheit ist als Experiment organisiert, das als Container für mehrere Durchläufe dient. Innerhalb eines Experiments können Sie alle zugehörigen Durchläufe anzeigen, ihre Leistung nebeneinander vergleichen und Trends über verschiedene Konfigurationen hinweg analysieren. 

Wenn Sie beispielsweise verschiedene Lernraten oder Batchgrößen mit Ultralytics YOLOv8 testen, werden alle zugehörigen Durchläufe unter demselben Experiment zusammengefasst, um einen einfachen Vergleich und eine einfache Analyse zu ermöglichen, wie unten dargestellt.

__wf_reserved_inherit
Abb. 3. Sie können Experimente mithilfe der MLflow-Integration anzeigen.

MLflow bietet unterdessen auf der Ebene einzelner Durchläufe detaillierte Einblicke in die jeweilige Trainingseinheit. Sie können Metriken wie Genauigkeit, Verlust und Präzision über Epochen hinweg einsehen, die verwendeten Trainingsparameter (z. B. Batch-Größe und Lernrate) überprüfen und auf generierte Artefakte wie Modellgewichte und Konfigurationsdateien zugreifen. Diese Details werden in einem organisierten Format gespeichert, sodass es einfach ist, jeden Durchlauf erneut aufzurufen oder zu reproduzieren.

Die Wahl der MLflow-Integration: Warum sie sich auszeichnet

Wenn Sie die Ultralytics-Dokumentation durchgehen und die verfügbaren Integrationen erkunden, fragen Sie sich vielleicht: Was unterscheidet die MLflow-Integration und warum sollte ich sie für meinen Workflow wählen?

Mit Integrationen wie TensorBoard, die auch Tools zur Verfolgung von Metriken und zur Visualisierung von Ergebnissen bieten, ist es wichtig, die einzigartigen Eigenschaften zu verstehen, die die MLflow-Integration auszeichnen. 

Darum könnte MLflow die ideale Wahl für Ihre YOLO-Projekte sein:

  • Benutzerfreundliche Oberfläche: Das MLflow-Dashboard erleichtert das Anzeigen von Experimenten, das Vergleichen von Durchläufen und das Analysieren von Ergebnissen, sodass Sie schnell die Konfigurationen mit der besten Leistung identifizieren können.
  • Benutzerdefinierte Metrikprotokollierung: Vision Engineers können zusätzlich zu den Standardmetriken auch benutzerdefinierte Metriken protokollieren, was eine detailliertere Analyse ermöglicht, die auf ihre spezifischen Projektanforderungen zugeschnitten ist.
  • Unterstützung für mehrsprachige Workflows: MLflow ist mit mehreren Programmiersprachen kompatibel, darunter Python, R und Java, was die Integration in verschiedene Machine-Learning-Pipelines erleichtert.

Praktische Anwendungen von YOLO11 und der MLflow-Integration

Um ein umfassenderes Verständnis dafür zu erlangen, wann Sie die MLflow-Integration verwenden können, betrachten wir eine KI-Anwendung im Gesundheitswesen, bei der Sie YOLO11 trainieren müssen, um Tumore in Röntgen- oder CT-Bildern zu erkennen. 

In einem solchen Szenario würde der Datensatz aus annotierten medizinischen Bildern bestehen. Sie müssten mit verschiedenen Konfigurationen experimentieren, z. B. mit der Anpassung von Lernraten, Batch-Größen und Bildvorverarbeitungstechniken, um eine optimale Genauigkeit zu erzielen. Da im Gesundheitswesen viel auf dem Spiel steht und Präzision und Zuverlässigkeit entscheidend sind, kann die manuelle Verfolgung jedes Experiments schnell unübersichtlich werden.

__wf_reserved_inherit
Abb. 4. Erkennung von Tumoren mit Ultralytics YOLO11.

Die MLflow-Integration begegnet dieser Herausforderung, indem sie automatisch die Parameter, Metriken und Artefakte jedes Experiments protokolliert. Wenn Sie beispielsweise die Lernrate ändern oder eine neue Augmentierungsstrategie anwenden, zeichnet MLflow diese Änderungen zusammen mit den Leistungsmetriken auf. Außerdem speichert MLflow trainierte Modellgewichte und -konfigurationen, wodurch sichergestellt wird, dass erfolgreiche Modelle einfach reproduziert und eingesetzt werden können. 

Dies ist nur ein Beispiel dafür, wie die MLflow-Integration das Experimentmanagement in Vision-KI-Anwendungen verbessert. Die gleichen Funktionen gelten auch für andere Computer-Vision-Anwendungen, einschließlich:

  • Autonomes Fahren: YOLO11 kann verwendet 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: Objekterkennungsmodelle können das Kundenverhalten überwachen, Produktplatzierungen verfolgen und den Lagerbestand optimieren, indem sie die Aktivitäten im Geschäft über Video-Feeds analysieren.
  • Sicherheit und Überwachung: Modelle können trainiert werden, um Anomalien zu erkennen oder Echtzeitaktivitäten in sensiblen Bereichen zu ü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. Durch die Automatisierung wichtiger Aufgaben und die übersichtliche Organisation aller Daten können Sie sich auf den Aufbau und die Verbesserung Ihrer Modelle konzentrieren. Hier ist ein Überblick über die wichtigsten Vorteile:

  • Skaliert für große Projekte: Die Plattform verarbeitet mehrere Experimente und Modelle effizient und eignet sich daher für größere Teams und komplexe Arbeitsabläufe.
  • Detaillierte Experimenthistorie: Die Plattform führt eine vollständige Historie der Experimente, sodass Sie frühere Durchläufe erneut aufrufen, frühere Konfigurationen analysieren und aus früheren Ergebnissen lernen können.
  • Deaktivieren und Zurücksetzen von Optionen: MLflow-Logging kann bei Bedarf einfach deaktiviert und die Einstellungen auf die Standardwerte zurückgesetzt werden, was Flexibilität bietet, um sich an unterschiedliche Workflow-Anforderungen anzupassen.

Wesentliche 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 beseitigt den Aufwand der manuellen Experimentverwaltung. 

Ob Sie an Lösungen für das Gesundheitswesen wie der Tumorerkennung, der Verbesserung autonomer Fahrsysteme oder der Verbesserung der Einzelhandelsanalyse arbeiten, diese Integration trägt dazu bei, dass alles organisiert und reproduzierbar bleibt. Mit seiner intuitiven Benutzeroberfläche und Flexibilität ermöglicht MLflow es Entwicklern, sich auf die Entwicklung besserer Modelle und die Förderung von Innovationen in Vision AI-Anwendungen zu konzentrieren.

Treten Sie unserer Community bei und besuchen Sie unser GitHub-Repository, um mehr über KI zu erfahren. Auf unseren Lösungsseiten können Sie auch weitere Anwendungen von Computer Vision in der Fertigung oder KI in selbstfahrenden Autos entdecken.

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten
Link in die Zwischenablage kopiert