# MLOps & MLflow — учебный курс с нуля

Добро пожаловать в **подробный курс по MLOps и MLflow** на русском языке. Материал рассчитан на читателя **без предварительных знаний** ML-инфраструктуры и ведёт к уровню, на котором вы понимаете архитектуру, компоненты MLflow, практики MLOps и можете пройти путь от обучения до serving.

> **Как читать:** идите по разделам по порядку (`00` → `10`). В каждой папке есть `README.md` — оглавление раздела. На каждой странице указаны **Цель**, **Предварительно** и **Время**. Практику выполняйте в [10 — Практикум](10-praktikum/README.md).

---

## Публикация и просмотр

| | |
|--|--|
| **Viewer** | https://docs.nazeebo.site/ml |
| **Git** | `MLops&MLflow/` в [docs-nazeebo-site](https://github.com/muroed/docs-nazeebo-site) |
| **Обновление** | `git push` в `main` |

### Локальный просмотр

```bash
git clone https://github.com/muroed/gitmd-viewer.git
export GIT_REPO_PATH=/path/to/docs-nazeebo-site
export GIT_ROOT="MLops&MLflow"
export DOCS_TITLE="MLOps & MLflow"
make -C gitmd-viewer run
```

---

## Карта обучения (11 разделов)

Общая оценка: **110–170 часов** (4–8 месяцев при 5–8 ч/нед).

| Этап | Раздел | Фокус | Часы |
|------|--------|-------|------|
| 0 | [00 — Карта пути](00-karta-puti/README.md) | План, окружение | 2–4 |
| 1 | [01 — Основы](01-osnovy/README.md) | Что такое MLOps и MLflow | 6–10 |
| 2 | [02 — Архитектура](02-arhitektura/README.md) | Стек, слои, потоки | 8–12 |
| 3 | [03 — Компоненты MLflow](03-komponenty-mlflow/README.md) | Tracking, Registry, Models | 20–30 |
| 4 | [04 — Компоненты MLOps](04-komponenty-mlops/README.md) | Пайплайны, деплой, мониторинг | 20–30 |
| 5 | [05 — Концепции](05-kontseptsii/README.md) | Reproducibility, lineage | 8–12 |
| 6 | [06 — Принципы](06-printsipy/README.md) | Automation, shift-left | 4–6 |
| 7 | [07 — Инструменты](07-instrumenty/README.md) | MLflow, DVC, Airflow, K8s | 8–12 |
| 8 | [08 — Практики](08-praktiki/README.md) | Repo structure, model cards | 10–15 |
| 9 | [09 — Шаблоны](09-shablony/README.md) | Batch, online, champion/challenger | 8–12 |
| 10 | [10 — Практикум](10-praktikum/README.md) | Лабораторные работы | 15–25 |

```mermaid
flowchart LR
  A[00 План] --> B[01-02 Основы]
  B --> C[03 MLflow]
  C --> D[04 MLOps]
  D --> E[05-08 Теория]
  E --> F[09-10 Паттерны и лабы]
```

---

## Глоссарий (кратко)

| Термин | Значение |
|--------|----------|
| **MLOps** | Практики доставки и сопровождения ML в production |
| **MLflow** | Open-source платформа: Tracking, Projects, Models, Registry |
| **Run** | Одно выполнение обучения с логами |
| **Experiment** | Группа runs одной задачи |
| **Artifact** | Файл результата (модель, график) |
| **Model Registry** | Каталог версий моделей и стадий |
| **Serving** | Отдача предсказаний API или batch |
| **Drift** | Изменение данных или связи X→y со временем |
| **Lineage** | Происхождение модели: код, данные, run |
| **Feature store** | Хранилище признаков для train и serve |

---

## Компоненты MLflow (раздел 03)

[Tracking Server](03-komponenty-mlflow/tracking-server.md), [Backend Store](03-komponenty-mlflow/backend-store.md), [Artifact Store](03-komponenty-mlflow/artifact-store.md), [Experiments](03-komponenty-mlflow/experiments.md), [Runs](03-komponenty-mlflow/runs.md), [Parameters и Metrics](03-komponenty-mlflow/parameters-metrics.md), [Artifacts](03-komponenty-mlflow/artifacts.md), [Projects](03-komponenty-mlflow/mlflow-projects.md), [Models](03-komponenty-mlflow/mlflow-models.md), [Model Registry](03-komponenty-mlflow/model-registry.md), [Serving](03-komponenty-mlflow/model-serving.md), [Client SDK](03-komponenty-mlflow/tracking-client.md), [Plugins](03-komponenty-mlflow/plugins.md).

---

## С чего начать

1. [00 — Карта пути](00-karta-puti/README.md) — план и установка Python + MLflow.
2. [01 — Что такое MLOps](01-osnovy/chto-takoe-mlops.md) — первая теория.
3. После раздела 03 — [Lab 01](10-praktikum/lab-01-first-run.md).

→ Начать: [00 — Карта пути](00-karta-puti/README.md)
