# Artifact Store

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Понять назначение, устройство и практику использования компонента **Artifact Store** в MLflow.

## Предварительно

- [Backend Store](backend-store.md)

## Время

**2–3 ч**

---

## Назначение

**Artifact store** — файловое хранилище для **больших объектов**: веса моделей, conda.yaml, plots, CSV отчёты.

## URI-примеры

```
./mlruns/<exp_id>/<run_id>/artifacts/
s3://my-bucket/mlflow-artifacts/
gs://bucket/path/
wasbs://container@account.blob.core.windows.net/path/
```

## Структура run artifacts

```
artifacts/
  model/           # MLmodel, conda.yaml, model.pkl
  plots/
    confusion.png
  feature_importance.csv
```

## Настройка клиента

```python
import mlflow
mlflow.set_tracking_uri("http://mlflow.example.internal:5000")
# artifact location наследуется от experiment или default-artifact-root
```

Для run-specific пути: `mlflow.log_artifact("report.html")`.

## S3 best practices

- Отдельный bucket/prefix для ML artifacts
- SSE encryption
- Lifecycle: удаление artifacts старше N дней для failed runs
- IAM policy: только tracking server и training jobs

## Большие файлы

- `log_artifact` для файлов; для папок — `log_artifacts`
- Checkpoint'ы каждые N эпох — не каждый step
- Используйте `artifact_path` для организации

## Стоимость

Artifact store — основной **потребитель диска** в MLflow. Мониторьте размер bucket и дедуплицируйте, не копируя датасеты в каждый run.

---

## Самопроверка

1. Кратко опишите роль «Artifact Store» в MLflow.
2. Назовите типичную ошибку при работе с этим компонентом.
3. Как этот компонент связан с соседними?

---

## Дальше

→ [Experiments](experiments.md)
