Автор: Илья Бакалец Редактура: Александр Гончаренко

Введение

Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться, и воспроизведутся ли при этом результаты экспериментов. Для всех перечисленных задач есть множество различных инструментов: DVC, MLflow, W&B, ClearML и другие.

И здесь возникает вопрос: а почему будет недостаточно использовать Git?

Дело в том, что Git не подходит для версионирования данных из-за ограничений в эффективности при работе с большими объемами данных и их безопасностью, неоптимальной обработки бинарных файлов, сложности управления большими файлами. В итоге у нас получится медленная и тяжелая система, с которой неудобно работать. Другими словами, Git не был спроектирован под требования ML.

В нашей статье мы рассмотрим инструмент, который как раз-таки подходит для версионирования данных и не только — это ClearML.

ClearML предоставляет огромную MLOps экосистему:

Рисунок 1. Модули ClearML, которые покрывают весь цикл разработки ML-продукта

Рисунок 1. Модули ClearML, которые покрывают весь цикл разработки ML-продукта

Некоторые из модулей ClearML:

Редко инструменты покрывают абсолютно все нужды проекта, поэтому обычно приходится использовать зоопарк из различных решений. В случае с ClearML покрыты все возможные потребности ML-проекта. В этой статье мы рассмотрим модуль ClearML Data.

Преимущества ClearML

Например, в отличие от DVC, в ClearML версионирование данных происходит отдельно от версионирования кода. Как утверждают сами создатели инструмента, данные не являются кодом, они не должны находиться в git репозитории:

We believe Data is not code. It should not be stored in a git tree, because progress on datasets is not always linear. Moreover, it can be difficult and inefficient to find on a git tree the commit associated with a certain version of a dataset.

У ClearML удобный и приятный интерфейс. MLflow в этом плане не так дружелюбен.

Рисунок 2. Web UI ClearML для датасетов

Рисунок 2. Web UI ClearML для датасетов

Познакомиться с отдельными частями интерфейса можно по ссылкам: dataset_details и dataset_page.