stringtranslate.com

Контроль версий данных

Контроль версий данных — это метод работы с наборами данных . Он похож на системы контроля версий , используемые в традиционной разработке программного обеспечения, но оптимизирован для лучшей обработки данных и совместной работы в контексте аналитики данных, исследований и любой другой формы анализа данных. Контроль версий данных может также включать в себя специальные функции и конфигурации, разработанные для облегчения работы с большими наборами данных и озерами данных . [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, реализующие контроль версий данных:

Смотрите также

Ссылки

  1. ^ "Руководство по контролю версий данных с открытым исходным кодом - Fuzzy Labs". www.fuzzylabs.ai . Получено 05.01.2023 .
  2. ^ Снодграсс, Ричард; Ан, Илсу (1985-05-01). «Таксономия баз данных времени». ACM SIGMOD Record . 14 (4): 236–246. doi :10.1145/971699.318921. ISSN  0163-5808.
  3. ^ Временные базы данных: теория, проектирование и реализация. Редвуд-Сити, Калифорния: Benjamin/Cummings Pub. Co. 1993. ISBN 978-0-8053-2413-6.
  4. ^ "Apache Hadoop исполняется 10 лет: расцвет и слава Hadoop". ProjectPro . Получено 18.01.2023 .
  5. Брайан, Дженнифер (2018-01-02). «Простите, у вас есть минутка поговорить о контроле версий?». The American Statistician . 72 (1): 20–27. doi :10.1080/00031305.2017.1399928. ISSN  0003-1305. S2CID  40975582.
  6. ^ Сиринг, Адам; Кюдре-Мору, Филипп; Мэдден, Сэмюэл; Стоунбрейкер, Майкл (01.04.2012). «Эффективное управление версиями для баз данных научных массивов». 28-я международная конференция IEEE по инжинирингу данных 2012 г. стр. 1013–1024. doi :10.1109/ICDE.2012.102. hdl :1721.1/90380. ISBN 978-0-7695-4747-3. S2CID  9144420.
  7. ^ Бхардвадж, Анант; Бхаттачерджи, Сувик; Чаван, Амит; Дешпанде, Амол; Элмор, Аарон Дж.; Мэдден, Сэмюэл; Парамешваран, Адитья Г. (2 сентября 2014 г.). «DataHub: совместная обработка данных и управление версиями наборов данных в масштабе». arXiv : 1409.0798 [cs.DB].
  8. ^ "neptune.ai | О нас, нашей истории, команде и Neptune в новостях". neptune.ai . Получено 2023-01-04 .
  9. ^ StartupStash. "16 лучших инструментов управления версиями данных". Startup Stash . Получено 04.01.2023 .
  10. ^ Ариан Джадон (26 декабря 2022 г.). «Обзор инструментов управления версиями данных для операций машинного обучения». Medium . Получено 27.06.2023 .
  11. ^ Воспроизводимость и воспроизводимость в науке . Инженерное дело и медицина. Вашингтон, округ Колумбия. 2019. стр. 114. ISBN 978-0-309-48617-0. OCLC  1122461743.{{cite book}}: CS1 maint: местоположение отсутствует издатель ( ссылка ) CS1 maint: другие ( ссылка )
  12. ^ "Контроль версий для проектов машинного обучения" . Информатик Актуелл (на немецком языке) . Проверено 5 января 2023 г.
  13. ^ «Оптимизация науки о данных с открытым исходным кодом: контроль версий данных и непрерывное машинное обучение». ZDNET . Получено 2023-01-05 .
  14. ^ "Полное руководство по контролю версий баз данных, CI/CD и развертыванию". Database Star . 2020-02-01 . Получено 2023-01-18 .
  15. ^ «Контроль версий данных — The Turing Way». the-turing-way.netlify.app . Получено 2023-01-05 .
  16. ^ "День 1: Версионирование данных и создание наборов данных". kaggle.com . Получено 18.01.2023 .
  17. ^ "Данные одеяла". Данные одеяла . Получено 2023-01-18 .
  18. ^ Холл, Сьюзен (2020-08-19). "Dolt, реляционная база данных с функциями клонирования Git-подобных". The New Stack . Получено 2023-01-05 .
  19. ^ "X-MOL". en.x-mol.com . Получено 2023-01-18 .
  20. ^ "Treeverse привлекает $23 млн для внедрения Git-подобного контроля версий в озера данных". VentureBeat . 2021-07-28 . Получено 2023-01-05 .
  21. ^ "О Nessie - Проект Nessie: Транзакционный каталог для озер данных с семантикой, подобной Git". projectnessie.org . Получено 18.01.2023 .
  22. ^ "Git Large File Storage". Git Large File Storage . Получено 2023-01-05 .
  23. ^ Лардинуа, Фредерик (01.06.2022). «Iterative запускает MLEM — инструмент для упрощения развертывания моделей машинного обучения». TechCrunch . Получено 18.01.2023 .
  24. ^ "Главные новости о стартапах в области ИИ за неделю: InstaDeep, DeepL, Pachyderm и другие". VentureBeat . 2023-01-13 . Получено 2023-01-18 .
  25. ^ Ингл, Пратхамеш (21.10.2022). "Лучшие инструменты контроля версий данных для исследований в области машинного обучения в 2022 году". MarkTechPost . Получено 18.01.2023 .
  26. ^ Миллер, Рон (2021-11-02). «Activeloop получает $5 млн на создание потоковой базы данных для приложений ИИ». TechCrunch . Получено 18.01.2023 .
  27. ^ "Эдвард Куи, основатель и генеральный директор Graviti - Серия интервью - Unite.AI". www.unite.ai . Получено 18.01.2023 .
  28. ^ Ингл, Пратхамеш (2022-10-06). "Лучшие инструменты для отслеживания и управления экспериментами машинного обучения (ML)". MarkTechPost . Получено 2023-01-18 .
  29. ^ «Как выделиться среди других кандидатов с помощью ИИ, ориентированного на данные». KDnuggets . Получено 18.01.2023 .
  30. ^ Шилдс, Ронан (05.01.2023). «Trade Desk пытается привлечь рекламодателей на CES с помощью «Галилео» — попытки составить график «Открытого Интернета» без файлов cookie». Digiday . Получено 18.01.2023 .
  31. ^ Виггерс, Кайл (21.09.2022). «Voxel51 получает финансирование для своей платформы для управления неструктурированными данными». TechCrunch . Получено 18.01.2023 .
  32. ^ Чепцов, Андрей. "Воспроизводимые рабочие процессы машинного обучения для команд - dstack". docs.dstack.ai . Получено 18.01.2023 .
  33. ^ Katz, William T.; Plaza, Stephen M. (2019). "DVID: Distributed Versioned Image-Oriented Dataservice". Frontiers in Neural Circuits . 13 : 5. doi : 10.3389/fncir.2019.00005 . ISSN  1662-5110. PMC 6371063. PMID 30804760  .