How Uber’s Michelangelo Contributed To The ML World

In 2017, Uber launched its ML-as-a-service platform Michelangelo to democratise machine studying and make scaling AI ‘as easy as requesting a ride’.

In 2020 Q1, Uber made a staggering 1,658 million journeys a day on common. With such an enormous fleet of autos and drivers and an ever-growing buyer base, Uber has entry to a wealthy dataset. Uber has all the time been bullish on AI and machine studying, and Michelangelo is considered one of its pet tasks.

Need For Standardisation

In manufacturing from 2015 and at last put into operation in 2016, Michelangelo was constructed to allow inner groups to seamlessly construct, deploy, and function ML options at Uber’s scale. It is now deployed throughout a number of Uber information centres and is used to foretell the corporate’s highest loaded on-line companies. 

The motivation to construct Michelangelo got here when the workforce began discovering it excessively tough to develop and deploy machine studying fashions at scale. Before Michelangelo, the engineering groups relied primarily on creating separate predictive fashions or one-off bespoke techniques. But such quick time period options had been restricted in lots of facets.

Michelangelo is an end-to-end system that standardises workflows and instruments throughout groups to construct and function machine studying fashions at scale simply. It has now emerged because the de-facto system for machine studying for Uber engineers and information scientists, with a number of groups leveraging it to construct and deploy fashions.


Michelangelo is constructed on open-source parts corresponding to HDFS, XGBoost, Tensorflow, Cassandra, MLLib, Samza, and Spark. It makes use of Uber’s information and the compute infrastructure to offer a knowledge lake that shops Uber’s transactional and logged information; Kafka brokers for aggregating logged messages; a Samza streaming compute engine; managed Cassandra clusters; and in-house service provisioning and deployment instruments.

Michelangelo gives scalable, dependable, reproducible, and automatic instruments to handle the six-step workflow:

  • Manage information
  • Train fashions
  • Evaluate fashions
  • Deploy Models 
  • Make predictions
  • Monitor predictions

The platform consists of a knowledge lake that’s accessed throughout coaching and inferencing. Applications entry the centralised information retailer by batch prediction and on-line inferencing. Michelangelo provides commonplace algorithms for ML mannequin coaching. Plus, builders can add new algorithms for coaching their ML fashions. Michelangelo additionally has end-to-end assist for managing mannequin deployment by UI or API, which may be completed for each on-line and offline predictions. The platform screens predictions repeatedly for accuracy and velocity to set off re-training when required.

See Also


Major Updates

In 2018, Uber prolonged Michelangelo by PyML to make it simpler for Python customers to coach and deploy their fashions. These fashions can comprise arbitrary use code and use any Python bundle or native Linux libraries. It permits information scientists to regionally run an an identical copy of a mannequin in real-time experiments and large-scale parallelised offline prediction works.

The functionalities are accessible by easy Python SDK and may be leveraged immediately by improvement environments corresponding to Jupyter notebooks with out switching between separate purposes. Since this answer leverages a number of open-source parts, it may be simply transferred to different ML platforms and mannequin serving techniques.

In 2017, Michelangelo was launched with a monolithic structure that managed tightly coupled workflows and Spark jobs for coaching and serving. Michelangelo had particular pipeline definitions for every supported mannequin sort. Offline serving was dealt with by Spark, and on-line serving was dealt with utilizing customized APIs.

In 2019, the workforce at Uber determined to replace Michelangelo mannequin illustration for flexibility at scale. The unique mannequin supported solely a subset of Spark MLlib fashions with in-house customized mannequin serialisation and illustration. This prevented clients from experimenting with complicated mannequin pipelines. The workforce then determined to develop Michelangelo’s use of Spark MLlib in areas corresponding to mannequin illustration, persistence, and on-line serving.

Use Cases

  • Several fashions of UberEats are working on Michelangelo for meal supply time predictions, search rankings, restaurant rankings, and search autocomplete. Data scientists use gradient boosted resolution tree regression fashions for predicting supply time utilizing info from order request, historic options, and close to real-time calculated options. Michelangelo performs an important position in reaching the tip objective of predicting the whole period of this multi-stage and complicated course of and recalculating supply time predictions at each step of the method.
  • Uber makes use of a Customer Obsession Ticket Assistant (COTA) instrument to assist brokers ship higher buyer assist. It is predicated on Michelangelo, positioned on high of Uber’s buyer assist platform. COTA helps in fast and environment friendly problem decision for as many as 90 p.c of the inbound assist tickets.
  • Uber leverages numerous spatiotemporal forecasting fashions based mostly on Michelangelo to foretell rider demand and cab availability at a number of areas and instances sooner or later. Uber depends on these fashions to forecast imbalance between demand and provide and encourage driver-partners to achieve excessive demand areas beforehand.
  • The one-click chat characteristic based mostly on Michelangelo streamlines communication between riders and driver-partners by leveraging NLP fashions for predicting and displaying almost certainly responses on the in-app chat messages. This helps driver-partners reply with pre-fed templates to scale back distraction.
  • Engineers at Uber use Michelangelo’s Horovord for constructing their self-driving automotive techniques. It makes use of deep studying fashions for capabilities corresponding to object detection and movement planning.
  • Feast, a number one open-source characteristic retailer for machine studying, was constructed by Willem Pienaar. He mentioned Feast drew inspiration from Michelangelo. Notably, Tecton, an enterprise characteristic retailer firm based by members of the workforce that constructed Michelangelo, mentioned they might turn out to be a core contributor to Feast.

Subscribe to our Newsletter

Get the newest updates and related provides by sharing your electronic mail.

Join Our Telegram Group. Be a part of an interesting on-line neighborhood. Join Here.
Shraddha Goled

Shraddha Goled

I’m a journalist with a postgraduate diploma in laptop community engineering. When not studying or writing, one can discover me doodling away to my coronary heart’s content material.


Please enter your comment!
Please enter your name here