Даже несмотря на все успехи, которые мы наблюдаем сегодня в машинном обучении (ML), особенно в глубоком обучении и его приложениях в бизнесе, сообществу специалистов по науке о данных по-прежнему не хватает хороших практик для организации своих проектов и эффективного сотрудничества в рамках различных проектов машинного обучения.

Необходимо повысить продуктивность рабочего процесса машинного обучения. Как специалист по анализу данных в Group K Diagnostics я имею дело с сотнями гигабайт данных. Специалисту по данным действительно очень сложно управлять данными и отслеживать их. Отслеживание данных необходимо для любого рабочего процесса в области науки о данных. Необходимость в управлении версиями данных крайне высока, поэтому контроль версий данных (https://dvc.org) является очень важным инструментом для любого специалиста по данным. Это очень удобный и полезный инструмент для ваших проектов в области науки о данных. Основные причины:

  • DVC отслеживает модели и наборы данных машинного обучения: DVC создан для того, чтобы сделать модели машинного обучения доступными и воспроизводимыми.
  • Контроль версий проекта ML: модели машинного обучения, наборы данных и промежуточные файлы для контроля версий.
  • Управление экспериментами с машинным обучением. Используйте все возможности веток Git, чтобы опробовать различные идеи вместо неаккуратных файловых суффиксов и комментариев в коде.
  • Развертывание и совместная работа: вместо специальных сценариев используйте команды push / pull для перемещения согласованных пакетов моделей, данных и кода машинного обучения в производственную среду, удаленные машины или компьютер коллег.

Основным преимуществом здесь является то, что мы можем использовать его с Amazon AWS S3, Microsoft Azure и другими системами управления данными / ресурсами. Мы можем настроить эти системы для хранения, чтения, записи и привязки данных. Настройка и использование очень просты,

  1. Установите DVC с помощью (при условии, что у вас готова среда python)
pip install dvc

2. Выполните инициализацию DVC (при условии, что вы находитесь в репозитории Github, если нет, то выполните)

git init
dvc init

3. Теперь предположим, что в нашем проекте есть папка data, в которой есть различные каталоги данных (подключенные и загруженные через AWS S3).

├── data   
│    ├── exp1
│       ├── x1.png
│       ├── y1.png
│    ├── exp2
│       ├── x2.png
│       ├── y2.png
│    └── exp3
│       ├── x3.png
│       ├── y3.png
│    └── exp4
│       ├── x4.png
│       ├── y4.png

Теперь, после первого использования этих данных, мы выполним следующие шаги.

dvc add ./data/exp1 && git add ./data/exp1.dvc
dvc add ./data/exp2 && git add ./data/exp2.dvc
dvc add ./data/exp3 && git add ./data/exp3.dvc
dvc add ./data/exp4 && git add ./data/exp4.dvc

Это создаст файл .dvc для каждой папки, и этот файл будет зафиксирован на GitHub, чтобы мы знали, какая версия модели использует какую версию данных.

После этого нам нужно отправить изменения dvc, если мы используем удаленные хранилища данных,

dvc push filename 

Эта команда отправит последние изменения и обновит кеш. Давайте,

dvc status

Это проверит любые потенциальные изменения в данных, если таковые имеются, оно будет отслеживать их, и мы можем зафиксировать их.

DVC упрощает совместную работу. Соавторы могут настроить его таким же образом или получить данные с помощью команды «dvc pull filename».

Эта процедура также работает для версий данных, содержащих намного больше данных, чем в настоящее время сохраняется в папке данных, поскольку dvc хранит различия произвольного размера между разными версиями в своем кэше и, следовательно, может воссоздать более старые или новые состояния каталогов данных с помощью своей команды проверки. Разумеется, оформление заказа возможно и в обратном направлении.

Для получения дополнительной информации о командах посетите их документацию здесь.

Для использования DVC с Amazon AWS S3 посетите страницу https://dvc.org/doc/user-guide/external-dependencies.

Лучшие общие особенности и особенности:

  1. Он совместим с Git! DVC работает поверх любого репозитория Git и совместим с любым стандартным сервером или поставщиком Git (GitHub, GitLab и т. Д.). Содержимое файла данных может совместно использоваться сетевым хранилищем или любым поддерживаемым облачным решением. DVC предлагает все преимущества распределенной системы контроля версий - отсутствие блокировок, локальное ветвление и управление версиями.
  2. Это безразлично к хранению. Вы можете работать с S3, Google Cloud и Azure.
  3. Он поставляется с отслеживанием показателей и включает команду для вывода списка всех ветвей вместе со значениями показателей для отслеживания прогресса или выбора лучшей версии.
  4. Независимость от языка и фреймворка
  5. Обеспечивает сквозную поддержку инфраструктуры конвейера машинного обучения.
  6. Он может отслеживать сбои!
  7. Он также совместим с HDFS, Hive и Apache Spark.

Так что дайте ему шанс и сделайте свою жизнь проще! Нажмите здесь что бы начать! Как специалист по данным, я настоятельно рекомендую каждому специалисту по обработке данных использовать его в своем конвейере машинного обучения.