gui yong nian - stock.adobe.com

MLFlow 2.0 : Databricks veut mettre le déploiement de l’IA sur des rails

À l’occasion de l’événement Data+AI Summit 2022, Databricks a présenté les avancées techniques portées dans le projet open source MLFlow. L’éditeur veut fournir des templates pour automatiser le déploiement des modèles de machine learning en production.

Databricks a mis en avant ses efforts et ceux de la communauté pour améliorer le projet open source MLFlow. Confiée par Databricks à la Fondation Linux, cette solution dédiée à l’approche MLOps sera prochainement disponible en version 2.0.

Aujourd’hui accessible dans sa mouture 1.26.1, le projet devrait fortement évoluer. « Nous continuons à récolter des retours des entreprises et des utilisateurs », déclare Matei Zaharia, cofondateur et CTO de Databricks. « Même s’il y a beaucoup d’outils spécifiques au machine learning, par exemple pour évaluer un modèle, le déployer dans différents environnements ou le comparer à d’autres versions, il est difficile pour les gens de créer et maintenir les bons flux de travail. Ils doivent décider comment assembler ces outils », ajoute-t-il.

Des pipelines modulaires

En réponse à ce problème, MLFlow accueillera une fonctionnalité nommée Pipelines. « Il s’agit d’un mécanisme s’appuyant sur des gabarits permettant de déployer directement des modèles de machine learning en production », résume le CTO.

« Même s’il y a beaucoup d’outils spécifiques au machine learning [...], il est difficile pour les gens de créer et maintenir les bons flux de travail ».
Matei ZahariaCofondateur et CTO, Databricks

L’objectif est de fournir une expérience guidée afin d’accélérer la mise en production. « Les pipelines sont configurés de telle sorte que n’importe qui peut réentraîner les modèles, les surveiller ou le déployer dans un nouvel environnement », indique Matei Zaharia.

Les premiers gabarits disponibles sont calibrés pour traiter des « problèmes les plus courants du machine learning ». C’est-à-dire qu’ils servent à opérer des modèles de régression, de clustering, ou de recommandation. Après avoir choisi le pipeline correspondant à leur problématique, les data scientists peuvent y modifier des « étapes ». Ce sont de petits blocs qui constituent ce pipeline, par exemple une transformation de données. Cependant, les usagers n’ont pas à changer le code « passe-plat ».

Pour ajuster ces éléments plus spécifiques, il s’agit d’ajuster le fichier de configuration YAML associé au pipeline. Comme les data scientists ne maîtrisent pas forcément les arcanes du langage YAML, ces fichiers pourront être générés à l’aide d’un script Python. Chaque pipeline créé à partir d’un template est stocké dans un dépôt GitHub.

Pour exécuter ces pipelines sur des jeux de données « de taille moyenne », les utilisateurs peuvent les appeler depuis un IDE de leur choix ou depuis une interface notebook. Ils décident alors d’attribuer un « profil » au pipeline, c’est-à-dire un ensemble de configurations suivant si le traitement est effectué localement, dans une sandbox, ou en production.

Lors de cette phase de déploiement, Databricks s’appuie sur un autre projet open source : Bazel. Bazel est un moteur multilangage pour déployer rapidement et de manière reproductible des builds et des tests sur différentes plateformes. Originellement, ce projet a été développé par des ingénieurs de Google à des fins internes. Petit bémol, comme l’on fait remarquer les contributeurs, Bazel n’est pas l’outil le plus couramment utilisé par les équipes de data science. À l’avenir, MLFlow supportera plusieurs moteurs d’exécution de pipelines tels que ceux compris dans Kubeflow, Metaflow ou encore Airflow. Enfin, un mécanisme de session nommé Run permet de suivre automatiquement l’exécution des pipelines MLFlow.

Pour les usages les plus avancés, les ingénieurs de Databricks et les contributeurs imaginent la possibilité d’ouvrir les API vers des systèmes plus complexes.

Une boîte à outils en passe de devenir un framework

MLFlow passera donc de la version 1.27, dont la disponibilité est imminente, à cette mouture 2.0 d’ici à deux mois, selon Matei Zaharia. « Nous pensons que les pipelines représentent un ajout important et nous espérons que les entreprises s’emparent de ces templates pour déployer leurs modèles de machine learning en production », argumente-t-il. Pour le reste, MLFlow 2.0 devrait entraîner un brin de ménage dans les dépendances existantes les moins pertinentes.

Le CTO reconnaît également que les pipelines modifient « en quelque sorte » la nature de MLFlow. « Ce n’est plus une boîte contenant différents outils pour l’expérimentation ou le suivi de modèles ML, mais une nouvelle approche guidée (opinionated way en VO) pour créer des applications de machine learning », assure-t-il.

« Nous pensons que les pipelines représentent un ajout important et nous espérons que les entreprises s’emparent de ces templates pour déployer leurs modèles de machine learning en production ».
Matei ZahariaCofondateur et CTO, Databricks.

Cela ne veut pas pour autant dire que MLflow n’a pas convaincu la communauté. La librairie a été téléchargée plus de 11 millions de fois par mois, selon un rapport PyPi.

Matei Zaharia envisage cette nouvelle fonctionnalité comme un moyen de faciliter le passage de flambeau des data scientists aux ingénieurs logiciels chargés de la mise en production des projets d’IA. C’est en tout cas de cette manière que les primo-adoptants l’emploient, note le CTO.

Il faut désormais prouver que les rails mis en place respectent les niveaux d’exigence réclamés par la majorité des utilisateurs. La disponibilité élargie des pipelines devrait donner lieu à des ajustements à l’ajout de gabarits.

D’après les utilisateurs qui ont commenté la soumission de la fonctionnalité sur GitHub, l’arrivée des pipelines « est une bonne direction » pour MLFlow. Ils attendent de pouvoir y intégrer les outils et les packages qu’ils emploient habituellement.

Pour approfondir sur Intelligence Artificielle et Data Science