Открыть сервис

SageMaker Training

SageMaker Training — это компонент облачного сервиса Amazon SageMaker, предназначенный для обучения моделей машинного обучения (ML). SageMaker Training предоставляет инфраструктуру и инструменты для запуска вычислительных задач по обучению моделей в масштабируемой среде, управляемой Amazon Web Services (AWS). Сервис автоматизирует процессы выделения ресурсов, развертывания алгоритмов, мониторинга и завершения обучения, что позволяет разработчикам и специалистам по данным сосредоточиться на настройке модели, а не на управлении вычислительными кластерами.

История и развитие

SageMaker Training был запущен в 2017 году как часть платформы Amazon SageMaker, представленной на конференции AWS re:Invent. Первоначально сервис поддерживал обучение на виртуальных машинах (инстансах) EC2 с использованием встроенных алгоритмов AWS и пользовательских скриптов. В 2018 году была добавлена поддержка распределенного обучения с использованием фреймворков TensorFlow и Apache MXNet. В 2020 году появилась возможность использования управляемых кластеров для обучения с помощью SageMaker HyperPod, а в 2021 году — интеграция с Amazon EKS (Elastic Kubernetes Service) для запуска задач обучения в контейнерах. В 2023 году были внедрены функции автоматического выбора инстансов и оптимизации затрат на основе анализа истории обучения.

Архитектура и компоненты

Вычислительные ресурсы

SageMaker Training использует инстансы Amazon EC2 для выполнения задач обучения. Пользователь может выбрать один или несколько инстансов из широкого спектра конфигураций: от инстансов общего назначения (например, ml.m5.large) до инстансов с графическими процессорами (GPU) для глубокого обучения (например, ml.p4d.24xlarge с NVIDIA A100). Сервис автоматически выделяет и освобождает ресурсы после завершения задачи, что позволяет избежать затрат на простаивающие мощности.

Образы контейнеров

Обучение выполняется в контейнерах Docker. AWS предоставляет предварительно собранные образы для популярных фреймворков: TensorFlow, PyTorch, Apache MXNet, Scikit-learn, XGBoost и других. Пользователь может также создать собственный образ с помощью Dockerfile и загрузить его в Amazon ECR (Elastic Container Registry). Контейнеры изолированы, что гарантирует воспроизводимость результатов.

Управление задачами

Задача обучения (Training Job) — это единица работы в SageMaker Training. Она включает в себя:

  • Алгоритм — ссылка на образ контейнера или встроенный алгоритм.
  • Гиперпараметры — настройки модели (например, скорость обучения, количество эпох).
  • Входные данные — путь к данным в Amazon S3.
  • Выходные данные — путь для сохранения обученной модели.
  • Конфигурация ресурсов — тип и количество инстансов.

SageMaker Training автоматически управляет жизненным циклом задачи: запуск, мониторинг, завершение и сохранение результатов.

Мониторинг и логирование

Во время обучения сервис собирает метрики (например, потери, точность) и логи, которые отображаются в консоли AWS и могут быть отправлены в Amazon CloudWatch для анализа. Пользователь может настроить автоматическую остановку задачи при достижении целевых метрик или при обнаружении ошибок.

Классификация методов обучения

Встроенные алгоритмы

AWS предоставляет набор предварительно реализованных алгоритмов, оптимизированных для работы в SageMaker Training. К ним относятся:

Эти алгоритмы не требуют написания пользовательского кода; достаточно указать гиперпараметры и данные.

Пользовательские скрипты

Пользователь может написать собственный код на Python, R или других языках, используя любой фреймворк машинного обучения. Скрипт загружается в контейнер и выполняется в среде SageMaker Training. Это позволяет реализовывать уникальные архитектуры моделей, не поддерживаемые встроенными алгоритмами.

Распределенное обучение

Для ускорения обучения на больших наборах данных SageMaker Training поддерживает распределенное обучение:

  • Распределение по данным — данные разбиваются на части, каждая из которых обрабатывается на отдельном инстансе.
  • Распределение по моделимодель разбивается на части, каждая из которых обучается на отдельном инстансе.
  • Гибридные подходы — комбинация двух методов.

Сервис автоматически настраивает коммуникацию между инстансами с помощью библиотек, таких как Horovod или PyTorch Distributed Data Parallel (DDP).

Применение

Обучение моделей для прогнозирования

SageMaker Training используется для обучения моделей временных рядов, регрессии и классификации в таких областях, как финансы (прогнозирование цен), розничная торговля (прогнозирование спроса) и логистика (оптимизация маршрутов).

Глубокое обучение

Сервис поддерживает обучение глубоких нейронных сетей для компьютерного зрения (распознавание изображений, сегментация), обработки естественного языка (NLP) и генерации контента. Для этого используются GPU-инстансы и фреймворки, такие как TensorFlow и PyTorch.

Обучение с подкреплением

SageMaker Training может быть интегрирован с библиотеками для обучения с подкреплением (например, RLlib), что позволяет обучать агентов для игр, робототехники и управления.

Преимущества и ограничения

Преимущества

  • Автоматизация инфраструктуры — не требуется управлять кластерами EC2 вручную.
  • Масштабируемость — обучение может выполняться на сотнях инстансов одновременно.
  • Интеграция с AWS — данные хранятся в S3, логи в CloudWatch, модели в SageMaker Model Registry.
  • Оптимизация затрат — возможность использования Spot-инстансов (прерываемых инстансов с низкой ценой) для некритичных задач.

Ограничения

  • Зависимость от AWS — сервис привязан к экосистеме Amazon Web Services, что может быть проблемой для мультиоблачных стратегий.
  • Стоимость — при длительном обучении на GPU-инстансах затраты могут быть значительными.
  • Ограниченная гибкость — для сложных сценариев (например, обучение на нестандартном оборудовании) может потребоваться настройка пользовательских контейнеров.

Интересные факты

  • SageMaker Training поддерживает автоматическое восстановление задач после сбоев инстансов, что особенно полезно при использовании Spot-инстансов.
  • В 2022 году AWS добавила возможность обучения моделей с использованием квантовых симуляторов через Amazon Braket, интегрированный с SageMaker Training.
  • Сервис используется в проектах по обучению больших языковых моделей (LLM), таких как GPT-подобные архитектуры, на кластерах из тысяч GPU.

Источники

  • Amazon Web Services. «Amazon SageMaker Developer Guide». AWS Documentation, 2023.
  • Amazon Web Services. «Amazon SageMaker Training — Overview». AWS Product Page, 2023.
  • «SageMaker Training: A Comprehensive Guide». Towards Data Science, 2022.
  • «Distributed Training with Amazon SageMaker». AWS Machine Learning Blog, 2021.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →