Возможности и сценарии использования DVC

Введение в версионирование данных с DVC

Ravi Bhadauria

Machine Learning Engineer

Возможности и сценарии использования DVC

Рассматриваемые темы

  • Версионирование данных и моделей
  • Пайплайны DVC
  • Отслеживание метрик и графиков

Продвинутые темы (не рассматриваются)

  • Отслеживание экспериментов
  • CI/CD для машинного обучения
  • Реестр данных
Введение в версионирование данных с DVC

Версионирование данных и моделей

Схема версионирования данных и модели с привязкой к коммитам Git

1 https://dvc.org/doc/use-cases/versioning-data-and-models
Введение в версионирование данных с DVC

Пайплайны

Схема пайплайна этапа обучения модели

  • Определите пайплайн в dvc.yaml
stages:
  train:
    cmd: python train.py

deps: - code/train.py - data/input_data.csv - params/params.json
outs: - model_output/model.pkl
  • Запустите с помощью dvc repro.
Введение в версионирование данных с DVC

Отслеживание метрик и графиков

$ dvc metrics diff
Path                  Metric    HEAD     workspace    Change
dvclive/metrics.json  AUC       0.78912  0.18114      -0.60798
dvclive/metrics.json  TP        215      768          553

Сравнение метрик AUC по экспериментам машинного обучения с помощью DVC plots

1 https://dvc.org/doc/command-reference/plots/diff
Введение в версионирование данных с DVC

Отслеживание экспериментов

  • Запустите эксперимент и сохраните метрики
    • dvc repro
    • dvc exp save
  • Или объедините два шага: dvc exp run
  • Эксперименты — это пользовательские ссылки Git
    • Не засоряют историю коммитов
    • Явное сохранение: dvc exp save
  • Визуализация с помощью dvc exp show
Введение в версионирование данных с DVC

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

Концептуальное изображение DVC и CML для CI/CD

1 Источник изображения: https://dvc.org/doc/use-cases/ci-cd-for-machine-learning
Введение в версионирование данных с DVC

Реестр данных

Изображение DVC в роли реестра данных

1 Источник изображения: https://dvc.org/doc/use-cases/data-registry
Введение в версионирование данных с DVC

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

Введение в версионирование данных с DVC

Preparing Video For Download...