Системы контроля версий моделей машинного обучения

1.

Системы контроля версий моделей машинного
обучения: git, DVC. Принцип работы
Сегодня мы поговорим о:
1. Системе контроля версий
2. Git
3. Data Version Control
4. Отличия Git от DVC
5. Что лучше для моделей машинного обучения

2.

Введение
Разработка моделей машинного
обучения является довольно сложным
и трудоемким процессом, требующим
многократного исправления ошибок и
оптимизации параметров. Однако,
при работе над такими моделями
возникает проблема отслеживания
изменений, которые вносятся в
процессе экспериментов. Без
контроля версий, изменения могут
быть утеряны, что может привести к
неверным выводам и большим
потерям времени и ресурсов.

3.

Два типа VCS

4.

5.

Централизованная VCS
В централизованных системах
контроля версий все файлы хранятся
на центральном сервере, а
разработчики работают с локальными
копиями этих файлов. Популярными
централизованными системами
контроля версий являются Subversion
(SVN) и Microsoft Team Foundation
Server (TFS).

6.

Распределенные VCS
В распределенных системах
контроля версий каждый
разработчик имеет полную копию
репозитория проекта, включая
историю изменений. Это
позволяет работать оффлайн и
более гибко управлять версиями
проектов. Популярными
распределенными системами
контроля версий являются Git и
Mercurial.

7.

Хронология систем контроля версий

8.

Git
Git — один из видов систем
контроля версий. Главная
отличительная черта Git состоит в
подходе к обработке данных.
Каждый раз при сохранении
данных проекта (коммите)
система фиксирует состояние
файла (делает снимок) и создает
ссылку на этот снимок.
Последующие изменения
отражаются через ссылки на
более ранние версии файла

9.

История создания
Большую часть времени разработки ядра
Linux (1991–2002 гг.) изменения
передавались между разработчиками в
виде патчей и архивов. В 2002 году проект
ядра Linux начал использовать
проприетарную децентрализованную
систему контроля версий BitKeeper.
В 2005 году отношения между
сообществом разработчиков ядра Linux и
коммерческой компанией, которая
разрабатывала BitKeeper, прекратились, и
бесплатное использование утилиты стало
невозможным. Это сподвигло сообщество
разработчиков ядра Linux (а в частности
Линуса Торвальдса — создателя Linux)
разработать свою собственную утилиту.

10.

Data Version Control
DVC – это система контроля версий с
открытым исходным кодом,
используемая в проектах машинного
обучения. Это своего рода Git для
машинного обучения, который
работает с версиями данных, а не
версиями кода. DVC помогает
работать с большими моделями и
файлами данных, которые
невозможно обработать с помощью
Git, позволяя хранить информацию о
различных версиях данных, чтобы
правильно отслеживать работу MLмодели.

11.

Основные различия
Git-LFS
Data Version Control
Git-LFS предназначен для хранения [относительно]
больших файлов в Git серверах, и является
расширением Git. Основная идея – замена больших
аудио/видео файлов, датасетов и т. п. текстовыми
указателями. И для некоторых проектов
использование этого расширения может быть
достаточно. Особенно, если следующие минусы вас
не смущают:
Главными преимуществами DVC считаются:
• возможность отслеживать модели данных
наряду с управлением версиями данных;
• совместная работа – можно делиться
моделями через облачное хранилище, что
упрощает командное взаимодействие в
проведении экспериментов и оптимизирует
использование общих ресурсов;
• простота работы со множеством моделей и
метрик данных, т.к. DVC следит за тем, какая
модель была обучена с какой версией данных;
• возможность
работать
с
локальными
файлами, что решает проблему именования
файлов для нескольких версий.
• Git-LFS имеет лимиты – 1 Гб на GitHub в (бесплатном
тарифе), в Gitlab и в Atlassian могут быть свои.
Причем это лимиты не на размеры файлов, а на всё
LFS хранилище и на его пропускную способность.
• Данные хранятся вместе со всем остальным в
репозитории, а значит они влияют на скорость его
загрузки.
• Git-LFS ограничивает выбор места хранения данных.
Это всегда должен быть LFS сервер.
• Полноценно устранить проблему Кризиса у Git-LFS
не получается.

12.

Заключение
Одним из основных преимуществ Git является его простота и доступность, а
также большое сообщество пользователей, что позволяет быстро находить
ответы на вопросы и решать проблемы. DVC, в свою очередь, обеспечивает
более удобную работу с данными и моделями, а также автоматический
контроль версий, что существенно упрощает процесс работы.
В целом, использование систем контроля версий Git и DVC для моделей
машинного обучения является необходимым условием для управления версиями
и обеспечения эффективного процесса разработки.
English     Русский Правила