MLOps Path

8.1.2 · блок 8

Capstone: неделя 2 — пайплайн

Capstone: неделя 2 — пайплайн

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

На второй неделе каркас наполняется содержанием: данные, features, обучение, registry, deploy реальной модели. Это склеивание блоков 4 (MLOps lifecycle), 6 (Data), 7 (Serving). Цель — воспроизводимый pipeline «dataset → model artifact → dev inference» с experiment tracking.

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

Цель недели 2. Обученная модель v1 в registry; InferenceService dev отдаёт predictions на golden test set; ClearML/MMS фиксирует эксперимент и dataset version.

Deliverables checklist.

| # | Артефакт | Модули |

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

| 1 | Data snapshot + quality checks | 6.1 |

| 2 | Feature pipeline (Spark or Python) | 6.3 |

| 3 | Optional Feast feature views | 6.4 |

| 4 | Train script + ClearML logging | 4.3 |

| 5 | Model registration MMS/dev registry | 4.3 |

| 6 | Export model for MLServer | 7.2 |

| 7 | Update `storageUri` / image tag | 7.5 |

| 8 | Integration test: infer vs expected | 4.4 |

| 9 | Argo Workflow OR Jenkins stage train | 3.7, 3.2 |

| 10 | Data/model card in repo | 4.1 |

Pipeline DAG (target).


ingest → validate → features → train → evaluate gate → register → export → deploy dev

Не обязательно всё automated week 2 — manual trigger OK, но скрипты в Git.

Data quality gate (6.1.2). Train не стартует если null_rate или schema failed — покажите один реальный check в demo.

Experiment tracking minimum.

Feature scope discipline. 8–15 фич достаточно; лучше working pipeline, чем 100 фич без serve path.

Train/serve alignment. Если Feast — get_historical_features in train, get_online_features in transformer (7.5.2). If no Feast — shared Python package imported in train and serving container same version.

Evaluation gate. Example: F1 ≥ baseline 0.65 on hold-out — иначе no register. Business metric optional.

Deploy real model to dev.


spec:
  predictor:
    model:
      modelFormat:
        name: sklearn
      storageUri: s3://ml-capstone/models/churn/v1/

Run smoke from Jenkins after deploy.

Kafka/Spark optional. Если в ADR (6.4.3) выбран streaming — минимум: один topic + consumer lag dashboard or one Spark batch job output Parquet. Не блокируйте v1 на infra.

Definition of Done недели 2.

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

Понедельник: finalize dataset; run quality checks.

Вторник–среда: train v1; iterate if metrics poor.

Четверг: register + export; update KServe dev.

Пятница: demo — live infer + ClearML screen + data lineage story 3 min.

Typical failures.

| Problem | Fix |

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

| Feature mismatch infer | Align schema OpenAPI vs model n_features |

| Model load fail | Check storageUri credentials |

| Metrics good in notebook, bad in pipeline | Different split/leakage — fix PIT join |

| CI train timeout | Smaller sample job for CI; full train manual |

Documentation update. C4 Container diagram: add Spark, MinIO, ClearML, KServe edges.

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

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

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