Версионирование наборов данных с помощью Data Version Control

CI/CD для машинного обучения

Ravi Bhadauria

Machine Learning Engineer

Зачем версионировать данные

  • Версионирование сохраняет историю изменений данных
  • Версионирование данных необходимо
    • Воспроизводимость
    • Эксперименты и итерации
    • Совместная работа
    • Отслеживание и отладка ошибок
    • Мониторинг и поддержка модели
    • Аудит и валидация
CI/CD для машинного обучения

Data Version Control (DVC)

  • DVC: инструмент версионирования данных
    • Управляет данными и экспериментами
    • Работает аналогично Git

Концептуальная схема версионирования данных с помощью Git и DVC.png

  • Git отслеживает метаданные, DVC управляет версионированием данных
CI/CD для машинного обучения

Хранилище DVC

  • Данные хранятся отдельно
    • SSH, HTTP/HTTPS, локальная файловая система
    • Объектное хранилище AWS, GCP и Azure
  • Установка локально
pip install dvc
CI/CD для машинного обучения

Инициализация DVC

  • Инициализируйте Git: git init
  • Инициализируйте DVC
-> dvc init
Initialized DVC repository.
You can now commit the changes to git.
  • Создаёт файлы проекта DVC, готов к версионированию данных
.dvc
|- .gitignore
|- config
|- tmp
CI/CD для машинного обучения

Добавление файлов в DVC

  • Добавьте файлы данных командой dvc add <file>
-> dvc add data.csv
  • Создаются файлы-заглушки .dvc с метаданными файлов
    • Каждый файл, отслеживаемый DVC, имеет соответствующий файл .dvc (data.csv -> data.csv.dvc)
    • Добавляется в Git для управления версиями данных
  • Кэш DVC заполняется в .dvc/cache
CI/CD для машинного обучения

Файлы данных DVC

  • Файл данных
-> cat data.csv
This is a sample data file.
  • Файл data.csv.dvc
-> cat data.csv.dvc
 outs:
 - md5: ea9972ac9f8fa321ea74969e93acc196

size: 28
hash: md5
path: data.csv
CI/CD для машинного обучения

Итоги

  • Версионирование данных обеспечивает воспроизводимость и совместную работу
  • DVC: инструмент управления версионированием данных, работает вместе с Git
  • Инициализация DVC: dvc init; добавление файлов: dvc add <file>
  • Файлы .dvc хранят метаданные, Git отслеживает версии
CI/CD для машинного обучения

Давайте потренируемся!

CI/CD для машинного обучения

Preparing Video For Download...