Uber a mis sur pied une équipe dédiée entièrement à la préparation d’algorithmes d'apprentissage machine préemballés « en tant que service » pour ses développeurs d'applications mobiles, ses experts en cartographie et en véhicules autonomes. C’est Danny Lange, à la tête de l'apprentissage machine d’Uber, qui a reproduit dans l’entreprise de services de transports une structure semblable à celle qu'il a créée quand il travaillait pour Amazon Web Services (AWS). À l’époque, celui-ci gérait la plateforme d'apprentissage machine utilisée en interne par le fournisseur d'infrastructure en tant que service (IaaS), et il a également participé au lancement du service Amazon Machine Learning d’AWS.

Lors d’un entretien avec nos confrères de Computerworld UK, Danny Lange a déclaré : « Nous allons rendre chaque composante de l’entreprise plus intelligente et apporter de meilleures expériences aux utilisateurs ». Ajoutant : « Avec l'équipe qui s’occupe de cette infrastructure, nous avons en charge trois domaines principaux : les trajets des conducteurs et des utilisateurs, une optimisation des cartes pour les conducteurs et pour les véhicules autonomes ».

Un service d'apprentissage machine dans le cloud

Comme l’a encore expliqué Danny Lange, l’accès des équipes de développeurs aux capacités d'apprentissage machine est aussi important que l’accès à la base de données ou à la puissance de calcul. « Cela fait un certain temps que nous disposons de ces capacités d’apprentissage machine, mais elles restaient encore difficilement accessibles aux ingénieurs de logiciels. C’est la raison pour laquelle nous avons créé, à l'intérieur de l'entreprise, un service d’apprentissage machine dans le cloud ». En pratique, ce service passe par une interface web ou un module dans lequel les développeurs de Uber peuvent trouver divers algorithmes qu’ils peuvent ensuite intégrer via une API ou par codage. Selon Danny Lange, « les développeurs peuvent utiliser en toute confiance ces algorithmes validés ».

Ces derniers se servent de leurs données, de leur application ou service, pour construire les modèles qui leur permettront de faire, par exemple, des prédictions sur les habitudes de trajet d’un client ou sur l’état du trafic à un moment donné. « Ils disposent d’une palette pour construire des modèles, les tester et voir comment ils réagissent ». Pour ce qui est de la cartographie et de la conduite autonome, Danny Lange et son équipe doivent pousser leur travail un peu plus loin et aller au-delà des algorithmes d'apprentissage machine traditionnels afin de proposer une prospective de calcul plus avancée et des techniques d'apprentissage approfondies.

L'apprentissage machine d’Uber en action

Plus précisément, ce mois-ci, Uber a, par exemple, utilisé des techniques d'apprentissage machine pour renforcer la personnalisation de son application. A l’ouverture, la nouvelle app demande simplement au client sa destination, mais elle va prendre en compte ses habitudes de déplacement et sa localisation. Si le client se trouve à son bureau, l’application va soit lui proposer de rentrer à son domicile, soit d’aller à son club de remise en forme ou au restaurant qu’il fréquente régulièrement. Uber utilise également des algorithmes d'apprentissage machine en amont des historiques de trajets pour fournir des informations plus précises sur l'heure d'arrivée à destination en se référant à des modèles d’analyse de la circulation.

Danny Lange a déjà constaté une amélioration significative de l’estimation des temps de trajets au niveau de l’activité de livraison de repas Uber Eats grâce à ces données et à ces algorithmes supplémentaires. « Depuis le recours aux algorithmes d’apprentissage machine, nous remarquons une amélioration de la précision de 26 % sur l’estimation des temps de trajets », a-t-il déclaré. Uber utilise également les données des deux milliards de trajets enregistrés pour « savoir » où se trouvent les meilleurs spots de prises en charge des clients. « Certains de nos algorithmes d'apprentissage machine parcourent les données et identifient les endroits où la prise en charge des clients est optimale, là où il y a le moins de circulation ou d’attente par exemple. De cette façon, il est possible d’estimer le temps qu'il faudra à un véhicule pour arriver jusqu’au client et à quel moment il démarrera sa course ».