Контроль версий данных
Контроль версий данных — это метод работы с наборами данных . Она похожа на системы контроля версий, используемые при традиционной разработке программного обеспечения, но оптимизирована для лучшей обработки данных и совместной работы в контексте анализа данных, исследований и любых других форм анализа данных. Контроль версий данных также может включать специальные функции и конфигурации, предназначенные для облегчения работы с большими наборами данных и озерами данных . [1]
История
[ редактировать ]Фон
[ редактировать ]Еще в 1985 году исследователи осознали необходимость определения атрибутов времени в таблицах базы данных, которые были бы необходимы для отслеживания изменений в базах данных . [2] Эти исследования продолжались и в 1990-е годы, и теория была формализована в практические методы управления данными в реляционных базах данных . [3] предоставление некоторых основополагающих концепций для того, что позже станет контролем версий данных.
В начале 2010-х годов размер наборов данных быстро увеличивался, и реляционных баз данных уже было недостаточно для управления объемами данных, которые накапливали организации. Появление экосистемы Apache Hadoop с HDFS в качестве уровня хранения, а затем и с объектным хранилищем, стало доминирующим в операциях с большими данными. [4] Исследования в области инструментов управления данными и систем контроля версий данных резко возросли вместе с спросом на такие инструменты как со стороны академических кругов, так и со стороны частного и государственного секторов. [5]
Базы данных с контролем версий
[ редактировать ]Первая версия базы данных была предложена в 2012 году для базы данных SciDB и продемонстрировала возможность создания цепочек и деревьев различных версий базы данных, одновременно уменьшая как общий размер хранилища, так и скорость доступа, связанную с предыдущими методами. [6] В 2014 году было сделано предложение обобщить эти принципы в платформу, которую можно было бы использовать для любого приложения. [7]
был разработан прототип системы контроля версий данных В 2016 году в ходе конкурса Kaggle . Это программное обеспечение позже использовалось внутри компании, занимающейся искусственным интеллектом , и в конечном итоге превратилось в стартап . [8] ряд систем контроля версий данных, как с открытым , так и с закрытым исходным кодом . С тех пор был разработан и предложен на коммерческой основе [9] с подмножеством, специально посвященным машинному обучению. [10]
Варианты использования
[ редактировать ]Воспроизводимость
[ редактировать ]Широкий спектр научных дисциплин внедрил автоматизированный анализ больших объемов данных, включая астрофизику , сейсмологию , биологию и медицину , социальные науки и экономику , а также многие другие области. Принцип воспроизводимости является важным аспектом формализации результатов в научных дисциплинах, а в контексте науки о данных представляет ряд проблем. Большинство наборов данных постоянно меняются, будь то из-за добавления большего количества данных или изменений в структуре и формате данных, и небольшие изменения могут оказать существенное влияние на результаты экспериментов. Контроль версий данных позволяет записывать точное состояние наборов данных в определенный момент времени, что упрощает воспроизведение и понимание результатов экспериментов. [11] Если специалисты по работе с данными могут знать только текущее состояние данных, они могут столкнуться с рядом проблем, таких как трудности с отладкой проблем или соблюдением проверок данных .
Разработка и тестирование
[ редактировать ]Контроль версий данных иногда используется при тестировании и разработке приложений, взаимодействующих с большими объемами данных. Некоторые инструменты контроля версий данных позволяют пользователям создавать копии своей производственной среды в целях тестирования. Этот подход позволяет им тестировать процессы интеграции данных, такие как извлечение, преобразование и загрузка ( ETL ), и понимать изменения, внесенные в данные, не оказывая негативного влияния на потребителей производственных данных.
Машинное обучение и искусственный интеллект
[ редактировать ]В контексте машинного обучения контроль версий данных можно использовать для оптимизации производительности моделей. Это может позволить автоматизировать процесс анализа результатов с использованием различных версий набора данных для постоянного повышения производительности. [12] Вполне возможно, что программное обеспечение для контроля версий данных с открытым исходным кодом может устранить необходимость в проприетарных платформах искусственного интеллекта, расширив такие инструменты, как Git и CI/CD, для использования инженерами машинного обучения. [13] Многие решения с открытым исходным кодом основаны на семантике Git, чтобы обеспечить эти возможности, поскольку сам Git был разработан для небольших текстовых файлов и не поддерживает типичные наборы данных машинного обучения, которые очень велики.
CI/CD для данных
[ редактировать ]Методологии CI/CD можно применять к наборам данных с использованием контроля версий данных. [14] Контроль версий позволяет пользователям интегрироваться с серверами автоматизации, которые позволяют организовать процесс CI/CD для данных. Добавляя в процесс платформы тестирования, они могут гарантировать высокое качество информационного продукта. В этом сценарии команды выполняют тесты непрерывной интеграции (CI) данных и устанавливают проверки, чтобы гарантировать, что данные передаются в рабочую среду, только если все установленные критерии качества данных и управления данными соблюдаются.
Эксперименты в изолированных средах
[ редактировать ]Чтобы экспериментировать с набором данных, не влияя на производственные данные, можно использовать контроль версий данных для создания реплик производственной среды , в которой можно проводить тесты. Такие реплики позволяют тестировать и понимать изменения, безопасно применяемые к данным.
Инструменты контроля версий данных позволяют создавать среды репликации без трудоемкого и ресурсоемкого обслуживания. Вместо этого такие инструменты позволяют совместно использовать объекты с использованием метаданных.
Откат
[ редактировать ]Постоянные изменения в наборах данных иногда могут вызывать проблемы с функциональностью или приводить к нежелательным результатам, особенно когда данные используют приложения. Инструменты контроля версий данных позволяют откатить набор данных до более раннего состояния. Это можно использовать для восстановления или улучшения функциональности приложения или для исправления ошибок или неверных данных, которые были включены по ошибке. [15]
Примеры
[ редактировать ]Источники данных с контролем версий:
Контроль версий данных для озер данных:
Системы ML-Ops, реализующие контроль версий данных:
- ДВС [23]
- Толстокожий [24]
- Нептун [25]
- активный цикл [26]
- гравитация [27]
- дагшуб [28]
- алекцио [29]
- Галилео [30]
- Воксель51 [31]
- Дстек [32]
- DVD [33]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Руководство по контролю версий данных с открытым исходным кодом — Fuzzy Labs» . www.fuzzylabs.ai . Проверено 5 января 2023 г.
- ^ Снодграсс, Ричард; Ан, Илсу (1 мая 1985 г.). «Таксономия баз данных времени» . Запись ACM SIGMOD . 14 (4): 236–246. дои : 10.1145/971699.318921 . ISSN 0163-5808 .
- ^ Временные базы данных: теория, проектирование и реализация . Редвуд-Сити, Калифорния: паб Benjamin/Cummings. Ко. 1993. ISBN. 978-0-8053-2413-6 .
- ^ «Apache Hadoop исполняется 10 лет: расцвет и слава Hadoop» . ПроектПро . Проверено 18 января 2023 г.
- ^ Брайан, Дженнифер (2 января 2018 г.). «Извините, у вас есть минутка поговорить о контроле версий?» . Американский статистик . 72 (1): 20–27. дои : 10.1080/00031305.2017.1399928 . ISSN 0003-1305 . S2CID 40975582 .
- ^ Видение, Адам; Кудре-Мору, Филипп; Мэдден, Сэмюэл; Стоунбрейкер, Майкл (1 апреля 2012 г.). «Эффективное управление версиями для баз данных научных массивов» . 2012 28-я Международная конференция IEEE по инженерии данных . стр. 1013–1024. дои : 10.1109/ICDE.2012.102 . hdl : 1721.1/90380 . ISBN 978-0-7695-4747-3 . S2CID 9144420 .
- ^ Бхардвадж, Анант; Бхаттачерджи, Сувик; Чаван, Амит; Дешпанде, Амол; Элмор, Аарон Дж.; Мэдден, Сэмюэл; Парамешваран, Адитья Г. (2 сентября 2014 г.). «DataHub: совместная обработка данных и управление версиями наборов данных в масштабе». arXiv : 1409.0798 [ cs.DB ].
- ^ "neptune.ai | О нас, нашей истории, команде и Нептуне в новостях" . neptune.ai . Проверено 4 января 2023 г.
- ^ СтартапСташ. «16 лучших инструментов управления версиями данных» . Стартапский тайник . Проверено 4 января 2023 г.
- ^ Ариан Джейдон (26 декабря 2022 г.). «Обзор инструментов управления версиями данных для операций машинного обучения» . Середина . Проверено 27 июня 2023 г.
- ^ Воспроизводимость и тиражируемость в науке . Инженерия и медицина. Вашингтон, округ Колумбия. 2019. с. 114. ИСБН 978-0-309-48617-0 . OCLC 1122461743 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) CS1 maint: другие ( ссылка ) - ^ «Контроль версий для проектов машинного обучения» . Текущая информатика (на немецком языке) . Проверено 5 января 2023 г.
- ^ «Оптимизация науки о данных с помощью открытого исходного кода: контроль версий данных и непрерывное машинное обучение» . ЗДНЕТ . Проверено 5 января 2023 г.
- ^ «Полное руководство по контролю версий баз данных, CI/CD и развертыванию» . Звезда базы данных . 01.02.2020 . Проверено 18 января 2023 г.
- ^ «Контроль версий данных — путь Тьюринга» . the-turing-way.netlify.app . Проверено 5 января 2023 г.
- ^ «День 1: Управление версиями данных и создание наборов данных» . kaggle.com . Проверено 18 января 2023 г.
- ^ «Данные о лоскутном одеяле» . Данные о квилте . Проверено 18 января 2023 г.
- ^ Холл, Сьюзен (19 августа 2020 г.). «Dolt, реляционная база данных с функциями клонирования, подобными Git» . Новый стек . Проверено 5 января 2023 г.
- ^ «Икс-МОЛ» . ru.x-mol.com . Проверено 18 января 2023 г.
- ^ «Treeverse собирает 23 миллиона долларов, чтобы внедрить систему управления версиями, подобную Git, в озера данных» . ВенчурБит . 28 июля 2021 г. Проверено 5 января 2023 г.
- ^ «О Несси — Проект Несси: транзакционный каталог для озер данных с семантикой, подобной Git» . projectnessie.org . Проверено 18 января 2023 г.
- ^ «Хранилище больших файлов Git» . Хранилище больших файлов Git . Проверено 5 января 2023 г.
- ^ Лардинуа, Фредерик (01 июня 2022 г.). «Iterative запускает MLEM, инструмент для упрощения развертывания модели ML» . ТехКранч . Проверено 18 января 2023 г.
- ^ «Главные новости недели о стартапах в области искусственного интеллекта: InstaDeep, DeepL, Pachyderm и другие» . ВенчурБит . 13 января 2023 г. Проверено 18 января 2023 г.
- ^ Ингл, Пратамеш (21 октября 2022 г.). «Лучшие инструменты контроля версий данных для исследований в области машинного обучения в 2022 году» . МаркТехПост . Проверено 18 января 2023 г.
- ^ Миллер, Рон (2 ноября 2021 г.). «Activeloop получает стартовый капитал в размере 5 миллионов долларов для создания базы данных потоковой передачи для приложений искусственного интеллекта» . ТехКранч . Проверено 18 января 2023 г.
- ^ «Эдвард Кюи, основатель и генеральный директор Graviti — Серия интервью — Unite.AI» . www.unite.ai . Проверено 18 января 2023 г.
- ^ Ингл, Пратамеш (06 октября 2022 г.). «Лучшие инструменты для отслеживания и управления экспериментами машинного обучения (ML)» . МаркТехПост . Проверено 18 января 2023 г.
- ^ «Как выделиться среди других кандидатов с помощью дата-центричного искусственного интеллекта» . КДнаггетс . Проверено 18 января 2023 г.
- ^ Шилдс, Ронан (05 января 2023 г.). «The Trade Desk пытается привлечь рекламодателей на выставке CES с помощью «Galileo» — заявки на создание «Открытого Интернета» без файлов cookie» . Дигидей . Проверено 18 января 2023 г.
- ^ Виггерс, Кайл (21 сентября 2022 г.). «Voxel51 выделяет средства на свою платформу для управления неструктурированными данными» . ТехКранч . Проверено 18 января 2023 г.
- ^ Чепцов Андрей. «Воспроизводимые рабочие процессы машинного обучения для команд — dstack» . docs.dstack.ai . Проверено 18 января 2023 г.
- ^ Кац, Уильям Т.; Плаза, Стивен М. (2019). «DVID: служба распределенных версионных изображений-ориентированных данных» . Границы в нейронных цепях . 13 :5. doi : 10.3389/fncir.2019.00005 . ISSN 1662-5110 . ПМК 6371063 . ПМИД 30804760 .