К основному содержимому
#PlatformEngineering

[1/2] From Predictive to Generative - How Michelangelo Accelerates Uber’s AI Journey (Рубрика PlatformEngineering)

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

Когда я изучал как устроена инженерия в Uber, я наткнулся на отличную статью с разбором эволюции ML/AI платформы Michelangelo. Мне показалось интересным отдельно рассказать про все три этапа эволюции платформы, какие у них были предпосылки, что получилось в итоге, а также что можно почерпнуть себе, если вы тоже делаете платформы в своих компаниях.

Ну и начать стоит с того, что в Uber машинное обучение (ML) уже много лет играет ключевую роль практически во всех аспектах бизнеса - от прогнозирования времени прибытия (ETA) и подбора водителя до ранжирования ресторанов в Uber Eats и выявления мошенничества. Для поддержки такого широкого применения ML Uber в 2016 году создала централизованную платформу Michelangelo (вот рассказ от 2017 года об этом), охватывающую весь жизненный цикл ML-моделей - от подготовки данных и обучения до деплоя и онлайн-инференса. Дальше платформа росла и развивалась, пройдя следующих три этапа эволюции

1️⃣ Predictive ML-платформа (2016–2019) Фокус: табличные данные, модели типа XGBoost, классические predictive задачи: ETA, ценообразование, риск, антифрод. Запуск Michelangelo 1.0 как централизованной ML-платформы:

  • Единый Feature Store для повторного использования фичей,
  • Стандартизованные пайплайны обучения/деплоя,
  • Инструменты для мониторинга и дебага моделей. Цель: перестать собирать ML-инфру в каждой команде как с нуля

2️⃣ Deep Learning & Michelangelo 2.0 (2019–2023) Первая версия была хорошо, но требовалось порешать новые проблемы

  • Deep learing начал давать выигрыш по качеству в high‑impact задачах, а платформа его плохо поддерживала
  • Моделей и команд много, инструменты фрагментированы.
  • Нет единого взгляда на качество моделей и приоритеты. Ключевые изменения:
  • Michelangelo 2.0: единый продукт вместо зоопарка тулов.
  • Встроенная поддержка deep learning (GPU, distributed training, PyTorch/TensorFlow и т.д.).
  • Добавлены следующие возможности -- Model Excellence Score - сквозная метрика качества модели (от обучения до продакшена), -- Tiering (Tier‑1…Tier‑4) для приоритизации ML-проектов по бизнес‑ценности. -- Canvas / "model iteration as code": monorepo для ML, шаблоны ML-приложений, CI/CD для моделей, нормальные code review и reproducibility.

3️⃣ Generative AI и LLMOps (2023+) После появления LLM надо было добавить в Michelangelo слой для generative AI:

  • GenAI Platform / GenAI Gateway:
  • Единый интерфейс к внешним и внутренним LLM (OpenAI, Llama2 и др.),
  • Централизованный контроль доступа, логирование, cost‑контроль, безопасная работа с данными.

Michelangelo решили расширить до end‑to‑end LLMOps:

  • Хранение и версионирование LLM,
  • Репозиторий и version control для prompt’ов,
  • Инструменты оценки качества и A/B-тестов LLM.

Технологический стек был выбран следующий: Hugging Face, DeepSpeed (model parallelism), Ray для распределённых вычислений и масштабирования GPU.

В следующем посте расскажу об уроках, что можно извлечь из этой истории об опыте Uber.

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