Découvrez la puissance de YAML dans l'IA/ML ! Simplifiez les configurations, rationalisez les flux de travail et améliorez la lisibilité grâce à ce format de données polyvalent.
YAML, qui signifie "YAML Ain't Markup Language", est une norme de sérialisation de données lisibles par l'homme, couramment utilisée pour la configuration de sites Web. de sérialisation des données lisible par l'homme, couramment pour les fichiers de configuration et l'échange de données entre langages. Contrairement aux formats plus verbeux, YAML donne la priorité à la propreté et à la facilité d'utilisation, s'appuyant sur l'indentation plutôt que sur des crochets ou des balises pour définir la structure. Cette approche minimaliste en fait un choix privilégié pour les développeurs et les scientifiques des données travaillant dans les domaines de l'apprentissage automatique (ML) et de l'informatique. l 'apprentissage automatique (ML) et Intelligence Artificielle (IA), où où il est essentiel de définir clairement des environnements et des paramètres complexes. Vous pouvez consulter la spécification officielle sur le YAML.
Dans le domaine de l'apprentissage profond (DL), YAML sert d'épine dorsale à la gestion et à la reproductibilité des expériences. l'épine dorsale de la gestion et de la reproductibilité des expériences. Les systèmes complexes nécessitent souvent la définition de centaines de paramètres, des chemins d'accès aux fichiers aux constantes mathématiques. En externalisant ces paramètres dans des fichiers YAML, les chercheurs chercheurs s'assurent que les configurations de leurs données d'entraînement et les architectures de leurs modèles restent séparées du code. architectures de modèles restent séparées de la base de code. Cette séparation facilite les pratiques de pratiques DataOps et permet un contrôle de version plus facile des des configurations expérimentales.
YAML est omniprésent dans les piles de développement d'IA modernes. Voici deux façons principales de l'utiliser :
Bien que YAML présente des similitudes avec d'autres formats, il se distingue par sa philosophie de conception et ses cas d'utilisation :
Lorsque l'on travaille avec le modèleYOLO11 d Ultralytics , les fichiers YAML sont fondamentaux pour définir les données que le modèle voit. Les fichiers
data dans la fonction d'apprentissage accepte un fichier YAML qui pointe vers vos images et vos étiquettes.
L'exemple suivant montre comment lancer une session de formation à l'aide d'un fichier de configuration de jeu de données standard.
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
Au-delà de la formation directe des modèles, YAML fait partie intégrante de l'écosystème plus large de MLOps. MLOps. C'est le format de configuration format de configuration standard pour Docker Compose lors de l'orchestration de pour le déploiement de modèles. De même, Kubernetes utilise YAML pour définir la manière dont les applications sont mises à l'échelle dans le nuage.
Les outils d'automatisation tels que GitHub Actions s'appuient également sur YAML pour définir les flux de travail CI/CD. flux de travail CI/CD, garantissant que les tests automatisés et l'intégration automatisés se déroulent sans heurts à chaque fois que du code est mis en ligne. Les développeurs Python utilisent fréquemment la bibliothèque PyYAML pour lire et écrire ces fichiers de manière programmatique, comblant ainsi le fossé entre les fichiers statiques et les fichiers de configuration. pour lire et écrire par programme ces fichiers, comblant ainsi le fossé entre la configuration statique et l'exécution dynamique du code.