Автор: Илья Бакалец Редактура: Александр Гончаренко
Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться, и воспроизведутся ли при этом результаты экспериментов. Для всех перечисленных задач есть множество различных инструментов: DVC, MLflow, W&B, ClearML и другие.
И здесь возникает вопрос: а почему будет недостаточно использовать Git?
Дело в том, что Git не подходит для версионирования данных из-за ограничений в эффективности при работе с большими объемами данных и их безопасностью, неоптимальной обработки бинарных файлов, сложности управления большими файлами. В итоге у нас получится медленная и тяжелая система, с которой неудобно работать. Другими словами, Git не был спроектирован под требования ML.
В нашей статье мы рассмотрим инструмент, который как раз-таки подходит для версионирования данных и не только — это ClearML.
ClearML предоставляет огромную MLOps экосистему:
Рисунок 1. Модули ClearML, которые покрывают весь цикл разработки ML-продукта
Некоторые из модулей ClearML:
Редко инструменты покрывают абсолютно все нужды проекта, поэтому обычно приходится использовать зоопарк из различных решений. В случае с ClearML покрыты все возможные потребности ML-проекта. В этой статье мы рассмотрим модуль ClearML Data.
Например, в отличие от 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 для датасетов
Познакомиться с отдельными частями интерфейса можно по ссылкам: dataset_details и dataset_page.