- Uber usa el ETA para calcular tarifas, predecir tiempos de recogida, hacer matching entre rider y driver, y planificar tiempos de entrega
- Los motores de ETA tradicionales dividen la red vial en unidades pequeñas y calculan asignando pesos a un grafo
→ Encuentran la ruta óptima con algoritmos de camino más corto y luego agregan pesos
- Pero "el mapa no es el territorio". El grafo vial es solo un modelo y no puede reflejar la situación real
- Además, no se sabe qué ruta elegirán los riders/drivers
- Sobre esas estimaciones basadas en el grafo vial, combinan datos históricos y señales reales para entrenar un modelo de machine learning y obtener un mejor ETA
- Durante varios años, Uber usó "Gradient-boosted decision tree ensembles" para mejorar la predicción de ETA
→ Pero ahora llegó al límite de escalabilidad con Apache Spark + XGBoost
- Por eso cambiaron a deep learning para resolver tres problemas principales
- Latency : calcular el ETA en unos pocos milisegundos
- Accuracy : mejorar el MAE (Mean Absolute Error, error absoluto medio) frente al modelo de XGBoost
- Generality : ofrecer predicción de ETA a nivel global para todos los negocios de Uber
- Probaron 7 arquitecturas de redes neuronales
→ Al final, la más precisa fue una arquitectura Encoder-Decoder con Self-Attention (Transformer)
→ Aunque la precisión era alta, la velocidad era demasiado lenta, así que eligieron Linear Transformer, que mejora la rapidez de cálculo
Aún no hay comentarios.