Роадмап продакшен ML-платформы

Путь от первой GPU в кластере до платформы, на которой команды сами обучают и деплоят модели. На каждом шаге: какая проблема появляется, как её решать и где я об этом писал или рассказывал.

DAY 0 · ФУНДАМЕНТ

01

GPU в Kubernetes

Проблема: GPU в кластере есть, а поды её не видят или падают на несовместимой CUDA.

  • драйверы и GPU Operator одной версией на все ноды
  • матрица совместимости драйвер / CUDA / фреймворк
  • ноды и кластер описаны кодом
02

Подбор железа под модель

Проблема: Модель не влезла в карту, или влезла, но под KV-кэш не осталось места.

  • считать память под веса и KV-кэш до покупки
  • выбирать точность под железо: bf16, FP8, int4
  • смотреть на пропускную способность, а не только на VRAM

DAY 1 · ЗАПУСК

03

Первый сервинг

Проблема: Модель живёт в ноутбуке у DS, а в прод её выкатывают руками.

  • один сервер инференса: Triton или vLLM
  • модель как артефакт в реестре, а не файл на диске
  • деплой через CI, а не через ssh
04

Self-service для ML-команд

Проблема: Каждый ноутбук и пайплайн заводится тикетом в DevOps.

  • JupyterHub с профилями под GPU
  • пайплайны и обучение в Kubeflow
  • квоты на команду вместо ручной раздачи карт

DAY 2 · ПРОДАКШЕН

05

Холодный старт

Проблема: Новая реплика поднимается минутами: образы и веса на десятки гигабайт.

  • ленивая загрузка образов: eStargz, SOCI, Nydus
  • веса отдельно от образа: S3, OCI-тома
  • быстрая загрузка весов в GPU
06

Автоскейлинг инференса

Проблема: HPA по CPU не видит нагрузку на GPU, а пики приходят быстрее, чем стартуют реплики.

  • скейлить по очереди и concurrency
  • KEDA или Knative вместо голого HPA
  • держать минимум тёплых реплик
07

Шеринг GPU

Проблема: Под маленькую модель отдали целую A100, и она простаивает.

  • MIG там, где нужна изоляция
  • time-slicing и MPS для dev и лёгких нагрузок
  • HAMi как альтернатива без MIG
08

Утилизация и скедулинг

Проблема: GPU заняты, но не загружены, а команды стоят в очереди.

  • мерить реальную загрузку, а не аллокацию
  • квоты и приоритеты в Kueue
  • вытеснение и fair share между командами
09

Платформа целиком

Проблема: Каждая команда строит свой велосипед для обучения и инференса.

  • одна платформа для обучения и инференса
  • наблюдаемость по SLO, а не «под живой»
  • обновления драйверов и моделей без даунтайма

↑↓ выбор · Enter открыть · Esc закрыть