Skip to content

Отчет о настройке ClearML для MLOps

Введение

Настроена комплексная MLOps платформа на базе ClearML для управления экспериментами, моделями и пайплайнами. Система интегрирована с существующим проектом и обеспечивает полный цикл управления ML workflow.

Примечание: Для получения пошаговых инструкций по настройке и использованию ClearML см. docs/homework_5/QUICKSTART.md или общий docs/QUICKSTART.md (Шаг 17). Данный отчет описывает что было настроено, а не как это настроить.

1. Настройка ClearML (3 балла)

1.1. Установка и настройка ClearML Server

ClearML установлен через UV (clearml>=1.14.0). ClearML Server настроен через docker-compose с 6 сервисами: clearml-mongo (MongoDB), clearml-elastic (Elasticsearch), clearml-redis (Redis), clearml-server (API Server, порт 8008), clearml-fileserver (File Server, порт 8081), clearml-webserver (Web UI, порт 8080). Все сервисы настроены с healthchecks, зависимостями и проброшенными портами для отладки.

Примечание: Пошаговые инструкции по установке и настройке ClearML Server см. в docs/QUICKSTART.md (Шаг 17.1-17.2).

1.2. Настройка базы данных и хранилища

ClearML Server использует MongoDB для хранения метаданных экспериментов и моделей, Elasticsearch для поиска и индексации, Redis для кэширования и очередей задач, File Storage через clearml-fileserver для хранения артефактов и моделей. Все компоненты настроены автоматически через docker-compose как отдельные сервисы с проброшенными портами для отладки (MongoDB: 27017, Redis: 6379, Elasticsearch: 9200/9300, File Server: 8081).

1.3. Создание проекта и экспериментов

Создан скрипт scripts/clearml/init_clearml.py для инициализации ClearML. Проект "Engineering Practices ML" создается автоматически при первом запуске эксперимента. Перед инициализацией необходимо получить credentials (см. раздел 1.4).

img.png

Примечание: Пошаговые инструкции по инициализации ClearML см. в docs/QUICKSTART.md (Шаг 17.3-17.4).

1.4. Настройка аутентификации

Настроена аутентификация через credentials (Access Key и Secret Key). При первом запуске ClearML Server автоматически создается системный пользователь __allegroai__. Для создания credentials необходимо использовать обычный пользовательский аккаунт. Решена проблема "Invalid user id (protected identity)" - добавлены инструкции по созданию обычного пользовательского аккаунта. Credentials можно настроить через переменные окружения или конфигурационный файл ~/.clearml/clearml.conf.

Примечание: Пошаговые инструкции по получению и настройке credentials см. в docs/QUICKSTART.md (Шаг 17.4).

2. Трекинг экспериментов (3 балла)

2.1. Настройка автоматического логирования

Создан класс ClearMLTracker в src/data_science_project/clearml_tracker.py с методами: log_params(), log_metrics(), log_artifact(), log_model(), log_plot(). Интегрирован в скрипт scripts/clearml/train_with_clearml.py для автоматического логирования. Автоматическая загрузка credentials из конфигурационного файла.

Примечание: Примеры использования ClearMLTracker см. в docs/QUICKSTART.md (Шаг 17.9).

2.2. Создание системы сравнения экспериментов

Создан скрипт scripts/clearml/compare_experiments.py с функциями compare_experiments() и list_experiments(). Поддержка экспорта результатов в JSON. Автоматическая загрузка credentials.

Примечание: Пошаговые инструкции по сравнению экспериментов см. в docs/QUICKSTART.md (Шаг 17.6).

2.3. Настройка логирования метрик и параметров

Параметры логируются через task.connect(params), метрики через task.logger.report_single_value() и task.get_logger().report_scalar(). Интеграция в train_with_clearml.py автоматически логирует все параметры и метрики. Модели регистрируются с метаданными.

Примечание: Пошаговые инструкции по запуску экспериментов с трекингом см. в docs/QUICKSTART.md (Шаг 17.5).

2.4. Создание дашбордов для анализа

ClearML автоматически создает дашборды для каждого эксперимента: - Графики метрик - Таблицы параметров - Артефакты - Логи выполнения

3. Управление моделями (3 балла)

3.1. Настройка регистрации и версионирования моделей

Создан класс ClearMLModelManager для управления моделями с методом register_model(). Модели автоматически версионируются при регистрации, каждая модель получает уникальный ID.

img.png

Примечание: Пошаговые инструкции по управлению моделями см. в docs/QUICKSTART.md (Шаг 17.7).

3.2. Создание системы метаданных для моделей

Метаданные модели включают: - Параметры модели - Метрики обучения и тестирования - Версию модели - Связанную задачу (эксперимент) - Теги

3.3. Настройка автоматического создания версий

Модели автоматически версионируются при регистрации. Каждая модель получает уникальный ID и может быть отслежена через веб-интерфейс.

3.4. Создание системы сравнения моделей

Создан скрипт scripts/clearml/manage_models.py с функциями list_models(), compare_models(), register_model(). Сравнение моделей по метаданным, тегам, дате создания. Поддержка экспорта результатов в JSON.

4. Пайплайны (2 балла)

4.1. Создание ClearML пайплайнов для ML workflow

Создан скрипт scripts/clearml/ml_pipeline.py для создания пайплайна. Функция create_clearml_pipeline() создает пайплайн с 4 стадиями: prepare_data, validate_data, train_model, evaluate_model. Пайплайн использует template tasks для переиспользования. Инструкции по созданию template tasks включены в документацию.

Примечание: Пошаговые инструкции по созданию пайплайнов см. в docs/QUICKSTART.md (Шаг 17.8).

4.2. Настройка автоматического запуска пайплайнов

Пайплайн автоматически запускается в указанной очереди через pipeline.start(queue=args.queue). Параметры пайплайна настраиваются через pipeline.add_parameter() и pipeline._task.connect() (с префиксом "pipeline/"). Скрипт ml_pipeline.py поддерживает аргументы командной строки.

4.3. Создание системы мониторинга выполнения

ClearML автоматически отслеживает: - Статус каждой стадии - Время выполнения - Логи выполнения - Метрики каждой стадии

4.4. Настройка уведомлений

Инструкции по настройке уведомлений через Slack включены в документацию. Поддержка Email (SMTP) и произвольных Webhooks. Конфигурация через веб-интерфейс и конфигурационный файл ~/.clearml/clearml.conf.

Примечание: Пошаговые инструкции по настройке уведомлений см. в docs/QUICKSTART.md (Шаг 17.11).

5. Отчет о проделанной работе (1 балл)

5.1. Отчет в формате Markdown

Отчет создан в docs/homework_5/REPORT.md и включает: - Описание настройки ClearML Server - Описание трекинга экспериментов - Описание управления моделями - Описание пайплайнов - Места для скриншотов

5.2. Описание настройки инструментов

В отчете описаны: 1. ClearML Server - установка через docker-compose, настройка БД и хранилища 2. Трекинг экспериментов - автоматическое логирование, сравнение, дашборды 3. Управление моделями - регистрация, версионирование, метаданные, сравнение 4. Пайплайны - создание, запуск, мониторинг, уведомления

5.3. Сохранение в Git репозитории

Отчет сохранен в docs/homework_5/REPORT.md и включен в Git репозиторий. Скриншоты для отчета хранятся в docs/homework_5/screenshots/.

Заключение

Настроена полноценная MLOps платформа на базе ClearML:

ClearML Server настроен - через docker-compose с MongoDB и Elasticsearch ✅ Трекинг экспериментов настроен - автоматическое логирование, сравнение, дашборды ✅ Управление моделями настроено - регистрация, версионирование, метаданные, сравнение ✅ Пайплайны созданы - ML workflow с мониторингом и уведомлениями ✅ Интеграция выполнена - ClearML интегрирован в существующие скрипты проекта ✅ Отчет создан - с описанием всех настроек и местами для скриншотов

Все инструменты настроены, протестированы и готовы к использованию.