Guild.ai est un outil open source qui permet de systématiser le processus d’expérimentation en Machine Learning.
Le Machine Learning requiert souvent d’effectuer de nombreuses expérimentations pour atteindre des performances optimales. Si l’expérience permet parfois de réduire cette phase d’expérimentation, elle reste essentielle tant la moindre petite variation des hyperparamètres peut avoir un effet important sur le résultat obtenu.
Or, lancer de nombreux tests et les reproduire aisément au sein d’une équipe nécessite une bonne dose de méthodologie et de discipline. Guild.ai fait partie de ces outils qui viennent vous simplifier la vie en proposant des fonctionnalités relativement simples, mais qui vous aident à structurer la conduite de votre projet : chaque jeu d’entrées et sorties (fichiers, paramètres, métriques, résultats, logs) est automatiquement stocké en tant qu’expérimentation.
Guild génère un fichier guild.yml (au format Yaml). Il suffit d’intégrer ce fichier au dépôt du projet pour permettre à vos collaborateurs de reproduire vos expérimentations.
L’outil permet de comparer l’ensemble des expérimentations réalisées:
Guild propose également une comparaison en mode navigateur pour une plus grande convivialité.
Notons qu’il est aussi compatible avec TensorBoard.
Enfin, il permet de lancer des expérimentations à distance sur des instances Amazon S3 ou tout serveur supportant les connexions SSH.
En terme d’intégration dans un projet, il est intéressant de noter que l’outil :
- Ne nécessite pas la moindre modification de code.
- Est multi-plateforme : il fonctionne nativement sous Linux et MacOS et fonctionne sous windows avec Docker.
- Supporte l’ensemble des librairies : TensorFlow, PyTorch, Keras, Scikit-learn, MXNet, XGBoost..
N’hésitez pas à le tester vous aussi, et nous faire part de vos commentaires.
Site officiel : https://guild.ai/
Dépôt GitHub : https://github.com/guildai/guildai
Enfin, pour compléter votre recherche de solution en matière de gestion des expérimentations, nous vous invitons également à vous pencher sur MLFlow, dont le périmètre est plus large, mais qui adresse notamment cette problématique.