Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleDonnées & IA

Uber soulève le capot de Michelangelo, sa plateforme de machine learning

Gros consommateur de technologies pour son application de mise en relation entre VTC et urbains, Uber livre des détails sur ses outils d'apprentissage machine. Sa plateforme Michelangelo lui permet de préparer, d'entraîner et de déployer des modèles de machine learning à la demande, en interne. Il n'est pas prévu de l'ouvrir en open source.

La rédaction

Pour déployer en interne des outils d’apprentissage machine « as-a-service », Uber a mis au point sa propre solution, baptisée Michelangelo. Celle-ci est décrite par l'équipe qui la développe comme « une plateforme qui démocratise l’apprentissage machine et permet une mise à l’échelle de l’intelligence artificielle pour répondre aux besoins métiers aussi facilement que l’on réserve une course ». C’est la présentation qui en est faite en introduction d’un billet très détaillé posté sur le sujet par Jeremy Hermann, responsable de la plateforme machine learning, et Mike Del Balso, responsable du produit chez Uber. En résumé, Michelango a permis à Uber de mettre en place un workflow standardisé pour accéder en interne à de nouvelles solutions d’apprentissage machine. Cela se fait en six étapes : modélisation des données, entraînement, évaluation et déploiement des modèles, prédictions et monitoring des prédictions.

Le système supporte aussi les modèles de machine learning traditionnels, les prédictions de séries chronologiques et le deep learning. Cela fait suite au travail réalisé chez Uber sous le pilotage de Danny Lange, ancien responsable du machine learning. Avant Michelangelo, Uber avait des difficultés à mettre à disposition ses algorithmes de machine learning à l’échelle de l’organisation. Ainsi que l’expliquent Jeremy Hermann et Mike Del Balso, « tandis que les data scientists utilisaient une grande variété d’outils pour créer des modèles prédictifs (R, scikit-learn, algorithmes personnalisés, etc.), d’autres équipes d’ingénierie travaillaient séparément sur des systèmes sur mesure permettant d’utiliser ces modèles en production ». Avant Michelango, il n’était pas possible d’entraîner des modèles plus grands que ce que les postes de travail des data scientists pouvaient supporter, expliquent-ils. De la même façon, il n’y avait pas d’endroit où stocker de façon standard les résultats des tests d’entraînement, ni de moyens pour comparer facilement ces tests entre eux. « Mais surtout, il n’y avait pas de processus établis pour déployer un modèle en production », ajoutent-ils. Dans la plupart des cas, l’équipe chargée de l’ingénierie devait créer pour chaque projet un conteneur personnalisé pour servir les modèles.

Un mix de composants open source

Sous le capot de Michelangelo, on trouve un mix de systèmes open source et de composants, assemblés par les ingénieurs d’Uber : HDFS, Spark, Samza, Cassandra, MLLib, XGBoost et les incontournables composants Tensorflow (développés et mis en open source par Google). L’ensemble est déployé au-dessus de l’infrastructure de traitement d'Uber et de son data lake. Pour l’intant, la société californienne n’envisage pas de mettre Michelangelo en open source, ainsi qu’un porte-parole l’a indiqué à nos confrères de Computerworld UK. « Il est difficile d’ouvrir les plateformes de machine learning qui n’apportent pas la même valeur aux autres organisations dans la mesure où, dans leur fonctionnement, ces systèmes s’appuient sur des données propriétaires et des signaux personnalisés ».

Dans leur billet, Jeremy Hermann et Mike Del Balso donnent l’exemple d’UberEats, le service de livraison de plats cuisinés créé par la société. Celui-ci fait tourner plusieurs modèles sur Michangelo pour prédire le temps de livraison des repas, les classements des recherches, l’auto-saisie des requêtes et les classements de restaurants. Sur la plateforme, les data scientists d’UberEats utilisent le gradient boosting pour améliorer la performance des modèles d’arbres de régression servant à prédire le délai total de livraison. Pour réaliser une prédiction précise, le modèle va tenir compte du moment de la journée, du lieu de livraison, du temps de préparation moyen d’un repas sur les 7 derniers jours et des données de préparation d’un repas en quasi temps réel. « Les modèles sont déployés à travers les datacenters sur les containers qui vont servir les modèles et ils sont invoqués à travers des requêtes réseau par les micro-services UberEats », détaille l’équipe de Michelangelo. « Ces prédictions sont affichées aux clients d’UberEat avant qu’ils effectuent leurs commandes auprès d’un restaurant et pendant la préparation et la livraison de leurs repas ».

AutoML pour découvrir des configurations de modèles

L’équipe d’ingénierie d’Uber procède à des ajustements permanents sur Michelangelo et elle travaille en ce moment sur une fonctionnalité appelée AutoML. « Il s’agit d’un système pour chercher automatiquement et découvrir des configurations de modèles (algorithme, ensemble de fonctionnalités, valeurs hyper-paramètres, etc.) qui déboucheront sur les modèles les plus performants pour des problèmes de modélisation donnés », explique Uber dans son blog. « Le système permettrait à des data scientists de spécifier un ensemble de labels et une fonction objective. Ils pourraient alors faire une utilisation très privée et sécurisée des données d’Uber afin de trouver le meilleur modèle sur ce problème. L’objectif est d’améliorer la productivité des data scientists avec des outils avancés qui leur faciliteraient la tâche ».

L’équipe travaille aussi sur un outil de visualisation qui aiderait à débugger les modèles de deep learning. Elle voudrait également créer un portail de formation en ligne sur l’apprentissage machine afin de démocratiser davantage l’utilisation de ces techniques au sein de l’entreprise.

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

Uber soulève le capot de Michelangelo, sa plateforme de machine learning