Агент ClearML — MLOps/LLMOps стало проще
Решение для планировщика и оркестрации MLOps/LLMOps, поддерживающее Linux, macOS и Windows
? ClearML is open-source - Leave a star to support the project! ?
Это агент выполнения с нулевой конфигурацией, работающий по принципу «запустил и забыл», предоставляющий полное кластерное решение ML/DL.
Полная автоматизация за 5 шагов
pip install clearml-agent
(установите агент ClearML на любой компьютер с графическим процессором: локально/облако/...)«Все DevOps глубокого/машинного обучения, которые нужны вашим исследованиям, а также кое-что… Потому что ни у кого нет на это времени»
Попробуйте ClearML сейчас на самостоятельном хостинге или на бесплатном хостинге
Агент ClearML был создан для удовлетворения потребностей DevOps в области исследований и разработок DL/ML:
Используя агент ClearML, теперь вы можете настроить динамический кластер с *epsilon DevOps.
*эпсилон - Потому что мы такие? и ничего на самом деле ноль работы
Мы считаем, что Kubernetes — это здорово, но не обязательно начинать работу с агентами удаленного выполнения и управлением кластером. Мы разработали clearml-agent
, чтобы вы могли запускать его как на «голом железе», так и поверх Kubernetes, в любой комбинации, подходящей для вашей среды.
Вы можете найти файлы Dockerfile в папке docker и диаграмму Helm в https://github.com/allegroai/clearml-helm-charts.
Запустите агент в режиме Kubernetes Glue, чтобы сопоставить задания ClearML непосредственно с заданиями K8s:
Да! Доступна интеграция Slurm, дополнительную информацию можно найти в документации.
Полномасштабные высокопроизводительные вычисления одним нажатием кнопки
Агент ClearML — это планировщик заданий, который прослушивает очереди заданий, извлекает задания, устанавливает среду заданий, выполняет задание и отслеживает его ход.
Любой эксперимент «Проект» можно запланировать для выполнения агентом ClearML.
Ранее проведенный эксперимент можно перевести в состояние «Черновик» одним из двух способов:
Выполнение эксперимента планируется с помощью действия «Поставить в очередь» из контекстного меню эксперимента, вызываемого правой кнопкой мыши в пользовательском интерфейсе ClearML, и выбора очереди выполнения.
См. раздел Создание эксперимента и постановка его в очередь на выполнение.
Как только эксперимент будет поставлен в очередь, он будет выбран и выполнен агентом ClearML, контролирующим эту очередь.
Страница ClearML UI Workers & Queues предоставляет информацию о текущем выполнении:
Агент ClearML выполняет эксперименты, используя следующий процесс:
pip install clearml-agent
Полный интерфейс и возможности доступны с
clearml-agent --help
clearml-agent daemon --help
clearml-agent init
Примечание. Агент ClearML использует папку кэша для кэширования пакетов pip, пакетов apt и клонированных репозиториев. Папкой кэша агента ClearML по умолчанию является ~/.clearml
.
Полную информацию смотрите в файле конфигурации ~/clearml.conf
.
Примечание. Агент ClearML расширяет файл конфигурации ClearML ~/clearml.conf
. Они предназначены для использования одного и того же файла конфигурации, см. пример здесь.
Для отладки и экспериментов запустите агент ClearML в режиме foreground
, где все выходные данные выводятся на экран:
clearml-agent daemon --queue default --foreground
В реальном режиме обслуживания весь стандартный вывод будет автоматически сохранен во временный файл (нет необходимости в конвейере). Примечание: с флагом --detached
агент Clearml будет работать в фоновом режиме.
clearml-agent daemon --detached --queue default
Распределение графического процессора контролируется с помощью стандартной среды ОС NVIDIA_VISIBLE_DEVICES
или флага --gpus
(или отключается с помощью --cpu-only
).
Если флаг не установлен и переменная NVIDIA_VISIBLE_DEVICES
не существует, все графические процессоры будут выделены для clearml-agent
.
Если установлен флаг --cpu-only
или NVIDIA_VISIBLE_DEVICES="none"
, графический процессор не будет выделен для clearml-agent
.
Пример: запустите два агента, по одному на каждый графический процессор, на одной машине:
Примечание: с флагом --detached
агент Clearml будет работать в фоновом режиме.
clearml-agent daemon --detached --gpus 0 --queue default
clearml-agent daemon --detached --gpus 1 --queue default
Пример: задействовать два агента, извлекая их из выделенной очереди dual_gpu
, по два графических процессора на агента.
clearml-agent daemon --detached --gpus 0,1 --queue dual_gpu
clearml-agent daemon --detached --gpus 2,3 --queue dual_gpu
Для отладки и экспериментов запустите агент ClearML в режиме foreground
, где все выходные данные выводятся на экран.
clearml-agent daemon --queue default --docker --foreground
В реальном режиме обслуживания весь стандартный вывод будет автоматически сохранен в файле (нет необходимости в конвейере). Примечание: с флагом --detached
агент Clearml будет работать в фоновом режиме.
clearml-agent daemon --detached --queue default --docker
Пример: запустите два агента, по одному на каждый графический процессор, на одном компьютере с докером nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
по умолчанию:
clearml-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
clearml-agent daemon --detached --gpus 1 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
Пример: запустите два агента, извлекая их из выделенной очереди dual_gpu
, по два графических процессора на агент, с докером nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
по умолчанию:
clearml-agent daemon --detached --gpus 0,1 --queue dual_gpu --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
clearml-agent daemon --detached --gpus 2,3 --queue dual_gpu --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
Также поддерживаются приоритетные очереди, пример использования:
Очередь с высоким приоритетом: important_jobs
, очередь с низким приоритетом: default
clearml-agent daemon --queue important_jobs default
Агент ClearML сначала попытается извлечь задания из очереди important_jobs
, и только если она пуста, агент попытается извлечь задания из очереди default
.
Добавление очередей, управление порядком заданий внутри очереди и перемещение заданий между очередями доступны с помощью веб-интерфейса, см. пример на нашем бесплатном сервере.
Чтобы остановить работу агента ClearML в фоновом режиме, запустите ту же командную строку, которая использовалась для запуска агента, с добавлением --stop
. Например, чтобы остановить первый из показанных выше компьютеров, агенты с одним графическим процессором:
clearml-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04 --stop
Интегрируйте ClearML в свой код
Выполните код на своем компьютере (Вручную/PyCharm/Jupyter Notebook)
Пока ваш код выполняется, ClearML создает эксперимент, записывая всю необходимую информацию о выполнении:
Теперь у вас есть «шаблон» вашего эксперимента со всем необходимым для автоматического выполнения.
В пользовательском интерфейсе ClearML щелкните эксперимент правой кнопкой мыши и выберите «клонировать». Будет создана копия вашего эксперимента.
Теперь у вас есть новый проект эксперимента, клонированный из исходного эксперимента. Не стесняйтесь его редактировать.
Запланируйте выполнение только что созданного эксперимента: щелкните эксперимент правой кнопкой мыши и выберите «Поставить в очередь».
ClearML-Agent Services — это специальный режим ClearML-Agent, который обеспечивает возможность запуска длительных заданий, которые раньше приходилось выполнять на локальных/выделенных машинах. Он позволяет одному агенту запускать несколько докеров (задач) для разных вариантов использования:
В режиме ClearML-Agent Services любая задача, поставленная в указанную очередь, будет вращаться. Каждая задача, запущенная ClearML-Agent Services, будет зарегистрирована как новый узел в системе, что обеспечивает возможности отслеживания и прозрачности. В настоящее время Clearml-агент в режиме служб поддерживает настройку только ЦП. Режим служб ClearML-Agent можно запустить вместе с агентами GPU.
clearml-agent daemon --services-mode --detached --queue services --create-queue --docker ubuntu:18.04 --cpu-only
Примечание . Пользователь несет ответственность за то, чтобы правильные задачи помещались в указанную очередь.
Агент ClearML также можно использовать для реализации оркестрации AutoML и конвейеров экспериментов в сочетании с пакетом ClearML.
Примеры примеров AutoML и оркестровки можно найти в папке примеров/автоматизации ClearML.
Примеры АвтоМЛ:
Примеры экспериментального конвейера:
Лицензия Apache, версия 2.0 (дополнительную информацию см. в ЛИЦЕНЗИИ)