Amazon SageMaker Experiments
Amazon SageMaker Experiments — это компонент облачной платформы машинного обучения Amazon SageMaker, предназначенный для организации, отслеживания, сравнения и анализа экспериментов по обучению моделей машинного обучения. Сервис автоматически фиксирует параметры, метрики, артефакты (такие как модели и наборы данных) и конфигурации вычислительных ресурсов для каждого запуска (run) эксперимента, предоставляя инструменты для визуализации и сравнения результатов.
История и развитие
Amazon SageMaker Experiments был представлен в составе платформы Amazon SageMaker в 2017 году. Первоначально функциональность отслеживания экспериментов была встроена непосредственно в процесс обучения моделей в SageMaker. В 2020 году сервис получил значительное обновление, включающее улучшенный пользовательский интерфейс для сравнения запусков и возможность работы с экспериментами, выполняемыми вне SageMaker (например, в локальных средах или на других облачных платформах). В 2022 году была добавлена интеграция с MLflow — популярным инструментом с открытым исходным кодом для управления экспериментами. В 2024 году возможности SageMaker Experiments были расширены за счёт поддержки пайплайнов (SageMaker Pipelines) и автоматического документирования метаданных для всех этапов жизненного цикла модели.
Ключевые концепции и терминология
Эксперимент (Experiment)
Эксперимент — это логическая группа, объединяющая несколько запусков, связанных с решением одной задачи машинного обучения. Например, эксперимент «Классификация изображений кошек и собак» может содержать десятки или сотни запусков с разными архитектурами нейронных сетей, гиперпараметрами и наборами данных.
Запуск (Run)
Запуск — это единичная попытка обучения модели, в ходе которой фиксируются все параметры и результаты. Каждый запуск имеет уникальный идентификатор и связан с определённым экспериментом. Запуск может быть создан как в рамках SageMaker (через Estimator или Processor), так и в пользовательском коде (через SDK).
Пробная версия (Trial)
Пробная версия — это подгруппа запусков внутри эксперимента, объединённых по какому-либо признаку, например, по используемой архитектуре модели или методу предобработки данных. Пробные версии позволяют структурировать эксперимент и упрощают сравнение результатов.
Артефакты (Artifacts)
Артефакты — это файлы и объекты, созданные в ходе запуска: обученные модели, контрольные точки (checkpoints), графики, логи, конфигурационные файлы и т.д. SageMaker Experiments автоматически сохраняет артефакты в Amazon S3 и связывает их с соответствующим запуском.
Функциональные возможности
Автоматическое отслеживание
При использовании встроенных оценщиков (Estimators) SageMaker Experiments автоматически фиксирует:
- гиперпараметры (learning rate, batch size, количество слоёв и т.д.);
- метрики, определённые пользователем (accuracy, loss, F1-score);
- метрики инфраструктуры (время обучения, использование CPU/GPU, память);
- путь к артефактам в Amazon S3;
- версии фреймворков (TensorFlow, PyTorch, MXNet) и контейнеров.
Ручное отслеживание
Для кода, выполняемого вне SageMaker, или для кастомных процессов обучения, пользователь может использовать SageMaker Experiments SDK для ручного создания и управления запусками. Это позволяет, например, отслеживать эксперименты, проводимые на локальных машинах или в кластерах Kubernetes.
Сравнение запусков
Пользовательский интерфейс SageMaker Experiments позволяет выбирать несколько запусков и отображать их параметры и метрики в виде таблицы или параллельных координат (parallel coordinates plot). Это облегчает выявление комбинаций гиперпараметров, приводящих к наилучшим результатам.
Визуализация
Сервис предоставляет встроенные графики для визуализации метрик во времени (например, кривые обучения), а также возможность создания кастомных визуализаций с помощью Amazon SageMaker Studio и Jupyter Notebooks.
Поиск и фильтрация
Пользователь может искать запуски по названию, статусу, времени создания, значениям гиперпараметров или метрик. Фильтрация позволяет быстро находить, например, «все запуски с accuracy > 0.95, выполненные за последнюю неделю».
Интеграция с другими сервисами AWS
- Amazon S3: хранение артефактов и метаданных.
- Amazon CloudWatch: мониторинг метрик инфраструктуры и логов.
- AWS Identity and Access Management (IAM): управление доступом к экспериментам.
- Amazon SageMaker Studio: единый интерфейс для управления экспериментами, написания кода и визуализации.
- Amazon SageMaker Pipelines: автоматическое создание и отслеживание экспериментов в рамках пайплайнов.
- Amazon SageMaker Model Registry: регистрация лучших моделей, полученных в результате экспериментов, для последующего развёртывания.
Пример использования
- Создание эксперимента:
sagemaker.experiments.Experiment.create(experiment_name="my-experiment"). - Запуск обучения: при создании оценщика указывается имя эксперимента, и все запуски автоматически связываются с ним.
- Анализ: после завершения нескольких запусков пользователь открывает SageMaker Studio, выбирает эксперимент, видит таблицу со всеми запусками, их гиперпараметрами и метриками. С помощью параллельных координат он находит, что комбинация
learning_rate=0.001иbatch_size=32даёт наилучшую accuracy. - Регистрация модели: лучшая модель сохраняется в Model Registry для дальнейшего развёртывания.
Ограничения и критика
- Привязка к экосистеме AWS: SageMaker Experiments не является кроссплатформенным решением; его использование предполагает работу в облаке AWS.
- Сложность для небольших проектов: для простых экспериментов с одним-двумя запусками функциональность может быть избыточной, и проще использовать локальные инструменты (например, MLflow или TensorBoard).
- Стоимость: хранение метаданных и артефактов в Amazon S3, а также использование вычислительных ресурсов SageMaker может приводить к дополнительным расходам, особенно при большом количестве запусков.
- Отсутствие полной поддержки нестандартных фреймворков: хотя SageMaker Experiments поддерживает популярные фреймворки, для кастомных решений может потребоваться ручная настройка отслеживания.
Сравнение с альтернативами
| Инструмент | Платформа | Отслеживание | Визуализация | Интеграция с MLflow |
|---|---|---|---|---|
| SageMaker Experiments | AWS | Автоматическое и ручное | Встроенные графики, параллельные координаты | Поддерживается (с 2022) |
| MLflow | Кроссплатформенный | Ручное (через API) | Встроенные графики, UI | Нативная |
| TensorBoard | Кроссплатформенный | Ручное (через callback) | Графики, гистограммы, распределения | Через плагины |
| Weights & Biases | Кроссплатформенный | Ручное (через API) | Расширенные графики, дашборды | Через интеграцию |
SageMaker Experiments выигрывает в автоматизации отслеживания при использовании SageMaker, но уступает в гибкости и кроссплатформенности MLflow и Weights & Biases.
Источники
- Документация Amazon SageMaker Experiments (AWS)
- Amazon SageMaker Developer Guide (AWS)
- Блог AWS: «Introducing Amazon SageMaker Experiments» (2017)
- Блог AWS: «New – Amazon SageMaker Experiments Update» (2020)
- Статья «A Comparison of Experiment Tracking Tools for Machine Learning» (Towards Data Science, 2023)
- Официальная документация MLflow (mlflow.org)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →