Skip to content
#PlatformEngineering

[1/2] From Predictive to Generative - How Michelangelo Accelerates Uber’s AI Journey (Category PlatformEngineering)

#PlatformEngineering #Architecture #Engineering #Management #ML #AI #Software #Leadership #DistributedSystem #SystemDesign

When I studied How Engineering Works at UberI came across a great one. evolutionist ML/AI platform Michelangelo. I found it interesting to talk separately about all three stages of the evolution of the platform, what they had the prerequisites, what happened in the end, and what you can learn if you also build platforms in your companies.

Well, to begin with, in Uber machine learning (ML) For many years, it has played a key role in almost every aspect of the business – from predicting the time of arrival. (ETA) and driver selection prior to ranking restaurants in Uber Eats and detecting fraud. To support such widespread use of ML Uber 2016 This year we created a centralized platform Michelangelo. (here story from 2017 yearly)It covers the entire life cycle of ML models – from data preparation and training to deploy and online content. Then the platform grew and developed, passing the next three stages of evolution.

1Predictive ML Platform (2016–2019) Focus: tabular data, models such as XGBoost, classic predictive tasks: ETA, pricing, risk, antifraud. Launch of Michelangelo 1.0 As a centralized ML platform:

  • Single Feature Store for reuse of features,
  • Standardized training/deployment pipelines, Tools for monitoring and debugging models. Objective: Stop collecting ML-infrastructure in each team from scratch

2️⃣ Deep Learning & Michelangelo 2.0 (2019–2023) The first version was good, but new problems needed to be solved. Deep learing began to deliver quality gains in high-impact tasks, and the platform did not support it well. There are many models and teams, the tools are fragmented. There is no consensus on model quality and priorities. Key changes:

  • Michelangelo 2.0A single product instead of a zoo. Built-in support for deep learning (GPU, distributed training, PyTorch/TensorFlow, etc.).
  • The following possibilities have been added: Model Excellence Score - end-to-end model quality metric (from training to production), -- Tiering (Tier‑1…Tier‑4) Prioritize ML projects for business value. Canvas / "model iteration as code": monorepo for ML, ML application templates, CI/CD for models, normal code review and reproducibility.

3Generative AI and LLMOps (2023+) After the advent of LLM, it was necessary to add a layer for generative AI to Michelangelo:

  • GenAI Platform / GenAI Gateway: Unified interface to external and internal LLM (OpenAI, Llama2 et al.), Centralized access control, logging, cost-control, secure work with data.

Michelangelo decided to expand to end-to-end LLMOps:

  • Storage and Versioning of LLM,
  • Repository and version control for prompt, Quality assessment tools and LLM A/B tests.

The technology stack was selected as Hugging Face, DeepSpeed (model parallelism)Ray for distributed computing and GPU scaling.

In the next post, I’ll talk about the lessons to be learned from this Uber experience.

#Architecture #Engineering #Management #ML #AI #Software #Leadership #DistributedSystem #SystemDesign