Работа с удалёнными хранилищами DVC

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

Ravi Bhadauria

Machine Learning Engineer

Знакомство с удалёнными хранилищами DVC

  • Удалённые хранилища DVC: место хранения данных
  • Похожи на Git-ремоуты, но для кешированных данных
  • Преимущества удалённых хранилищ
    • Синхронизация больших файлов и каталогов
    • Централизованное или распределённое хранение данных
    • Экономия локального пространства
  • Поддерживаемые типы хранилищ
    • Amazon S3, GCS, Google Drive
    • SSH, HTTP, локальные файловые системы
CI/CD для машинного обучения

Настройка удалённых хранилищ

  • Настройка хранилищ с помощью команды dvc remote add
  • Для AWS
dvc remote add myAWSremote s3://mybucket
  • Дополнительные параметры — через dvc remote modify
dvc remote modify myAWSremote connect_timeout 300
  • Изменение файла .dvc/config
 ['remote "myAWSremote"']
     url = s3://mybucket
     connect_timeout = 300
CI/CD для машинного обучения

Локальные и стандартные хранилища

  • Локальные хранилища используются для быстрого прототипирования
  • Используйте системные каталоги или сетевые хранилища (NAS)
dvc remote add mylocalremote /tmp/dvc
  • Установка хранилища по умолчанию с флагом -d
dvc remote add -d mylocalremote /tmp/dvc
  • Хранилище по умолчанию задаётся в секции core файла .dvc/config
[core]
remote = mylocalremote
CI/CD для машинного обучения

Загрузка и получение данных

  • Команды для передачи данных

    • Загрузить в хранилище: dvc push <target>
    • Скачать из хранилища: dvc pull <target>
  • Аналогично git push и git pull

    • Файлы .dvc отслеживаются Git, а не DVC
  • Цель может быть отдельным файлом: dvc push data.csv
    • Или весь кеш: dvc push
  • Переопределение хранилища по умолчанию с флагом -r
dvc push -r myAWSremote data.csv
CI/CD для машинного обучения

Отслеживание изменений данных

  • Измените содержимое файла данных, затем зафиксируйте изменения
dvc add /path/to/data/datafile
  • Зафиксируйте изменённый файл .dvc в Git
git add /path/to/datafile.dvc
git commit /path/to/datafile.dvc -m "Dataset updates"
  • Отправьте метаданные в Git
git push origin main
  • Загрузите изменённый файл данных
dvc push
CI/CD для машинного обучения

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

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

Preparing Video For Download...