MICHELANGELO: Uber’s Machine learning platform

Sept. 8, 2017, 7:37 p.m. By: Pranjal Kumar


Uber is increasingly investing in the latest technologies like artificial intelligence, virtual reality, and machine learning. Michelangelo is an internal machine learning as an as a service platform which enhances machine learning technology and makes scaling artificial intelligence to meet the future needs of growing market. Uber believes that machine learning holds the key to future development is it an autonomous vehicle or air vehicle.

Michelangelo is designed to cover the end-to-end ML workflow which includes managing large scale data, training, evaluating, making predictions. It also supports traditional ML models like time series forecasting and deep learning. This platform allows enables Uber's members to build, deploy, and operate machine learning solutions at a large scale.

Michelangelo has been in use for about a year and now it has become a standard for working with machine learning in Uber. Michelangelo helps to build reliable, uniform, and reproducible pipelines for creating and managing training and prediction data at large scale. One of the major use of this technology is in UberEATS estimated time of delivery.

UberEATS uses Michelangelo for calculation of estimated meal delivery time, search rankings, restaurants ranking and also for auto-completion feature. The estimated delivery time model predicts the time a meal will take to prepare and deliver before the order is issued and does the same at each stage of the delivery process. The calculation of meal delivery time is a very complex process and require lots of precision. At UberEATS data scientists use gradient boosted decision tree regression models for prediction of delivery time.

Michelangelo consists of several open sources components like HDFS, Spark, TensorFlow, MLLib and much more. Michelangelo is built on top of Uber’s data and computer infrastructure.

For complete working of UberEATS and Michelangelo see documentation - Click Here