Ученые данных и специалисты по машинному обучению имеют дело со значительным количеством данных различных типов в типичном проекте по науке о данных. Было разработано множество моделей с различными конфигурациями и функциями, а также несколько итераций настройки параметров для достижения оптимальной производительности.
В таком сценарии все модификации данных и корректировки процесса построения модели должны отслеживаться и измеряться, чтобы определить, что сработало, а что нет. Также очень важно иметь возможность вернуться к предыдущему изданию и изучить предыдущие результаты.
Контроль версий данных (DVC), который помогает управлять данными, базовой моделью и получать воспроизводимые результаты, является одной из таких технологий, которая позволяет нам отслеживать все это.
В этом посте мы подробно рассмотрим управление версиями данных и лучшие инструменты для использования. Давайте начнем.
Что такое контроль версий данных?
Управление версиями требуется для всех производственных систем. Единая точка доступа к самым актуальным данным. Любой ресурс, который часто модифицируется, особенно несколькими пользователями одновременно, требует создания контрольного журнала для отслеживания всех изменений.
Система контроля версий отвечает за то, чтобы все в команде были на одной странице. Это гарантирует, что все в команде работают над самой последней версией файла и, что более важно, все одновременно работают над одним и тем же проектом.
Если у вас есть соответствующее оборудование, вы можете сделать это с минимальными усилиями!
У вас будут согласованные наборы данных и полный архив всех ваших исследований, если вы будете использовать надежную стратегию управления версиями данных. Инструменты управления версиями данных имеют решающее значение для вашего рабочего процесса, если вы заботитесь о воспроизводимости, отслеживаемости и истории модели машинного обучения.
Они помогают получить версию элемента, например хэш набора данных или модели, которую затем можно использовать для идентификации и сравнения. Эта версия данных часто вводится в ваше решение для управления метаданными, чтобы гарантировать, что ваша модель обучения имеет версии и повторяемость.
Лучшие инструменты контроля версий данных
Теперь пришло время взглянуть на лучшие доступные решения для управления версиями данных, которые вы можете использовать для отслеживания каждой части вашего кода.
1. Гит ЛФС
Проект Git LFS можно использовать бесплатно. В Git большие файлы, такие как образцы аудио, видео, базы данных и фотографии, заменяются текстовыми указателями, а содержимое файла сохраняется на удаленном сервере, таком как GitHub.com или GitHub Enterprise.
Он позволяет использовать Git для создания версий огромных файлов — размером до нескольких ГБ — размещать больше в репозиториях Git, используя внешнее хранилище, а также быстрее клонировать и извлекать репозитории больших файлов. Когда дело доходит до управления данными, это довольно простое решение. Для работы с Git не требуются дополнительные команды, системы хранения или наборы инструментов.
Это ограничивает количество загружаемой информации. Это означает, что клонирование и извлечение больших файлов из репозиториев будет выполняться быстрее. Стрелки сделаны из более легкого материала и указывают на LFS.
В результате, когда вы помещаете репозиторий в основной репозиторий, он быстро обновляется и занимает меньше места.
Плюсы
- Легко интегрируется в рабочие процессы разработки большинства предприятий.
- Нет необходимости обрабатывать дополнительные права, поскольку он использует те же разрешения, что и репозиторий Git.
Минусы
- Git LFS требует использования выделенных серверов для хранения ваших данных. В результате ваши команды специалистов по обработке и анализу данных будут заняты, а ваша инженерная нагрузка возрастет.
- Очень специализированный и может потребовать использования множества различных инструментов для последующих этапов рабочего процесса обработки данных.
Цены
Это бесплатно для всех.
2. ОзероFS
LakeFS — это решение для управления версиями данных с открытым исходным кодом, которое хранит данные в S3 или GCS и имеет Git-подобную парадигму ветвления и фиксации, которая масштабируется до петабайтов.
Эта стратегия ветвления делает ваше озеро данных совместимым с ACID, позволяя вносить изменения в отдельные ветви, которые можно создавать, объединять и откатывать атомарно и мгновенно.
LakeFS позволяет командам создавать действия озера данных, которые являются повторяемыми, атомарными и версионными. Это новичок на сцене, но это сила, с которой нужно считаться.
Он использует Git-подобный подход к ветвлению и управлению версиями для взаимодействия с вашим озеро данных, масштабируемый до петабайт данных. В эксабайтном масштабе вы можете проверить наличие контроля версий.
Плюсы
- Git-подобные операции включают ветвление, фиксацию, слияние и возврат.
- Хуки Pre-commit/merge используются для проверки данных CI/CD.
- Предоставляет сложные функции, такие как транзакции ACID, для простых облачных хранилищ, таких как S3 и GCS, при этом сохраняя нейтральность формата.
- Откатывайте изменения к данным в режиме реального времени.
- Легко масштабируется, что позволяет вмещать очень большие озера данных. Контроль версий может быть обеспечен как для разработки, так и для производственных настроек.
Минусы
- LakeFS — это новый продукт, поэтому функциональность и документация могут меняться быстрее, чем в предыдущих решениях.
- Поскольку он ориентирован на управление версиями данных, вам потребуется использовать множество дополнительных инструментов для различных частей рабочего процесса обработки данных.
Цены
Это бесплатно для всех.
3. DVC
Data Version Control — это бесплатное решение для управления версиями данных, разработанное для приложений обработки данных и машинного обучения. Это программа, которая позволяет вам определить конвейер на любом языке.
Управляя большими файлами, наборами данных, моделями машинного обучения, кодом и т. д., этот инструмент делает модели машинного обучения общедоступными и воспроизводимыми. Программа следует примеру Git, предоставляя простую командную строку, которую можно настроить всего за несколько шагов.
Как следует из названия, DVC касается не только управления версиями данных. Это также облегчает управление конвейерами и моделями машинного обучения для команд.
Наконец, DVC поможет улучшить согласованность моделей вашей команды и их воспроизводимость. Вместо использования в коде сложных файловых суффиксов и комментариев воспользуйтесь преимуществом Git-ветки опробовать новые идеи. Чтобы путешествовать, используйте автоматизированное отслеживание метрик вместо бумаги и карандаша.
Для передачи последовательных пакетов обучение с помощью машины модели, данные и код в производство, удаленные компьютеры или рабочий стол коллеги, вы можете использовать команды push/pull вместо специальных сценариев.
Плюсы
- Он легкий, с открытым исходным кодом и работает со всеми основными облачными платформами и типами хранилищ.
- Гибкий, не зависящий от формата и структуры и простой в реализации.
- Всю эволюцию каждой модели машинного обучения можно проследить до ее исходного кода и данных.
Минусы
- Управление конвейером и контроль версий DVC неразрывно связаны. Будет избыточность, если ваша команда уже использует другой продукт конвейера данных.
- Поскольку DVC является легким, вашей команде может потребоваться разработать дополнительные функции вручную, чтобы сделать его более удобным для пользователя.
Цены
Это бесплатно для всех.
4. ДельтаЛейк
DeltaLake — это уровень хранения данных с открытым исходным кодом, повышающий надежность озера данных. Delta Lake поддерживает транзакции ACID и масштабируемое управление метаданными в дополнение к потоковой и пакетной обработке данных.
Он работает с API-интерфейсами Apache Spark и размещается в существующем озере данных. Delta Sharing — это первый в мире открытый протокол для безопасного обмена данными в бизнесе, упрощающий обмен данными с другими предприятиями, независимыми от их компьютерных систем.
Delta Lakes способны легко обрабатывать петабайты данных. Метаданные хранятся так же, как и данные, и пользователи могут получить их с помощью метода Describe Detail. Delta Lakes имеет единую архитектуру, которая может считывать как потоковые, так и пакетные данные.
Upserts легко сделать с помощью Delta. Эти вставки или слияния в дельта-таблицу сравнимы с SQL-слияниями. Вы можете использовать его для интеграции данных из другого фрейма данных в свою таблицу и выполнения обновлений, вставок и удалений.
Плюсы
- Многие возможности, такие как ACID-транзакции и надежное управление метаданными, могут быть доступны в вашем существующем решении для хранения данных.
- Delta Lake теперь может легко управлять таблицами с миллиардами разделов и файлами размером в петабайт.
- Снижает потребность в ручном управлении версиями данных и других проблемах с данными, позволяя разработчикам сосредоточиться на разработке продуктов поверх своих озер данных.
Минусы
- Поскольку он был разработан для работы со Spark и большими объемами данных, Delta Lake, как правило, перегружен для большинства задач.
- Это требует использования специального формата данных, что ограничивает его гибкость и делает его несовместимым с вашими нынешними формами.
Цены
Это бесплатно для всех.
5. болван
Dolt — это база данных SQL, которая выполняет разветвление, клонирование, ветвление, слияние, отправку и извлечение точно так же, как это делает репозиторий git. Чтобы улучшить взаимодействие с пользователем базы данных контроля версий, Dolt позволяет синхронизировать данные и структуру.
Это отличный инструмент для совместной работы вас и ваших коллег. Вы можете подключиться к Dolt так же, как к любой другой базе данных MySQL, и выполнять запросы или вносить изменения в данные с помощью команд SQL.
Когда дело доходит до управления версиями данных, Dolt — единственный в своем роде. Dolt — это база данных, в отличие от некоторых других решений, которые просто версионируют данные. Хотя программное обеспечение в настоящее время находится на ранней стадии, есть надежда, что в ближайшем будущем оно будет полностью совместимо с Git и MySQL.
Все команды, с которыми вы знакомы с Git, также будут работать с Dolt. Файлы версий Git, таблицы версий Dolt Используя интерфейс командной строки, импортируйте файлы CSV, зафиксируйте свои изменения, опубликуйте их на удаленном компьютере и объедините изменения вашего товарища по команде.
Плюсы
- Легкий и с открытым исходным кодом частично.
- По сравнению с более малоизвестными вариантами, он имеет интерфейс SQL, что делает его более доступным для аналитиков данных.
Минусы
- По сравнению с другими альтернативами управления версиями баз данных Dolt все еще находится в стадии разработки.
- Поскольку Dolt — это база данных, вы должны перенести в нее свои данные, чтобы получить преимущества.
Цены
Все желающие могут использовать сеанс сообщества. Платформа не предоставляет премиальные цены; вместо этого вы должны связаться с поставщиком.
6. толстокожее животное
Pachyderm — это бесплатная система управления версиями для обработки данных с множеством функций. Pachyderm Enterprise — это мощная платформа для обработки данных, предназначенная для крупномасштабного сотрудничества в высокозащищенных средах.
Pachyderm — одна из немногих платформ для обработки данных в списке. Цель Pachyderm — предоставить платформу, которая управляет полным циклом данных и упрощает дублирование результатов моделей машинного обучения. В этом контексте Pachyderm известен как «Docker of Data». Pachyderm упаковывает вашу среду выполнения с помощью контейнеров Docker. Это упрощает дублирование одних и тех же результатов.
Специалисты по данным и команды DevOps могут уверенно развертывать модели благодаря сочетанию версионных данных с Docker. Благодаря эффективной системе хранения можно хранить петабайты структурированных и неструктурированных данных при минимальных затратах на хранение.
На всех этапах конвейера управление версиями на основе файлов обеспечивает тщательную запись аудита для всех данных и артефактов, включая промежуточные результаты. Многие возможности инструмента основаны на этих столпах, которые помогают командам получить от него максимальную отдачу.
Плюсы
- На основе контейнеров ваши среды данных будут переносимыми и легко переносимыми между облачными провайдерами.
- Надежный, с возможностью масштабирования от небольших до очень больших систем.
Минусы
- Поскольку существует так много движущихся элементов, таких как сервер Kubernetes, необходимый для работы с бесплатной версией Pachyderm, кривая обучения более крутая.
- Встроить толстокожее животное в существующую инфраструктуру компании может быть сложно из-за множества технологических компонентов.
Цены
Вы можете начать использовать платформу с сеанса сообщества, а для корпоративной версии вам необходимо связаться с поставщиком.
7. Neptune
Метаданные построения модели управляются хранилищем метаданных машинного обучения, которое является важным аспектом стека MLOps. Для каждого рабочего процесса MLOps Neptune служит централизованным хранилищем метаданных.
Вы можете отслеживать, визуализировать и сравнивать тысячи моделей машинного обучения в одном месте. Он включает в себя такие функции, как отслеживание экспериментов, реестр моделей и мониторинг моделей, а также интерфейс для совместной работы. Он включает более 25 различных интегрированных инструментов и библиотек, в том числе несколько инструментов для обучения моделей и настройки гиперпараметров.
Вы можете присоединиться к Neptune, не используя кредитную карту. Вместо него будет достаточно учетной записи Gmail.
Плюсы
- Интеграция с любым конвейером, потоком, кодовой базой или фреймворком проста.
- Визуализация в реальном времени, простой API и быстрая поддержка
- С помощью Neptune вы можете сделать «резервную копию» всех данных ваших экспериментов в одном месте, которую вы сможете восстановить позже.
Минусы
- Хотя это не полностью открытый исходный код, отдельной версии, по-видимому, будет достаточно для частного использования, хотя такой доступ ограничен одним месяцем.
- Есть несколько небольших недостатков дизайна, которые нужно найти.
Цены
Вы можете начать использовать платформу с индивидуальным тарифным планом, которым может пользоваться каждый. Ценовой раздел начинается от 150 долларов в месяц.
Заключение
В этом посте мы обсудили лучшие инструменты управления версиями данных. Каждый инструмент, как мы видели, имеет свой собственный набор функций. Некоторые из них были бесплатными, а другие требовали оплаты. Некоторые из них хорошо подходят для модели малого бизнеса, в то время как другие лучше подходят для модели крупного бизнеса.
Как следствие, вы должны выбрать лучшее программное обеспечение для ваших целей, взвесив все преимущества и недостатки. Мы рекомендуем вам протестировать бесплатную пробную версию перед покупкой премиального продукта.
Оставьте комментарий