ClearML: как автоматизировать R&D и оркестрацию GPU за две строки кода

The TWIML AI Podcast 1,1 тыс. 53 мин 5 мин 06.09.2022
Главное

В рамках воркшопа на конференции TWIMLcon Ариэль Биллер, евангелист ClearML, представил возможности одноимённой платформы для автоматизации MLOps. В ходе демонстрации было показано, как превратить исследовательский хаос в структурированный процесс разработки с помощью всего нескольких строк кода, обеспечив полную воспроизводимость экспериментов и масштабирование вычислений.

🛠 Проблема «грязных» исследований в машинном обучении 2:00

Процесс разработки в области Machine Learning и Deep Learning (R&D) существенно отличается от традиционной разработки ПО. По мнению Ариэля Биллера, этот процесс часто бывает «грязным» и неструктурированным . Основные сложности, с которыми сталкиваются команды:

По словам Биллера, MLOps — это прежде всего управление техническим долгом через автоматизацию, оркестрацию и обеспечение воспроизводимости . При этом критически важно, чтобы инструменты MLOps интегрировались в существующий рабочий процесс, не снижая продуктивность исследователя .

🏗 Стратегия выбора MLOps-платформы 5:44

Организации часто пытаются решить проблемы MLOps частичными мерами: принудительным коммитом для каждого эксперимента, использованием общих Conda-окружений или ручной сборкой контейнеров . Ариэль Биллер утверждает, что такие методы создают огромные накладные расходы на воспроизводимость, что в итоге приводит к её полному отсутствию .

Существует три основных пути внедрения платформы:

  1. Разработка с нуля: Подходит только для гигантских корпораций с неограниченным бюджетом и временем. Биллер иронично замечает, что первую версию всё равно придётся выбросить, как только вы поймёте реальные потребности .
  2. Сборка стека из Open Source инструментов: Требует написания большого количества «склеивающего» кода (glue code) и множества YAML-файлов, что усложняет оркестрацию .
  3. Использование единого решения: ClearML позиционируется как бесплатное Open Source решение «всё в одном» для экспериментов, оркестрации и управления данными .

Нир Бар-Лев (Nir Bar-Lev) и команда ClearML заложили в основу продукта принцип «снизу вверх»: интеграция должна быть простой, а автоматическое логирование — незаметным для пользователя .

🧬 Архитектура ClearML: Три кита системы 8:16

Система ClearML состоит из трёх основных компонентов, которые могут быть развернуты локально или в облаке:

Для новичков и небольших команд компания предоставляет бесплатный Community Server, который включает 100 ГБ облачного хранилища для моделей и артефактов .

🚀 Интеграция и первый запуск за две строки кода 12:39

Демонстрация работы началась с обычного Jupyter-блокнота для классификации изображений на наборе данных CIFAR-10 с использованием PyTorch. Процесс интеграции выглядит следующим образом:

  1. Установка пакета: pip install clearml.
  2. Инициализация задачи: импорт класса Task и вызов Task.init(project_name, task_name) .

После этого ClearML автоматически начинает отслеживать:

Биллер подчеркивает, что ClearML автоматически конвертирует Jupyter-блокнот в исполняемый Python-скрипт, который можно запустить удалённо на любой машине .

🤖 Удалённое выполнение и оркестрация задач 20:20

Одной из самых мощных функций является ClearML Agent. Он избавляет исследователя от необходимости вручную собирать Docker-контейнеры и настраивать драйверы на удалённых серверах.

Процесс удалённого запуска:

  1. Установка агента на удалённую машину: pip install clearml-agent .
  2. Запуск демона (daemon), который привязывается к определённой очереди (например, GPU_queue) .
  3. В интерфейсе ClearML достаточно нажать кнопку Clone на задаче, изменить параметры (например, количество эпох или learning rate) и отправить её в очередь (Enqueue) .

Агент сам создаст виртуальное окружение или Docker-контейнер «на лету», установит зависимости и выполнит код . Это позволяет команде «самообслуживаться» без постоянного обращения к DevOps-инженерам .

🧪 Оптимизация гиперпараметров (HPO) 30:00

ClearML позволяет запускать поиск гиперпараметров без изменения основного кода обучения. Используя API для оптимизации (по умолчанию интегрирован Optuna), можно создать задачу-оркестратор .

Особенности HPO в ClearML:

Биллер продемонстрировал, как одним кликом можно клонировать исследование, увеличить лимит вычислительного времени и перезапустить поиск с новыми настройками, не написав ни строчки кода .

🤝 Совместная работа и сравнение результатов 38:47

Платформа предоставляет развитые инструменты для командного взаимодействия:

🛡 Безопасность и промышленное использование 46:00

Отвечая на вопросы слушателей, Ариэль Биллер отметил, что ClearML широко используется в закрытых контурах (on-premise), включая медицинские и оборонные организации, где доступ к интернету ограничен . Система поддерживает работу внутри приватных Kubernetes-кластеров и VPC .

Что касается деплоя моделей, Биллер уточнил, что ClearML в настоящее время фокусируется на «бережливом стеке» (lean stack) для R&D, но предоставляет возможности для простых POC (Proof of Concept) в продакшене через API доступа к артефактам и ID задач .

В завершение выступления Биллер подчеркнул, что компания Allegro AI (разработчик ClearML), основанная в 2016 году, стремится сделать MLOps доступным для исследователей, а не только для инфраструктурных инженеров .

💬 Цитаты

«Машинное обучение и исследования в области глубокого обучения — это хаос.»

Ариэль Биллер 03:07

«MLOps — это управление техническим долгом с помощью автоматизации, оркестрации и воспроизводимости.»

Ариэль Биллер 03:19

«Вы можете построить платформу с нуля, но первую версию вы всё равно выбросите, потому что только тогда поймёте, что вам на самом деле нужно.»

Ариэль Биллер 05:56
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
MLOps
Набор практик для автоматизации и надежности жизненного цикла моделей машинного обучения.
HPO (Hyperparameter Optimization)
Процесс автоматического поиска лучших настроек алгоритма для достижения максимальной точности модели.
Оркестрация
Автоматизированное управление и координация вычислительных ресурсов для выполнения задач.
Агент (ClearML Agent)
Фоновый процесс на вычислительном узле, который забирает задачи из очереди и исполняет их в изолированном окружении.
📊 Цифры
🗓 Хронология
  1. 2016 Основание компании Allegro AI.
  2. 2020 Ребрендинг продукта Allegro Trains в ClearML.
⚖️ Другая сторона
Технологии и IT ClearML MLOps Allegro AI Jupyter GPU orchestration