Versioning ML datasets на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Зачем versioning datasets
Reproducibility ML.
"Model X trained на data v3.2. Switch к v4 — accuracy dropped 5%. Why?"Без versioning — можно не воспроизвести / debug.
DVC
Git-like для data files. Stores pointers в git, data в remote (S3 / GCS).
dvc add data/train.parquet
git add data/train.parquet.dvc
git commit -m "v1 train data"
dvc pushEach commit — snapshot data state. Switch via git checkout + dvc pull.
Git LFS
Git Large File Storage. Stores large blobs separately.
Pros: native git integration.
Cons: не designed для huge ML datasets. Slow на multi-GB.
DVC purpose-built — лучше choice для ML.
lakeFS
Git-like operations над data lake.
Branching. Create dev branch — modify data — merge.
lakefs branch create dev_2026_05
# experiments
lakefs commit -m "Add new features"S3-compatible. Used с lakehouse stack (Iceberg / Delta).
Reproducibility
ML reproducibility = code + data + environment + seed.
Data versioning — one piece. Need:
- Pinned model dependencies (requirements.txt, conda env).
- Random seeds.
- Hardware specs (GPU determines order).
- Hyperparameters.
В research papers — increasingly mandatory.
Связанные темы
- MLflow и DVC для DS
- Model versioning для DS
- Feature store для DS
- Data drift для DS
- Подготовка к собесу Data Scientist
FAQ
Это официальная информация?
Нет. Статья основана на документации DVC, lakeFS, Git LFS.
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.