- Uber utilise les ETA pour le calcul des tarifs, la prédiction de l’heure de prise en charge, l’appariement entre passagers et chauffeurs, et la planification des délais de livraison
- Les moteurs ETA traditionnels calculent en découpant le réseau routier en petites unités et en attribuant des poids à un graphe
→ ils trouvent l’itinéraire optimal avec un algorithme de plus court chemin, puis ajoutent les poids
- Mais « la carte n’est pas le territoire ». Le graphe routier n’est qu’un modèle et ne reflète pas la situation réelle
- De plus, il est impossible de savoir quel itinéraire les passagers/chauffeurs vont choisir
- En combinant des données historiques et des signaux réels avec les estimations fondées sur le graphe routier, Uber entraîne un modèle de machine learning pour obtenir de meilleurs ETA
- Pendant plusieurs années, Uber a utilisé des « Gradient-boosted decision tree ensembles » pour améliorer la prédiction des ETA
→ mais Apache Spark + XGBoost ont désormais atteint leurs limites en matière de montée en charge
- Uber est donc passé au deep learning pour résoudre trois problèmes majeurs
- Latency : calculer les ETA en quelques millisecondes
- Accuracy : améliorer la MAE (Mean Absolute Error, erreur absolue moyenne) par rapport au modèle XGBoost
- Generality : fournir des prédictions d’ETA à l’échelle mondiale pour toutes les activités d’Uber
- Sept architectures de réseaux de neurones ont été testées
→ au final, l’architecture encodeur-décodeur utilisant le Self-Attention (Transformer) s’est révélée la plus précise
→ mais même si sa précision est élevée, elle était trop lente ; Uber a donc choisi le Linear Transformer, qui améliore la vitesse de calcul
Aucun commentaire pour le moment.