Glossar

YAML

Entdecke die Leistungsfähigkeit von YAML in AI/ML! Vereinfache Konfigurationen, straffe Arbeitsabläufe und verbessere die Lesbarkeit mit diesem vielseitigen Datenformat.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

YAML Ain't Markup Language (YAML) ist eine für Menschen lesbare Sprache zur Datenserialisierung, die so konzipiert ist, dass sie für Menschen einfach zu lesen und zu schreiben ist. Sie wird häufig für Konfigurationsdateien, den Datenaustausch zwischen Sprachen und die Persistenz von Objekten verwendet. Im Zusammenhang mit künstlicher Intelligenz (KI) und maschinellem Lernen (ML) dient YAML in erster Linie dazu, die Verwaltung komplexer Konfigurationen für Modelle, Trainingsprozesse und Deployment-Pipelines zu vereinfachen und sie verständlicher und wartbarer zu machen.

Die wichtigsten Merkmale von YAML

Bei YAML steht vor allem die Lesbarkeit im Vordergrund. Seine Syntax basiert auf Einrückungen, um die Struktur zu kennzeichnen, ähnlich wie bei Python, was im Vergleich zu Formaten wie XML oder JSON zu saubereren und weniger unübersichtlichen Dateien führt. Zu den wichtigsten Merkmalen gehören:

  • Lesbarkeit: Eine saubere, intuitive Syntax mit Einrückung und einfachen Schlüssel-Wert-Paaren.
  • Struktur: Stellt Datenstrukturen wie Listen (Sequenzen) und Wörterbücher (Mappings) natürlich dar.
  • Datentypen: Unterstützt gängige Datentypen wie Strings, Ganzzahlen, Fließkommazahlen, Boolesche Werte, Listen und Wörterbücher.
  • Kommentare: Ermöglicht Kommentare mit dem Symbol "#", die für die Dokumentation von Konfigurationen wichtig sind.
  • Flexibilität: Kann komplexe Datenhierarchien effektiv darstellen.

Mehr über seine Struktur erfährst du in der offiziellen YAML-Spezifikation.

YAML in KI- und ML-Anwendungen

YAML-Dateien sind in der KI- und ML-Landschaft unverzichtbar, um verschiedene Aspekte eines Projektlebenszyklus zu definieren und zu verwalten. Sie fördern die Reproduzierbarkeit und die Zusammenarbeit, indem sie Konfigurationen vom Code getrennt halten. Hier sind die wichtigsten Anwendungsbereiche:

  1. Modellkonfiguration: Rahmenwerke wie PyTorch und TensorFlow verwenden häufig YAML-Dateien, um Modellarchitekturen, Ebenenparameter und andere modellspezifische Einstellungen zu definieren. Zum Beispiel, Ultralytics YOLO Modelle wie YOLOv8 YAML-Dateien verwenden (*.yaml), um die Modellstruktur zu definieren, einschließlich der Backbone und Erfassungskopf-Konfigurationen.
  2. Einrichtung der Trainingspipeline: YAML wird verwendet, um Parameter für das Modelltraining festzulegen, wie z. B. Datensatzpfade (z. B. für den COCO-Datensatz), Stapelgrößen, Lernraten, Anzahl der Epochen und Techniken zur Datenerweiterung. So können Forscher/innen und Ingenieur/innen Experimente leicht anpassen und Konfigurationen nachverfolgen, die oft über Plattformen wie Ultralytics HUB verwaltet werden.
  3. MLOps und Workflow-Definition: Zentrale Tools für Machine Learning Operations (MLOps) wie Kubeflow Pipelines oder MLflow Projects verwenden YAML, um ganze Workflows zu definieren und Abhängigkeiten, Ausführungsreihenfolge und Parameter für verschiedene Phasen wie Datenvorverarbeitung, Training, Auswertung und Modellbereitstellung festzulegen. Dadurch wird die Konsistenz über verschiedene Umgebungen hinweg sichergestellt, insbesondere bei der Verwendung von Containerisierungstools wie Docker.

YAML vs. JSON

Obwohl sowohl YAML als auch JSON für Menschen lesbare Formate zur Datenserialisierung sind, wird YAML aufgrund seiner besseren Lesbarkeit, insbesondere bei komplexen, verschachtelten Strukturen, häufig für Konfigurationsdateien in KI und ML bevorzugt. JSON mit seiner strengeren Syntax aus geschweiften Klammern ist weniger anfällig für Unklarheiten beim Parsen und wird häufig für den Datenaustausch in Web-APIs verwendet. Die Einrückung von YAML und die Unterstützung von Kommentaren erleichtern das Verständnis und die Pflege von Konfigurationen auf einen Blick und verringern das Fehlerpotenzial in komplexen KI-Projekten. Tools wie die PyYAML-Bibliothek machen es einfach, mit YAML in Python ML-Workflows zu arbeiten.

Durch den Einsatz von YAML können KI-Praktiker Konfigurationen effektiv verwalten und die Transparenz, Reproduzierbarkeit und Zusammenarbeit in ihren Projekten verbessern. Seine Einfachheit und sein auf den Menschen ausgerichtetes Design machen es zu einem unverzichtbaren Werkzeug im modernen KI- und ML-Toolkit, das Aufgaben von der anfänglichen Abstimmung der Hyperparameter bis zum endgültigen Einsatz unterstützt.

Alles lesen