- A Uber usa ETA para cálculo de tarifas, previsão do tempo de pickup, matching entre passageiros e motoristas e planejamento do tempo de entrega
- Motores de ETA tradicionais dividem a malha viária em pequenas unidades e calculam atribuindo pesos a um grafo
→ Encontram a rota ideal com algoritmos de caminho mínimo e adicionam pesos
- Mas "o mapa não é o território". O grafo viário é apenas um modelo e não consegue refletir a situação real
- Além disso, não se sabe qual rota passageiros/motoristas vão escolher
- Combinando dados históricos e sinais reais sobre estimativas baseadas em grafos viários, eles treinam modelos de machine learning para encontrar ETAs melhores
- Por alguns anos, a Uber usou "Gradient-boosted decision tree ensembles" para melhorar a previsão de ETA
→ Mas agora chegou ao limite do que era possível escalar com Apache Spark + XGBoost
- Por isso, mudou para deep learning para resolver três problemas principais
- Latency : calcular ETA em poucos milissegundos
- Accuracy : melhorar o MAE (Mean Absolute Error, erro absoluto médio) em relação ao modelo XGBoost
- Generality : fornecer previsão de ETA globalmente para todos os negócios da Uber
- Testaram 7 arquiteturas de redes neurais
→ No fim, a arquitetura Encoder-Decoder com Self-Attention (Transformer) foi a mais precisa
→ Embora a precisão fosse alta, a velocidade era lenta demais, então escolheram o Linear Transformer, que melhora a rapidez de cálculo
Ainda não há comentários.