Scaling Machine Learning at Uber with Michelangelo

Overview

The article discusses the evolution and scaling of Uber's machine learning platform, Michelangelo, highlighting its development, deployment, and operational strategies. It emphasizes the importance of organizational structure, process design, and technology in successfully implementing machine learning across the company.

What You'll Learn

1

How to implement a centralized feature store for machine learning models

2

Why organizational structure is critical for scaling machine learning in large companies

3

How to effectively monitor machine learning models in production

Prerequisites & Requirements

  • Basic understanding of machine learning concepts
  • Familiarity with Python and machine learning libraries(optional)

Key Questions Answered

What are the key use cases for machine learning at Uber?
Uber employs machine learning across various applications, including optimizing the eater experience in Uber Eats, forecasting rider demand and driver availability in Marketplace, automating customer support ticket handling, and enhancing safety features like Ride Check. Each application leverages Michelangelo to improve efficiency and user experience.
How does Uber ensure the quality of its machine learning models?
Uber employs rigorous model management practices, including version control, automated testing, and continuous monitoring of model performance in production. This ensures that models remain effective and can be retrained as necessary to adapt to changing conditions.
What organizational strategies does Uber use to scale machine learning?
Uber's approach includes forming specialized teams for different ML domains, ensuring product teams own their models, and fostering collaboration between product and research teams. This structure helps allocate expert resources effectively and supports diverse ML projects across the company.

Key Statistics & Figures

Number of ML deployments at Uber
hundreds of use cases representing thousands of models
At any given time, these models are deployed in production on the Michelangelo platform.
Predictions made per second
millions
This volume reflects the scale at which Uber's machine learning systems operate.
Reduction in average ETA error
more than 50 percent
This improvement was achieved through the implementation of machine learning models to predict and correct ETA errors.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Machine Learning Platform
Michelangelo
Used for building, deploying, and operating machine learning solutions at Uber.
Data Processing Framework
Apache Spark
Utilized for large-scale data processing and model training.
Model Serving
Tensorflow Serving
Integrated with Michelangelo for serving production TensorFlow models.

Key Actionable Insights

1
Implement a centralized feature store to streamline data management for machine learning.
A centralized feature store allows teams to share high-quality features and manage data pipelines effectively, reducing the time data scientists spend on data access and integration.
2
Focus on organizational design to enhance machine learning scalability.
By structuring teams around specific ML domains and ensuring that product teams own their models, Uber can better allocate resources and expertise, leading to more successful ML deployments.
3
Establish robust monitoring processes for machine learning models in production.
Monitoring models helps detect performance degradation over time due to changing data distributions, ensuring that models continue to deliver accurate predictions.

Common Pitfalls

1
Neglecting data quality can lead to significant issues in production ML systems.
Broken data is the most common cause of problems, making it essential to implement robust data management practices, such as using a feature store to ensure data integrity.
2
Overlooking the importance of organizational structure can hinder ML scalability.
Without a clear structure for allocating expert resources, teams may struggle to effectively deploy machine learning solutions, leading to inefficiencies and missed opportunities.

Related Concepts

Machine Learning Deployment Strategies
Feature Engineering Best Practices
Organizational Design For Tech Teams