Jump to content

Контроль версий данных (программное обеспечение)

ДВС
Оригинальный автор(ы) Dmitry Petrov
Разработчик(и) Iterative.ai
Первоначальный выпуск 4 мая 2017 г.; 5 лет назад
Стабильная версия
2.30.0 / 10 октября 2022 г.; 1 день назад
Репозиторий https://github.com/iterative/dvc
Написано в Питон
Тип Интерфейс командной строки машинного обучения
Лицензия Лицензия Апач 2.0
Веб-сайт ДВС .org

DVC — это бесплатная система версий с открытым исходным кодом , не зависящая от платформы, для данных , моделей машинного обучения и экспериментов. [1] Он создан для того, чтобы сделать модели машинного обучения доступными для совместного использования, а эксперименты — воспроизводимыми. [2] и отслеживать версии моделей, данных и конвейеров. [3] [4] [5] DVC работает поверх Git . репозиториев [6] и облачное хранилище . [7]

Первая (бета-версия) DVC 0.6 была выпущена в мае 2017 года. [8] В мае 2020 года компания Iterative.ai публично выпустила DVC 1.0. [9]

DVC разработан с учетом лучших практик разработки программного обеспечения. [10] в машинного обучения рабочие процессы . [11] Это достигается за счет расширения традиционного программного инструмента Git за счет облачных хранилищ для наборов данных и моделей машинного обучения. [12]

В частности, DVC выполняет операции машинного обучения: 

  • Кодифицированный: он кодифицирует наборы данных и модели, сохраняя указатели на файлы данных в облачных хранилищах . [3]
  • Воспроизводимость: позволяет пользователям воспроизводить эксперименты, [13] и восстанавливать наборы данных из необработанных данных . [14] Эти функции также позволяют автоматизировать создание наборов данных, обучение, оценку и развертывание моделей машинного обучения. [15]

DVC хранит большие файлы и наборы данных в отдельном хранилище вне Git . [3] Это хранилище может находиться на компьютере пользователя или у любого крупного поставщика облачных хранилищ. [16] [5] такие как AWS S3 , Google Cloud Storage и Microsoft Azure Blob Storage. [17] [18] Пользователи DVC также могут настроить удаленный репозиторий на любом сервере и удаленно подключаться к нему. [3]

создается текстовый файл Когда пользователь сохраняет свои данные и модели в удаленном хранилище, в его репозитории Git , который указывает на фактические данные в удаленном хранилище. [2]

Функции DVC можно разделить на три категории: управление данными , конвейеры и отслеживание экспериментов. [19] [20] [18]

Управление данными

[ редактировать ]

Управление версиями данных и моделей является базовым уровнем. [21] DVC для больших файлов, наборов данных и машинного обучения моделей . Он позволяет использовать стандартный Git рабочий процесс , но без необходимости хранить эти файлы в репозитории. Большие файлы, каталоги и модели ML заменяются небольшими метафайлами , которые, в свою очередь, указывают на исходные данные. Данные хранятся отдельно, что позволяет специалистам по данным передавать большие наборы данных или делиться моделью с другими. [6]

DVC обеспечивает управление версиями данных посредством кодификации. [22] Когда пользователь создает метафайлы, описывающие, какие наборы данных, артефакты машинного обучения и другие функции необходимо отслеживать, DVC позволяет захватывать версии данных и моделей, создавать и восстанавливать из снимков, записывать изменяющиеся метрики, переключаться между версиями и т. д. [6]

Уникальные версии файлов и каталогов данных кэшируются . [23] систематическим образом (также предотвращая дублирование файлов). Рабочее хранилище данных отделено от рабочего пространства пользователя, чтобы облегчить проект, но остается подключенным через ссылки на файлы, автоматически обрабатываемые DVC. [24]

Трубопроводы

[ редактировать ]

DVC предоставляет механизм для определения и выполнения конвейеров . [25] [26] Конвейеры представляют собой процесс создания наборов данных и моделей машинного обучения, от предварительной обработки данных до обучения и оценки моделей. [27] Конвейеры также можно использовать для развертывания моделей в производственных средах.

Конвейер DVC ориентирован на этап экспериментирования процесса машинного обучения. Пользователи могут запускать несколько копий конвейера DVC, клонируя репозиторий Git с помощью конвейера или проводя эксперименты по машинному обучению. Они также могут записывать рабочий процесс в виде конвейера и воспроизводить его. [28] это в будущем.

Конвейеры представлены в коде как yaml [29] файлы конфигурации . Эти файлы определяют этапы конвейера и то, как данные и информация передаются от одного этапа к другому.

При запуске конвейера артефакты, созданные этим конвейером, регистрируются в файле dvc.lock file. [30] lockfile записывает выполненные этапы и сохраняет хэш результирующего результата для каждого этапа. [25] Это не только запись выполнения конвейера, но также полезна при принятии решения о том, какие шаги необходимо повторить при последующих запусках конвейера. [27] [19]

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

[ редактировать ]

Отслеживание экспериментов позволяет разработчикам исследовать, повторять и сравнивать различные эксперименты по машинному обучению. [21] [19]

Каждый эксперимент представляет собой вариант проекта по науке о данных, определяемый изменениями в рабочей области. Эксперименты сохраняют ссылку на коммит в текущей ветке (Git HEAD) [31] в качестве их родительского или базового уровня. Однако они не являются частью обычного дерева Git (если не сделаны постоянными). [32] Это предотвращает переполнение пользовательского репозитория временными коммитами и ветвями.

Распространенные случаи использования [33] для экспериментов есть:

  1. Сравнение архитектур моделей
  2. Сравнение наборов данных обучения или оценки
  3. Выбор гиперпараметров модели

Экспериментами DVC можно управлять и визуализировать их либо из VS Code IDE. [34] или онлайн с помощью Iterative Studio. [35] Визуализация [36] позволяет каждому пользователю визуально сравнивать результаты экспериментов, отслеживать графики и генерировать их с помощью интеграции библиотеки.

DVC предлагает несколько вариантов [36] для использования визуализации в обычном рабочем процессе:

  • DVC может создавать файлы HTML , которые включают интерактивные графики из рядов данных в формате JSON , YAML , CSV или TSV.
  • DVC может отслеживать файлы изображений, созданные в качестве выходных данных. [37] из сценариев обучения/оценки
  • DVCLive [38] интеграции могут автоматически создавать графики во время обучения

Расширение DVC VS Code

[ редактировать ]

В 2022 году Iterative выпустила бесплатное расширение. [39] для Visual Studio Code (VS Code), редактора исходного кода, созданного Microsoft , который предоставляет пользователям VS Code возможность использовать DVC в своих редакторах с дополнительными функциями пользовательского интерфейса . [40] [41]

В 2017 году [42] [43] первая (бета) версия DVC 0.6 [44] был публично выпущен (как простой инструмент командной строки). [43] Это позволило ученым, работающим с данными, отслеживать процессы машинного обучения и зависимости файлов в простой форме команд, подобных git. Это также позволило им преобразовать существующие процессы машинного обучения в воспроизводимые конвейеры DVC. DVC 0.6 решил большинство распространенных проблем, с которыми сталкивались инженеры по машинному обучению и специалисты по обработке данных: воспроизводимость экспериментов по машинному обучению, а также управление версиями данных и низкий уровень сотрудничества между командами.

Компания DVC, созданная бывшим специалистом по данным Microsoft Дмитрием Петровым, стремилась интегрировать лучшие существующие практики разработки программного обеспечения в операции машинного обучения. [45]

В 2018 году [46] Дмитрий Петров вместе с инженером и предпринимателем Иваном Щеклеином основали Iterative.ai, [4] [47] компания MLOps, продолжившая развитие DVC. Помимо DVC, Iterative.ai также поддерживает инструменты с открытым исходным кодом, такие как CML, MLEM и Studio, корпоративную версию инструментов с открытым исходным кодом.

В июне 2020 года [48] Команда Iterative.ai выпустила DVC 1.0. В результате обсуждений и вклада сообщества были добавлены новые функции, такие как многоэтапные файлы DVC, кэш выполнения, графики, оптимизация передачи данных, отслеживание гиперпараметров и циклы стабильных выпусков.

В марте 2021 года [49] DVC выпустила DVC 2.0, в котором представлены эксперименты ML (управление экспериментами), контрольные точки модели и журналирование показателей.

Эксперименты с машинным обучением. Чтобы решить проблему накладных расходов Git, когда в течение одного дня необходимо проводить сотни экспериментов и для каждого запуска эксперимента требуются дополнительные команды Git, в DVC 2.0 появилась функция облегченных экспериментов . Он позволяет пользователям автоматически отслеживать эксперименты по машинному обучению и фиксировать изменения кода.

Это устранило зависимость от дополнительных услуг. [50] сохраняя версии данных в виде метаданных в Git, а не передавая их во внешние базы данных или API. [51]

Управление версиями контрольных точек модели ML. В новой версии также поддерживается управление версиями всех контрольных точек с соответствующим кодом и данными.

Ведение журнала метрик: в DVC 2.0 представлена ​​новая библиотека с открытым исходным кодом DVC-Live , которая предоставит функциональные возможности для отслеживания метрик модели и организации метрик таким образом, чтобы DVC мог визуализировать их с помощью навигации по истории Git.

Альтернативные решения DVC

[ редактировать ]

Существует несколько проектов с открытым исходным кодом, которые предоставляют возможности контроля версий данных, аналогичные DVC. [52] такие как: Git LFS , Dolt , Nessie и LakeFS . Эти проекты различаются по степени соответствия различным потребностям инженеров и специалистов по данным, таким как: масштабируемость, поддерживаемые форматы файлов, поддержка табличных и неструктурированных данных, объем поддерживаемых данных и многое другое.

  1. ^ Хеваге Нипуни, Медения Дулани (февраль 2022 г.). «Операции машинного обучения: обзор поддержки инструмента MLOps» . Исследовательские ворота . arXiv : 2202.10169 .
  2. ^ Перейти обратно: а б Баррак Амин, Иган Эллис Э., Адамс Брэм (март 2021 г.). «О совместной эволюции конвейеров ML и исходного кода — эмпирическое исследование проектов DVC» . IEEE Эксплор . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  3. ^ Перейти обратно: а б с д Иванчич, Кристиан. «Контроль версий данных с помощью Python и DVC» . Настоящий Питон . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  4. ^ Перейти обратно: а б Виггерс, Кайл. «Стартап MLOps Iterative.ai получил 20 миллионов долларов» . ВенчурБит . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  5. ^ Перейти обратно: а б «Итеративная компания MLOps достигнет значительного роста клиентов и компании в 2021 году» . Деловой провод . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  6. ^ Перейти обратно: а б с Холл, Сьюзен (4 февраля 2021 г.). «Iterative.ai: инструменты машинного обучения на основе Git для инженеров машинного обучения» . Новый стек . Архивировано из оригинала 5 октября 2022 года . Проверено 5 октября 2022 г.
  7. ^ «Что такое ДВК?» . Руководство по МЛОпс . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  8. ^ Петров Дмитрий. «Предварительная версия DVC 3 года и 1.0» . Итеративный.ai . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  9. ^ Анадиотис, Джордж. «Оптимизация науки о данных с помощью открытого исходного кода: контроль версий данных и непрерывное машинное обучение» . ЗДНЕТ . Архивировано из оригинала 5 октября 2022 г. Проверено 5 октября 2022 г.
  10. ^ Петров Дмитрий. «Дорога в ад ИИ начинается с добрых намерений MLOps» . Новый стек . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  11. ^ Эджаз, Нимра (6 октября 2021 г.). «Объяснение контроля версий данных» . Краудботика . Архивировано из оригинала 7 октября 2022 года . Проверено 7 октября 2022 г.
  12. ^ Лардинуа, Фредерик. «Iterative привлекает 20 миллионов долларов для своей платформы MLOps» . ТехКранч . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  13. ^ «Интервью AITech с Дмитрием Петровым, сооснователем и генеральным директором Iterative.ai» . Технопарк ИИ . 20 июля 2022 года. Архивировано из оригинала 6 октября 2022 года . Проверено 6 октября 2022 г.
  14. ^ «Версии данных для CD4ML – Часть 2» . ИИ Сингапур . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  15. ^ Баэна, Дэниел (2 марта 2022 г.). «Как построить эффективный рабочий процесс проекта машинного обучения с использованием контроля версий данных (DVC)» . Раппи Тех . Архивировано из оригинала 6 октября 2022 года . Проверено 6 октября 2022 г.
  16. ^ «Документация DVC. Поддерживаемые типы накопителей» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  17. ^ Визард, Майкл. «Iterative.ai обновляет платформу MLOps для оптимизации и поддержки облачной подготовки» . ВенчурБит . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  18. ^ Перейти обратно: а б Кулкарни, Амит (17 июня 2021 г.). «Отслеживание экспериментов по машинному обучению с помощью контроля версий данных» . Аналитика Видья . Архивировано из оригинала 6 октября 2022 года . Проверено 6 октября 2022 г.
  19. ^ Перейти обратно: а б с «Введение в управление версиями данных (DVC)» . Каггл . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  20. ^ Геррапен, Базиль (12 июля 2019 г.). «Использование DVC для создания эффективной системы контроля версий для проектов данных» . Путь Конто . Архивировано из оригинала 6 октября 2022 года . Проверено 6 октября 2022 г.
  21. ^ Перейти обратно: а б «Документация DVC. Начало работы» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  22. ^ «Документация DVC. Управление версиями данных и моделей» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  23. ^ «Документация DVC. Внутренние каталоги и файлы» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  24. ^ «Документация DVC. Оптимизация больших наборов данных» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  25. ^ Перейти обратно: а б «Работа с трубопроводами» . Руководство по МЛОпс . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  26. ^ «Документация DVC. Начало работы: конвейеры данных» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  27. ^ Перейти обратно: а б Идову Самуэль, Стрюбер Даниэль, Бергер Торстен (2021). «Управление активами в машинном обучении: опрос» . Система астрофизических данных (ADS) . arXiv : 2102.06919 .
  28. ^ Капур Саяш, Нараянан Арвинд (2022). «Утечка и кризис воспроизводимости в науке, основанной на машинном обучении» . Исследовательские ворота . arXiv : 2207.07048 . Архивировано из оригинала 28 июня 2024 г. Проверено 07 октября 2022 г.
  29. ^ «Документация DVC. dvc.yaml» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  30. ^ «Документация DVC. Файл dvc.lock» . dvc.org/doc . Архивировано из оригинала 06 октября 2022 г. Проверено 6 октября 2022 г.
  31. ^ «Документация DVC. Обзор экспериментов DVC» . dvc.org/doc . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  32. ^ «Документация DVC. Устойчивые эксперименты» . dvc.org/doc .
  33. ^ «Как мы отслеживаем наши эксперименты с данными» . Каперников . 26 января 2022 года. Архивировано из оригинала 6 октября 2022 года . Проверено 6 октября 2022 г.
  34. ^ «Расширение DVC для кода Visual Studio» . Визуальная студия. Рынок . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  35. ^ «Iterative представляет первый реестр моделей машинного обучения на базе Git» . Яху Финанс . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  36. ^ Перейти обратно: а б «Документация DVC. Начало работы: визуализация с помощью графиков» . dvc.org/doc . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  37. ^ «Документация DVC. Выходные показатели и графики» . dvc.org/doc . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  38. ^ «Документация DVC. DVCLive с DVC» . dvc.org/doc . Архивировано из оригинала 07 октября 2022 г. Проверено 07 октября 2022 г.
  39. ^ Николлс, Эмили (14 июня 2022 г.). «Iterative объявляет о бесплатном расширении кода Microsoft Visual Studio для ускорения разработки моделей машинного обучения» . ТФиР . Архивировано из оригинала 7 октября 2022 года . Проверено 7 октября 2022 г.
  40. ^ Бхартия, Свапнил (28 июня 2022 г.). «Расширение DVC компании Iterative превращает код VS в платформу для экспериментов с машинным обучением» . ТФиР . Архивировано из оригинала 28 июня 2024 года . Проверено 7 октября 2022 г.
  41. ^ Аван, Абид Али. «12 основных расширений VSCode для науки о данных» . КДнаггетс . Архивировано из оригинала 28 июня 2024 г. Проверено 07 октября 2022 г.
  42. ^ «Предварительная версия DVC 3 года и 1.0» . Итеративный.ai . 4 мая 2020 года. Архивировано из оригинала 5 октября 2022 года . Проверено 5 октября 2022 г.
  43. ^ Перейти обратно: а б «Объяснение контроля версий данных» . Краудботика . 6 октября 2021 года. Архивировано из оригинала 7 октября 2022 года . Проверено 7 октября 2022 г.
  44. ^ Петров Дмитрий. «Контроль версий данных: итеративное машинное обучение» . КДнаггетс . Архивировано из оригинала 02 декабря 2022 г. Проверено 2 декабря 2022 г.
  45. ^ Васкес, Фавио (17 апреля 2019 г.). «Контроль версий данных с помощью DVC. Что говорят авторы?» . На пути к науке о данных . Архивировано из оригинала 2 декабря 2022 года . Проверено 2 декабря 2022 г.
  46. ^ Смолакс, Макс. «Iterative.ai предлагает альтернативу AWS SageMaker и Azure ML Engineer с открытым исходным кодом» . ИИ-бизнес . Архивировано из оригинала 02 декабря 2022 г. Проверено 2 декабря 2022 г.
  47. ^ Сингх, Свастик (3 июня 2021 г.). «Стартап с открытым исходным кодом Iterative.ai привлекает 20 миллионов долларов США» . VCBay . Архивировано из оригинала 2 декабря 2022 года . Проверено 2 декабря 2022 г.
  48. ^ «Выпуск DVC 1.0: новые возможности для MLOps» . Итеративный.ai . 22 июня 2020 года. Архивировано из оригинала 2 декабря 2022 года . Проверено 2 декабря 2022 г.
  49. ^ «Релиз DVC 2.0» . Итеративный.ai . 3 марта 2021 года. Архивировано из оригинала 2 декабря 2022 года . Проверено 2 декабря 2022 г.
  50. ^ «Документация DVC. Управление экспериментом» . dvc.org/doc . Архивировано из оригинала 8 октября 2022 г. Проверено 07 октября 2022 г.
  51. ^ «Документация DVC. Сопутствующие технологии» . dvc.org/doc . Архивировано из оригинала 02 декабря 2022 г. Проверено 2 декабря 2022 г.
  52. ^ Орр, Эйнат (25 июля 2022 г.). «Версионирование данных как карточка «Выйти из тюрьмы» — DVC против Git-LFS против dolt против LakeFS» . озероФС . Архивировано из оригинала 23 ноября 2022 года . Проверено 23 ноября 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a34120c3783e0078ea0be2732f81a59a__1719584040
URL1:https://arc.ask3.ru/arc/aa/a3/9a/a34120c3783e0078ea0be2732f81a59a.html
Заголовок, (Title) документа по адресу, URL1:
Data Version Control (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)