Netflix a récemment apporté une amélioration significative à son infrastructure de machine learning Metaflow avec l’introduction d’un nouvel objet Config. Cette nouvelle fonctionnalité offre une gestion puissante des configurations au sein des workflows de machine learning, en réponse à un défi courant rencontré par les équipes de Netflix qui administrent des milliers de flux Metaflow uniques dans divers cas d’utilisation d’IA et de machine learning.

Metaflow est un cadre de science des données open source, conçu pour simplifier le processus de création et de gestion de workflows intensifs en données. Il permet aux utilisateurs de définir des workflows sous forme de graphes dirigés, facilitant ainsi leur visualisation et leur itération. Metaflow gère automatiquement la mise à l’échelle, le versionnement et le déploiement des workflows, des aspects cruciaux dans les projets de machine learning et d’ingénierie des données. Il offre un support intégré pour des tâches telles que le stockage de données, la gestion des paramètres et l’exécution de calculs, tant localement que dans le cloud.




Infrastructure de Metaflow

Cette nouvelle fonction Config marque un tournant dans la manière dont les workflows de machine learning peuvent être configurés et gérés chez Netflix. Bien que Metaflow ait toujours excellé dans la fourniture d’infrastructures pour l’accès aux données, les ressources de calcul et l’orchestration des workflows, les équipes manquaient jusqu’ici d’une méthode unifiée pour configurer le comportement des flux, notamment en ce qui concerne les décorateurs et les paramètres de déploiement.

L’objet Config s’ajoute aux artefacts et aux paramètres existants de Metaflow, mais avec une différence essentielle en termes de timing. Tandis que les artefacts sont conservés à la fin de chaque tâche et que les paramètres sont résolus au début d’un traitement, les configs sont résolues lors du déploiement du flux. Cette différence de timing confère aux configs une puissance particulière pour établir des configurations spécifiques au déploiement.

Les configurations peuvent être spécifiées à l’aide de fichiers TOML facilement lisibles, ce qui permet de gérer différents aspects d’un flux :

        [schedule]
cron = "0 * * * *"
[model]
optimizer = "adam"
learning_rate = 0.5
[resources]
cpu = 1
        
    

L’outil interne de Netflix, Metaboost, illustre la puissance de ce système de configuration. Metaboost est une interface unifiée pour la gestion des workflows ETL, des pipelines ML et des tables de data warehouse. La nouvelle fonction Config permet aux équipes de créer différentes configurations expérimentales tout en maintenant la structure de flux centrale.

Par exemple, les praticiens de ML peuvent facilement créer des variations de leurs modèles en échangeant simplement des fichiers de configuration, ce qui leur permet d’expérimenter rapidement différentes fonctionnalités, hyperparamètres ou métriques cibles. Cette capacité a révélé une valeur particulière pour l’équipe de Content ML de Netflix, qui travaille avec des centaines de colonnes de données et plusieurs métriques.

Le nouveau système de configuration offre plusieurs avantages :

  • Configuration flexible en temps d’exécution : Les paramètres et les configs peuvent être combinés pour équilibrer déploiements fixes et configurabilité en temps d’exécution.
  • Validation améliorée : Desparseurs personnalisés peuvent valider les configurations, y compris l’intégration avec des outils populaires tels que Pydantic.
  • Gestion avancée des configurations : Le support des gestionnaires de configuration comme OmegaConf et Hydra permet des hiérarchies de configuration sophistiquées.
  • Génération de configurations à la volée : Les utilisateurs peuvent récupérer des configs depuis un service externe ou en analysant l’environnement d’exécution, tel que la branche GIT actuelle, afin de l’inclure comme contexte supplémentaire pendant les exécutions.

Cette amélioration représente une avancée significative dans l’évolution de Metaflow en tant que plateforme d’infrastructure de machine learning. En offrant une manière plus structurée de gérer les configurations, Netflix facilite le maintien et la mise à l’échelle de ses workflows de ML, tout en respectant ses pratiques de développement et ses objectifs commerciaux spécifiques.

La fonctionnalité est désormais disponible dans Metaflow 2.13, et les utilisateurs peuvent commencer à l’intégrer dans leurs workflows sans délai.

Plusieurs outils similaires à Netflix Metaflow ont été conçus pour aider les data scientists et les ingénieurs à gérer des workflows, orchestrer des pipelines et construire des systèmes de machine learning ou basés sur des données évolutifs. Bien que chacun de ces outils réponde à des besoins légèrement différents, tous visent à simplifier des workflows complexes et à faire évoluer les opérations de données. Voici quelques exemples notables :

  • Apache Airflow : Une plateforme open source largement utilisée pour l’orchestration des workflows, permettant aux utilisateurs de définir des tâches et leurs dépendances sous forme de graphes acycliques dirigés (DAGs).
  • Luigi (Spotify) : Un cadre Python open source conçue pour construire des pipelines complexes, qui gère également les dépendances et l’orchestration des workflows.
  • Kubeflow : Un outil de machine learning pour Kubernetes, spécialisé dans la gestion des workflows ML et le déploiement de modèles en production.

Bien que ces outils se chevauchent dans certaines fonctionnalités, Metaflow se distingue par sa simplicité, sa scalabilité et son support intégré pour des workflows de machine learning, ce qui le rend particulièrement attrayant pour les équipes de science des données.

Bon à savoir

  • Le framework Metaflow a été développé à l’origine pour répondre aux besoins spécifiques en data science de Netflix.
  • La gestion des configurations est essentielle pour tirer parti de l’expérience collaborative dans un environnement de machine learning où les itérations sont fréquentes.
  • Une intégration optimale des outils tiers peut améliorer substantiellement l’efficacité des flux de travail en data science.

Cette avancée dans la gestion des configurations chez Netflix soulève des questions intéressantes sur l’importance de l’organisation et de la flexibilité dans les projets de machine learning. En quoi ces solutions pourraient-elles influencer demain le travail collaboratif en data science dans d’autres industries ?



  • Source image(s) : www.infoq.com
  • Source : https://www.infoq.com/news/2025/01/netflix-metaflow-configuration/


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *