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

SageMaker Pipelines

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

История и контекст появления

SageMaker Pipelines был анонсирован и представлен общественности в декабре 2020 года на конференции AWS re:Invent. Его появление было обусловлено растущей потребностью в автоматизации повторяющихся задач в ML-процессах, особенно в условиях, когда проекты переходят от экспериментальной стадии к промышленной эксплуатации. До появления Pipelines пользователи SageMaker были вынуждены вручную оркестрировать шаги пайплайна, используя сторонние инструменты (например, Apache Airflow, Kubeflow Pipelines) или собственные скрипты, что усложняло управление, воспроизводимость и мониторинг. SageMaker Pipelines интегрировался непосредственно в платформу SageMaker, предлагая бесшовную работу с другими её сервисами: SageMaker Training, SageMaker Processing, SageMaker Model Registry, SageMaker Feature Store и SageMaker Experiments.

Архитектура и ключевые компоненты

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

Основные типы шагов

Сервис поддерживает несколько предопределённых типов шагов, каждый из которых соответствует определённому действию в ML-цикле:

Параметры и артефакты

Пайплайны могут принимать входные параметры (например, пути к данным, гиперпараметры, даты), которые позволяют переиспользовать один и тот же пайплайн для разных запусков без изменения кода. Артефакты — это выходные данные шагов (например, обработанные наборы данных, обученные модели), которые автоматически отслеживаются и могут быть переданы последующим шагам. SageMaker Pipelines использует сервис Amazon S3 для хранения артефактов и метаданных.

Создание и управление пайплайнами

Пайплайны определяются программно с помощью Amazon SageMaker SDK для Python (библиотека sagemaker) или через AWS SDK для других языков (например, boto3 для Python). Определение пайплайна представляет собой объект класса Pipeline, который содержит список шагов. После создания пайплайн может быть выполнен (запущен) через SDK, консоль AWS или API.

Процесс разработки

  1. Определение шагов: Создаются объекты шагов (например, ProcessingStep, TrainingStep) с указанием необходимых параметров: скриптов, вычислительных ресурсов, входных и выходных данных.
  2. Сборка пайплайна: Все шаги объединяются в объект Pipeline, который автоматически строит DAG на основе зависимостей (передачи артефактов или явных указаний depends_on).
  3. Сохранение и версионирование: Пайплайн сохраняется в сервисе SageMaker, что позволяет управлять его версиями, отслеживать изменения и делиться с командой.
  4. Запуск: Выполнение пайплайна инициируется вызовом метода .start(). Каждый запуск создаёт уникальный экземпляр (execution), который можно отслеживать в консоли или через SDK.
  5. Мониторинг: SageMaker Pipelines предоставляет веб-интерфейс в консоли AWS, где отображается статус выполнения, логи, метрики и артефакты каждого шага. Также доступны уведомления через Amazon CloudWatch Events.

Интеграция с другими сервисами

SageMaker Pipelines тесно интегрирован с экосистемой AWS:

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

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

Ограничения

Примеры использования

SageMaker Pipelines применяется в различных сценариях:

Сравнение с альтернативами

SageMaker Pipelines конкурирует с другими инструментами оркестрации ML-пайплайнов:

SageMaker Pipelines выигрывает в простоте настройки и интеграции для пользователей, уже работающих в экосистеме AWS, но уступает в гибкости и переносимости между облаками.

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

Источники

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

На главную BFOmetr →