Управление версиями данных (программное обеспечение)
![]() | |
Оригинальный автор (ы) | Dmitry Petrov |
---|---|
Разработчик (ы) | Iterative.ai |
Первоначальный выпуск | 4 мая 2017 года; 5 лет назад |
Стабильный релиз | 2.30.0
/ 10 октября 2022 года; 1 день назад |
Репозиторий | https://github.com/iterative/dvc |
Написано в | Питон |
Тип | Машинное обучение CLI |
Лицензия | Apache License 2.0 |
Веб -сайт | DVC |
DVC представляет собой бесплатную систему с открытым исходным кодом платформы, алкогольная система, для данных , моделей машинного обучения и экспериментов. [ 1 ] Он предназначен для того, чтобы сделать ML -модели общими, эксперименты воспроизводимыми, [ 2 ] и отслеживать версии моделей, данных и трубопроводов. [ 3 ] [ 4 ] [ 5 ] DVC работает поверх GIT репозиториев [ 6 ] и облачное хранилище . [ 7 ]
Первая (бета) версия DVC 0,6 была запущена в мае 2017 года. [ 8 ] В мае 2020 года DVC 1.0 был публично выпущен итеративным. [ 9 ]
Обзор
[ редактировать ]DVC предназначен для включения лучших практик разработки программного обеспечения [ 10 ] в машинного обучения рабочие процессы . [ 11 ] Это делает это путем расширения традиционного программного инструмента GIT с помощью облачных фантазий для наборов данных и моделей машинного обучения. [ 12 ]
В частности, DVC делает операции машинного обучения:
- Codified: он кодифицирует наборы данных и модели, сохраняя указатели в файлах данных в облачных хвостах . [ 3 ]
- Воспроизводимый: это позволяет пользователям воспроизводить эксперименты, [ 13 ] и восстановление наборов данных из необработанных данных . [ 14 ] Эти функции также позволяют автоматизировать построение наборов данных, обучение, оценку и развертывание моделей ML. [ 15 ]
DVC и GIT
[ редактировать ]DVC хранит большие файлы и наборы данных в отдельном хранилище, за пределами GIT . [ 3 ] Это хранилище может быть на компьютере пользователя или размещено на любом крупном поставщике облачного хранилища, [ 16 ] [ 5 ] такие как AWS S3 , Google Cloud Storage и Microsoft Azure Blob Blob. [ 17 ] [ 18 ] Пользователи DVC также могут настроить удаленный репозиторий на любом сервере и подключиться к нему удаленно. [ 3 ]
Когда пользователь хранит свои данные и модели в удаленном хранилище, текстовый файл создается в их репозитории GIT , который указывает на фактические данные в удаленном хранилище. [ 2 ]
Функции
[ редактировать ]Функции DVC можно разделить на три категории: управление данными , трубопроводы и отслеживание экспериментов. [ 19 ] [ 20 ] [ 18 ]
Управление данными
[ редактировать ]Расположение версий данных и модели является базовым уровнем [ 21 ] DVC для больших файлов, наборов данных и машинного обучения моделей . Это позволяет использовать стандартный GIT рабочий процесс , но без необходимости хранить эти файлы в репозитории. Большие файлы, каталоги и модели ML заменяются небольшими метафилами , что, в свою очередь, указывает на исходные данные. Данные хранятся отдельно, позволяя ученым -ученым передавать большие наборы данных или делиться моделью с другими. [ 6 ]
DVC включает в себя управление версиями данных посредством кодификации. [ 22 ] Когда пользователь создает метафийлы, описывая, какие наборы данных, артефакты ML и другие функции для отслеживания, DVC позволяет захватывать версии данных и моделей, создавать и восстанавливать с моментальных снимков, записать развивающиеся метрики, переключение между версиями и т. Д. [ 6 ]
Уникальные версии файлов и каталогов данных кэшируются [ 23 ] систематическим образом (также предотвращение дублирования файлов). Рабочее хранилище данных отделено от рабочей области пользователя, чтобы сохранить свет проекта, но остается подключенным через ссылки на файлы, обрабатываемые автоматически DVC. [ 24 ]
Трубопроводы
[ редактировать ]DVC обеспечивает механизм для определения и выполнения трубопроводов . [ 25 ] [ 26 ] Трубопроводы представляют собой процесс создания наборов данных и моделей ML, от того, как данные предварительно обработаны до того, как модели обучаются и оцениваются. [ 27 ] Трубопроводы также могут быть использованы для развертывания моделей в производственные среды.
Трубопровод DVC сфокусирован на этапе экспериментов процесса ML. Пользователи могут запускать несколько копий трубопровода DVC, клонируя репозиторий GIT с помощью трубопровода или экспериментов ML. Они также могут записать рабочий процесс как трубопровод и воспроизводить [ 28 ] это в будущем.
Трубопроводы представлены в коде как yaml
[ 29 ] Файлы конфигурации . Эти файлы определяют этапы трубопровода и то, как данные и информация выходят от одного шага к следующему.
Когда запускается трубопровод, артефакты , произведенные этим трубопроводом, зарегистрированы в dvc.lock file
. [ 30 ] А lockfile
Записывает этапы, которые были запускаются, и хранит хэш результирующего вывода для каждого этапа. [ 25 ] Это не только запись о выполнении трубопровода, но также полезно при принятии решения о том, какие шаги должны быть повторно затронуты при последующих выполнениях трубопровода. [ 27 ] [ 19 ]
Экспериментное отслеживание
[ редактировать ]Отслеживание экспериментов позволяет разработчикам исследовать, итерации и сравнивать различные эксперименты по машинному обучению. [ 21 ] [ 19 ]
Каждый эксперимент представляет собой вариацию проекта науки о данных, определяемого изменениями в рабочей области. Эксперименты сохраняют ссылку на коммит в текущем филиале (git HEAD
) [ 31 ] как их родитель или базовый уровень. Тем не менее, они не являются частью обычного дерева GIT (если они не становятся постоянными). [ 32 ] Это останавливает временные коммиты и филиалы от переполнения репозитория пользователя.
Общие варианты использования [ 33 ] Для экспериментов:
- Сравнение модельных архитектур
- Сравнение наборов данных обучения или оценки
- Выбор модельных гиперпараметров
Эксперименты DVC можно управлять и визуализировать либо из VS Code IDE [ 34 ] или онлайн с использованием итерационной студии. [ 35 ] Визуализация [ 36 ] Позволяет каждому пользователю сравнивать результаты эксперимента визуально, отслеживать графики и генерировать их с помощью интеграции библиотеки.
DVC предлагает несколько вариантов [ 36 ] Для использования визуализации в обычном рабочем процессе:
- DVC может генерировать HTML -файлы, которые включают интерактивные графики из серии данных в формате JSON , YAML , CSV или TSV
- DVC может отслеживать файлы изображений, созданные в виде выходов сюжета [ 37 ] Из сценариев обучения/оценки
- DVClive [ 38 ] Интеграции могут автоматически производить участки во время обучения
Расширение DVC против кода
[ редактировать ]В 2022 году итерации выпустили бесплатное расширение [ 39 ] Для кода Visual Studio (VS Code) редактор исходного кода , изготовленный Microsoft , который предоставляет пользователям VS кода возможность использовать DVC в своих редакторах с дополнительными функциями пользовательского интерфейса . [ 40 ] [ 41 ]
История
[ редактировать ]В 2017 году, [ 42 ] [ 43 ] Первая (бета) версия DVC 0.6 [ 44 ] был публично выпущен (как инструмент простой командной строки). [ 43 ] Это позволило ученым данных отслеживать свои процессы машинного обучения и зависимости от файлов в простой форме команд, подобных git. Это также позволило им превратить существующие процессы машинного обучения в воспроизводимые трубопроводы DVC. DVC 0.6 решил большинство общих проблем, с которыми сталкивались инженеры по машинному обучению и ученые для данных: воспроизводимость экспериментов по машинному обучению, а также управление версиями данных и низкий уровень сотрудничества между командами.
Созданный бывшим ученым Data Microsoft Dmitry Petrov, DVC направлен на интеграцию лучших существующих методов разработки программного обеспечения в операции машинного обучения. [ 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 (управление экспериментом), модель контрольно -пропускных пунктов и регистрации метрик.
ML Эксперименты: для решения проблемы накладных расходов GIT, когда сотни экспериментов должны проводиться за один день, и каждый эксперимент требует дополнительных команд GIT, DVC 2.0 представил функцию легких экспериментов . Это позволяет своим пользователям автоматически отслеживать эксперименты ML и снимать изменения кода.
Это устранило зависимость от дополнительных услуг [ 50 ] Сохранение версий данных в качестве метаданных в GIT, в отличие от того, чтобы перенести их на внешние базы данных или API. [ 51 ]
ML MODEL CHACKPOINTS В версии версии: новый выпуск также позволяет управлять всеми контрольно -пропускными пунктами с соответствующим кодом и данными.
Регистрация метриков: библиотеки с открытым исходным кодом DVC 2.0 представила новую DVC-Live , которая обеспечит функциональность для отслеживания метрик моделей и организации метрик таким образом, чтобы DVC мог визуализировать с навигацией в истории GIT.
Альтернативные решения для DVC
[ редактировать ]Есть несколько проектов с открытым исходным кодом, которые предоставляют аналогичные возможности управления версиями данных для DVC, [ 52 ] такие как: Git LFS , Dolt , Nessie и Lakefs . Эти проекты варьируются в соответствии с различными потребностями инженеров и ученых данных, таких как: масштабируемость, поддерживаемые форматы файлов, поддержка в табличных данных и неструктурированные данные, объем поддерживаемых данных и многое другое.
Ссылки
[ редактировать ]- ^ Hewage Nipuni, Meedeniya Dulani (февраль 2022 г.). «Операции машинного обучения: опрос поддержки инструмента MLOPS» . Researchgate . Arxiv : 2202.10169 .
- ^ Jump up to: а беременный Баррак Амин, Эган Эллис Э., Адамс Брэм (март 2021 г.). «О коэволюции трубопроводов ML и исходного кода - эмпирическое исследование проектов DVC» . Ieee xplore . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Jump up to: а беременный в дюймовый ИВАНСИК, КРИСТИДЖАН. «Управление версией данных с Python и DVC» . Настоящий питон . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Jump up to: а беременный Виггерс, Кайл. «Mlops Startup iterative.ai nabs 20 миллионов долларов» . VentureBeat . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Jump up to: а беременный «Компания Mlops итерация достигает значительного роста клиентов и компании в 2021 году» . Бизнес -проволока . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Jump up to: а беременный в Холл, Сьюзен (4 февраля 2021 года). «Iterative.ai: инструменты машинного обучения на основе GIT для инженеров ML» . Новый стек . Архивировано из оригинала 5 октября 2022 года . Получено 5 октября 2022 года .
- ^ "Что такое DVC?" Полем Руководство MLOPS . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Петров, Дмитрий. «DVC 3 года и 1,0 предварительного выпуска» . Итеративный.ai . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Анадиотис, Джордж. «Упрощение науки о данных с открытым исходным кодом: управление версиями данных и непрерывное машинное обучение» . Zdnet . Архивировано из оригинала 2022-10-05 . Получено 2022-10-05 .
- ^ Петров, Дмитрий. «Дорога к аду ИИ начинается с хороших намерений MLOPS» . Новый стек . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Эджаз, Нимра (6 октября 2021 года). «Управление версией данных объяснил» . Crowdbotics . Архивировано из оригинала 7 октября 2022 года . Получено 7 октября 2022 года .
- ^ Лардиноис, Фредерик. «Итеративно приносит 20 миллионов долларов за свою платформу MLOPS» . TechCrunch . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «Интервью Aitech с Dmitry Petrov, соучредителем и генеральным директором в iterative.ai» . ИИ Технологический парк . 20 июля 2022 года. Архивировано с оригинала 6 октября 2022 года . Получено 6 октября 2022 года .
- ^ «Версии данных для CD4ML - Часть 2» . Ай Сингапур . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Баена, Даниэль (2 марта 2022 г.). «Как построить эффективный рабочий процесс проекта машинного обучения с использованием управления версиями данных (DVC)» . Rappi Tech . Архивировано из оригинала 6 октября 2022 года . Получено 6 октября 2022 года .
- ^ «Документация DVC. Поддерживаемые типы хранения» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Визард, Майкл. «Iterative.ai обновляет платформу Mlops для оптимизации и поддержки облачного обеспечения» . VentureBeat . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Jump up to: а беременный Кулкарни, Амит (17 июня 2021 года). «Отслеживание экспериментов ML с контролем версий данных» . Аналитика Видхья . Архивировано из оригинала 6 октября 2022 года . Получено 6 октября 2022 года .
- ^ Jump up to: а беременный в «Введение в контроль версий данных (DVC)» . Кэггл . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Геррапин, Базиль (12 июля 2019 г.). «Использование DVC для создания эффективной системы управления версиями для проектов данных» . Конто Путь . Архивировано из оригинала 6 октября 2022 года . Получено 6 октября 2022 года .
- ^ Jump up to: а беременный «Документация DVC. Начните» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «DVC документация. Данные и модели версий» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «Документация DVC. Внутренние каталоги и файлы» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «Документация DVC. Большая оптимизация наборов данных» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Jump up to: а беременный «Работа с трубопроводами» . Руководство MLOPS . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «Документация DVC. Начните: трубопроводы данных» . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ Jump up to: а беременный Идову Самуэль, Струбер Даниэль, Бергер Торстен (2021). «Управление активами в машинном обучении: опрос» . Система данных астрофизики (ADS) . Arxiv : 2102.06919 .
- ^ Капур Сайаш, Нараянан Арвинд (2022). «Утечка и кризис воспроизводимости в науке на основе ML» . Researchgate . Arxiv : 2207.07048 . Архивировано из оригинала 2024-06-28 . Получено 2022-10-07 .
- ^ "DVC документация. DVC.YAML" . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ "DVC Documentation. DVC.Lock File" . dvc.org/doc . Архивировано из оригинала 2022-10-06 . Получено 2022-10-06 .
- ^ «DVC Documentation. Обзор экспериментов DVC» . dvc.org/doc . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ «Документация DVC. Упорные эксперименты» . dvc.org/doc .
- ^ «Как мы отслеживаем наши эксперименты с данными» . Каперников . 26 января 2022 года. Архивировано с оригинала 6 октября 2022 года . Получено 6 октября 2022 года .
- ^ «Расширение DVC для кода Visual Studio» . Визуальная студия. Рынок . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ «Итерационный представлен первой реестр моделей машинного обучения на основе GIT» . Yahoo Finance . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ Jump up to: а беременный «Документация DVC. Начните: визуализация с участками» . dvc.org/doc . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ «Документация DVC. Метрики и выходы участков» . dvc.org/doc . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ «Документация DVC. DVClive с DVC» . dvc.org/doc . Архивировано из оригинала 2022-10-07 . Получено 2022-10-07 .
- ^ Николлс, Эмили (14 июня 2022 года). «Итерационный объявляет бесплатное расширение кода Microsoft Visual Studio для ускорения опыта разработки модели ML» . Тфир . Архивировано из оригинала 7 октября 2022 года . Получено 7 октября 2022 года .
- ^ Бхартия, Свапнил (28 июня 2022 года). «Расширение DVC от итерации превращается в код в платформу экспериментов ML» . Тфир . Архивировано из оригинала 28 июня 2024 года . Получено 7 октября 2022 года .
- ^ Аван, Абид Али. «12 Основные расширения VSCODE для науки о данных» . Kdnuggets . Архивировано из оригинала 2024-06-28 . Получено 2022-10-07 .
- ^ «DVC 3 года и 1,0 предварительного выпуска» . Итеративный.ai . 4 мая 2020 года. Архивировано с оригинала 5 октября 2022 года . Получено 5 октября 2022 года .
- ^ Jump up to: а беременный «Управление версией данных объяснил» . Crowdbotics . 6 октября 2021 года. Архивировано с оригинала 7 октября 2022 года . Получено 7 октября 2022 года .
- ^ Петров, Дмитрий. «Управление версиями данных: итеративное машинное обучение» . Kdnuggets . Архивировано из оригинала 2022-12-02 . Получено 2022-12-02 .
- ^ Васкес, Фавио (17 апреля 2019 г.). "Контроль версий данных с DVC. Что говорят авторы?" Полем К науке о данных . Архивировано из оригинала 2 декабря 2022 года . Получено 2 декабря 2022 года .
- ^ Смолакс, макс. «Iterative.ai раздает альтернативу открытым исходным кодам AWS SageMaker и инженеру Azure ML» . ИИ бизнес . Архивировано из оригинала 2022-12-02 . Получено 2022-12-02 .
- ^ Сингх, свастик (3 июня 2021 года). «Startup iterative с открытым исходным кодом . Vcbay . Архивировано из оригинала 2 декабря 2022 года . Получено 2 декабря 2022 года .
- ^ «DVC 1.0 Release: новые функции для MLOP» . Итеративный.ai . 22 июня 2020 года. Архивировано с оригинала 2 декабря 2022 года . Получено 2 декабря 2022 года .
- ^ "DVC 2.0 Release" . Итеративный.ai . 3 марта 2021 года. Архивировано с оригинала 2 декабря 2022 года . Получено 2 декабря 2022 года .
- ^ «Документация DVC. Управление экспериментом» . dvc.org/doc . Архивировано из оригинала на 2022-10-08 . Получено 2022-10-07 .
- ^ «Документация DVC. Связанные технологии» . dvc.org/doc . Архивировано из оригинала 2022-12-02 . Получено 2022-12-02 .
- ^ Орр, Эйнат (25 июля 2022 г.). «Управление версиями данных как ваша карта« Убирайся из тюрьмы »-DVC против Git-LFS против Dolt против Lakefs» . Lakefs . Архивировано из оригинала 23 ноября 2022 года . Получено 23 ноября 2022 года .
Внешние ссылки
[ редактировать ]- Свободное программное обеспечение запрограммировано на Python
- Программное обеспечение с использованием лицензии Apache
- Библиотеки Python (язык программирования)
- Программное обеспечение Python (язык программирования)
- Программное обеспечение для добычи данных и машинного обучения
- Программное обеспечение 2017 года