MLOps Path

1.1.1 · блок 1

Как устроена разработка ML-продукта

Как устроена разработка ML-продукта

Зачем это нужно

Если вы умеете обучать модель в Jupyter Notebook, это ещё не значит, что вы умеете делать продукт. В реальной компании над одной задачей работают люди с разными навыками: кто-то формулирует бизнес-цель, кто-то пишет API, кто-то следит, чтобы сервис не падал ночью. Без понимания ролей и процессов легко «сломать» соседнюю команду: залить секреты в Git, выкатить модель без мониторинга или потратить месяц на эксперимент, который никому не нужен.

Этот урок — карта местности. Вы узнаете, кто за что отвечает, как идея превращается в работающий сервис и почему ML-проекты требуют особого подхода.

Основные идеи

Роли в команде. В типичном ML-продукте участвуют:

Один человек может совмещать роли (особенно в стартапе), но *ответственность* за каждую область должна быть явной.

RACI — кто что делает. RACI — простая матрица ответственности:

Пример для задачи «запустить рекомендательную систему в прод»:

| Этап | PM | DS | MLE | Backend | DevOps | QA | SRE |

|------|----|----|-----|---------|--------|----|-----|

| Формулировка метрики | A | C | I | I | I | I | I |

| Обучение модели | I | R | C | I | I | I | I |

| Сервис inference | I | C | R | R | C | C | I |

| Деплой и мониторинг | I | I | C | C | R | I | A |

Почему ML отличается от обычного сервиса. Классический веб-сервис: написал код → протестировал → выкатил. Поведение предсказуемо. ML-сервис добавляет слой неопределённости:

Поэтому в ML-командах чётко разделяют research (быстрые эксперименты, ноутбуки) и engineering (код в репозитории, CI/CD, тесты).

Как это выглядит на практике

Представьте задачу в Jira: «Добавить скоринг мошенничества для платежей».

1. PM создаёт Epic с бизнес-целью: снизить потери на 15%.

2. DS получает Story «Проанализировать исторические транзакции» — работает в ноутбуке, пишет выводы в Confluence.

3. MLE создаёт Story «Пайплайн обучения модели» — код уходит в Git, запускается в CI.

4. Backend добавляет эндпоинт POST /score — PR проходит code review.

5. DevOps настраивает деплой через GitLab CI → Kubernetes.

6. QA проверяет сценарии по acceptance criteria из Jira.

7. SRE подключает алерт: если latency > 200 ms или error rate > 1% — пишем в Slack.

На C4-диаграмме (позже в курсе) этот сервис будет одним контейнером среди платёжного шлюза, базы транзакций и системы алертов.

Что сделать после занятия

Официальные материалы

Открыть интерактивную версию