4.2.2 · блок 4
DevOps vs MLOps: что общего и что добавляет ML
DevOps vs MLOps: что общего и что добавляет ML
Зачем это нужно
Вы уже знаете CI/CD, Docker, Kubernetes, Helm из блока 3. MLOps — не «другая профессия», а расширение DevOps под специфику машинного обучения: данные, эксперименты, модели, drift. Понимание границы помогает не изобретать велосипед (Git, pipelines) и не игнорировать ML-риски (невоспроизводимость, silent degradation).
Основные идеи
DevOps — культурно-технический набор практик.
- Автоматизация сборки, тестов, деплоя.
- Инфраструктура как код.
- Observability: metrics, logs, traces.
- Быстрая обратная связь, blameless postmortems.
MLOps = DevOps + ML-specific concerns.
| Область | DevOps | MLOps (добавка) |
|---------|--------|-----------------|
| Артефакт | Docker image, binary | + model weights, datasets |
| Тесты | unit, integration | + data validation, model perf smoke |
| Версионирование | Git tag | + experiment ID, dataset version |
| Деплой | Rolling update | + canary по model version, shadow |
| Мониторинг | CPU, errors, latency | + prediction drift, data quality |
| Откат | Previous image tag | + previous model + feature schema compat |
Не дублировать, а расширять. Jenkins остаётся CI. Argo CD остаётся GitOps. Добавляются ClearML (experiments), MMS (registry), Argo Workflows (train/batch), специализированные dashboards.
CD4ML (Continuous Delivery for ML). Идея ThoughtWorks / industry: pipeline доставляет не только код, но и модель и данные через те же quality gates. Каждый merge может триггерить переобучение — если команда созрела; на старте — scheduled retrain.
Команды и границы ответственности.
- Platform / SRE — кластер, observability stack, общие Helm charts.
- MLE — serving, feature pipeline, integration с MMS.
- DS — эксперименты, метрики offline, model card.
- Shared — Definition of Done, incident process.
MLOps-инженер часто на стыке: не обязан быть лучшим DS, но обязан понимать, что такое train/serving skew.
Зрелость. Уровень 0: модель вручную копируют на сервер. Уровень 1: CI для API. Уровень 2: experiment tracking + automated train. Уровень 3: full CD4ML с мониторингом drift и auto-retrain с guardrails. Курс ведёт к уровню 2–3 в учебном контуре.
Anti-patterns.
- «MLOps = только Kubeflow» — инструмент не заменяет процессы.
- «DevOps команда задеплоит pickle» — без контрактов и тестов.
- «DS сам в prod kubectl apply» — без audit и rollback.
Как это выглядит на практике
Компания уже делает DevOps для микросервисов заказов. Запускают fraud ML:
Берут из DevOps as-is: Git, Jenkins, Harbor registry, Kubernetes, Argo CD, Prometheus, Loki, Istio.
Добавляют для ML:
1. ClearML Server — логирование экспериментов DS.
2. MMS — реестр «какая модель approved для prod».
3. Argo Workflows — nightly retrain job.
4. Great Expectations / custom checks — schema данных на входе train pipeline.
5. Grafana dashboard — inference latency и distribution of scores (drift proxy).
Incident: latency выросла. DevOps playbook: проверить pods, HPA, DB. MLOps дополнение: не вырос ли размер батча? не изменилась ли схема фич от upstream? Champion model version совпадает с MMS?
Retro: один runbook объединяет infra + model checks — меньше ping-pong между командами.
Что сделать после занятия
- [ ] Составьте таблицу «у нас уже есть из DevOps» / «нужно добавить для ML» для учебного контура.
- [ ] Выберите один ML-specific риск (drift, skew, wrong sklearn version) и опишите, какой gate его ловит.
- [ ] Прочитайте MLOps maturity model (Microsoft) и оцените свой проект по уровню 0–3.