Netflix a livré sa bibliothèque Metaflow en open source. L’outil développé en interne permet de construire et de gérer des projets de datascience basés sur Python. Metaflow prend en charge l'ensemble des flux de données, depuis le prototype jusqu’au déploiement du modèle, et s’intègre directement aux services cloud d’AWS.

Les projets de machine learning et de data science ont besoin de solutions automatisées pour suivre le développement du code, des données et des modèles. L’accomplissement de ces tâches, manuellement, est un facteur d’erreurs, et des outils de gestion du code source comme Git, ne sont pas adaptés à toutes ces tâches. Metaflow apporte des API Python pour toute la pile technologique des workflows de data science, depuis l'accès aux données jusqu’au déploiement des modèles en passant par les ressources de calcul, le versioning, l’entrainement des modèles et la planification.

Selon la documentation de présentation de Metaflow, Netflix a développé son outil pour fournir à ses propres spécialistes des données et développeurs « une API unifiée à la pile d'infrastructure requise pour exécuter des projets de science des données, depuis la construction du prototype jusqu’à sa mise en production ». Metaflow leur permet aussi de « se concentrer sur des cas d’usage ML plus variés, de petite ou de taille moyenne, auxquels sont confrontés au quotidien de nombreuses entreprises ».

Un outil agnostique sur les frameworks

Metaflow n’a pas de préférence pour tel framework d'apprentissage machine en particulier ou pour telle bibliothèque de data science. Les projets Metaflow ne sont rien d’autres que du code Python, et chaque étape du flux de données d'un projet est représentée par des idiomes de programmation Python courants. Chaque fois qu'un projet Metaflow est exécuté, les données qu'il génère sont affectées d’un ID unique. Ce qui permet d'accéder à chaque exécution - et à chaque étape de cette exécution - en se référant à son ID ou aux métadonnées attribuées par l'utilisateur.

Netflix recommande d'exécuter Metaflow sur AWS. L'entreprise offre une version bac à sable de Metaflow (avec des limitations en terme de stockage et de durée de vie des données) que les développeurs peuvent utiliser pour expérimenter le framework. Certaines des fonctionnalités que Netflix utilise en interne, comme le support du langage R ou le traitement en mémoire de données volumineuses par le biais de DataFrames, ne figurent pas dans Metaflow 2.0, la première  version publique de Metaflow. Mais Netflix est prêt à livrer ces fonctionnalités si les problèmes GitHub correspondants suscitent suffisamment de support.