SageMaker Endpoints
SageMaker Endpoints — это управляемый сервис в составе платформы Amazon Web Services (AWS) Amazon SageMaker, предназначенный для развёртывания моделей машинного обучения в режиме реального времени (инференса) и предоставления к ним доступа через API. SageMaker Endpoints автоматизирует задачи по масштабированию, мониторингу и обновлению инфраструктуры, позволяя разработчикам и специалистам по данным сосредоточиться на качестве модели, а не на управлении серверами.
История и развитие
Сервис Amazon SageMaker был запущен компанией Amazon Web Services в ноябре 2017 года. Одним из его ключевых компонентов стал SageMaker Endpoints, который изначально предоставлял возможность развёртывания моделей на виртуальных машинах с автоматическим масштабированием. В последующие годы функциональность была значительно расширена:
- 2018 год: Добавлена поддержка A/B-тестирования (развёртывания нескольких вариантов модели на одном endpoint'е) и автоматического масштабирования на основе целевого показателя использования.
- 2019 год: Внедрена возможность использования эластичного инференса (Elastic Inference) для ускорения вычислений без необходимости в полноценных GPU-инстансах.
- 2020 год: Появилась поддержка мульти-модельных endpoint'ов (Multi-Model Endpoints), позволяющих размещать несколько моделей на одном инстансе для экономии затрат.
- 2021 год: Анонсирован сервис Serverless Inference, который автоматически масштабируется до нуля при отсутствии трафика, взимая плату только за фактическое использование.
- 2022–2023 годы: Добавлены возможности для развёртывания больших языковых моделей (LLM) с использованием ускоренного инференса (например, через AWS Inferentia), а также интеграция с Amazon Bedrock для работы с генеративными моделями.
Архитектура и компоненты
SageMaker Endpoints состоит из нескольких ключевых элементов, обеспечивающих его работу:
Модель (Model)
Артефакт машинного обучения, включающий обученные веса, код инференса (скрипт или контейнер) и конфигурацию окружения. Модель регистрируется в реестре SageMaker и может быть создана как вручную, так и через автоматизированные пайплайны.
Конфигурация endpoint'а (Endpoint Configuration)
Определяет, какие модели (одну или несколько для A/B-тестирования) будут обслуживаться, а также параметры инфраструктуры:
- Тип инстанса (например, ml.m5.large, ml.p3.2xlarge, inf1.xlarge).
- Количество начальных инстансов для автоматического масштабирования.
- Правила автоматического масштабирования (на основе загрузки CPU, памяти или количества запросов).
- Политики безопасности (шифрование, VPC-доступ).
Endpoint
Конечная точка API, к которой обращаются клиентские приложения. Endpoint связывает конфигурацию с моделью и предоставляет URL для отправки запросов.
Автоматическое масштабирование (Auto Scaling)
SageMaker Endpoints поддерживает два режима масштабирования:
- На основе целевого показателя использования (Target Tracking): Система автоматически добавляет или удаляет инстансы, чтобы поддерживать заданный уровень загрузки (например, 70% CPU).
- По расписанию (Scheduled Scaling): Позволяет увеличивать количество инстансов в часы пиковой нагрузки и уменьшать в периоды низкой активности.
Типы SageMaker Endpoints
Реальные (Real-time Endpoints)
Стандартный тип для инференса в реальном времени. Обеспечивает низкую задержку (миллисекунды) и поддерживает постоянный поток запросов. Подходит для приложений, где требуется мгновенный ответ (рекомендательные системы, чат-боты, обработка изображений).
Бессерверные (Serverless Inference)
Автоматически масштабируется до нуля при отсутствии трафика. Плата взимается только за фактическое время обработки запросов и объём переданных данных. Идеален для нерегулярных нагрузок, прототипов и приложений с переменным трафиком. Ограничения: максимальное время выполнения одного запроса — 60 секунд, максимальный размер полезной нагрузки — 6 МБ.
Пакетные (Batch Transform)
Не являются endpoint'ами в классическом понимании, но часто используются вместе с ними. Предназначены для асинхронной обработки больших объёмов данных (например, датасетов). Не требуют постоянного развёртывания инфраструктуры — кластер создаётся на время выполнения задачи и удаляется после её завершения.
Асинхронные (Asynchronous Inference)
Промежуточный вариант между real-time и batch. Клиент отправляет запрос и получает идентификатор задачи, а результат загружается в S3-бакет. Подходит для обработки больших файлов (изображения высокого разрешения, видео, аудио) или запросов с длительным временем выполнения (до 15 минут).
Процесс развёртывания
- Создание модели: Загрузка артефакта модели в S3 и регистрация в SageMaker.
- Создание конфигурации endpoint'а: Указание типа инстанса, количества реплик, правил масштабирования.
- Создание endpoint'а: SageMaker автоматически запускает указанное количество инстансов, загружает модель и предоставляет URL.
- Тестирование: Отправка тестовых запросов через AWS CLI, SDK или HTTP-клиент.
- Мониторинг: Использование Amazon CloudWatch для отслеживания метрик (задержка, количество запросов, ошибки, загрузка ресурсов).
Мониторинг и управление
SageMaker Endpoints интегрирован с сервисами мониторинга AWS:
- Amazon CloudWatch: Собирает метрики, такие как
Invocations(количество запросов),ModelLatency(время обработки),CPUUtilization,MemoryUtilization. - AWS CloudTrail: Фиксирует все API-вызовы для аудита безопасности.
- SageMaker Model Monitor: Автоматически отслеживает дрейф данных (data drift) и ухудшение качества модели, отправляя оповещения при обнаружении аномалий.
Применение
SageMaker Endpoints используется в различных отраслях:
- Электронная коммерция: Рекомендательные системы, поиск товаров, динамическое ценообразование.
- Финансы: Оценка кредитоспособности, обнаружение мошенничества, прогнозирование рыночных трендов.
- Здравоохранение: Диагностика по медицинским изображениям, прогнозирование исходов лечения.
- Медиа и развлечения: Персонализация контента, модерация, обработка видео в реальном времени.
- Промышленность: Прогнозирование отказов оборудования, оптимизация производственных процессов.
Преимущества и ограничения
Преимущества
- Управляемая инфраструктура: AWS берёт на себя обновления, мониторинг и масштабирование.
- Гибкость: Поддержка любых фреймворков (TensorFlow, PyTorch, Scikit-learn, MXNet, Hugging Face) и пользовательских контейнеров.
- Безопасность: Интеграция с AWS IAM, VPC, KMS для шифрования.
- Экономия: Возможность использования spot-инстансов (для batch-задач) и бессерверного режима.
Ограничения
- Стоимость: Для постоянно загруженных real-time endpoint'ов затраты могут быть значительными, особенно при использовании GPU-инстансов.
- Задержка холодного старта: При масштабировании с нуля (особенно в serverless-режиме) первый запрос может обрабатываться дольше.
- Ограничения по размеру: Для real-time endpoint'ов максимальный размер полезной нагрузки — 6 МБ; для асинхронных — 1 ГБ.
- Зависимость от AWS: Полная привязка к экосистеме Amazon, что может быть критично для компаний, использующих мультиоблачные стратегии.
Интересные факты
- SageMaker Endpoints поддерживает использование нескольких моделей на одном endpoint'е (Multi-Model Endpoints), что позволяет снизить затраты на инфраструктуру до 90% по сравнению с развёртыванием каждой модели отдельно.
- Для ускорения инференса больших языковых моделей AWS предлагает специализированные чипы AWS Inferentia и Trainium, которые интегрированы с SageMaker Endpoints.
- В 2023 году AWS запустила SageMaker Inference Recommender — инструмент, который автоматически подбирает оптимальный тип инстанса и конфигурацию для заданной модели, тестируя различные варианты.
Источники
- Amazon Web Services. «Amazon SageMaker Developer Guide». AWS Documentation.
- Amazon Web Services. «Amazon SageMaker Pricing». Официальный сайт AWS.
- Amazon Web Services. «What is Amazon SageMaker?». AWS Whitepapers.
- Amazon Web Services. «Best Practices for Deploying Machine Learning Models with Amazon SageMaker». AWS Blog.
- Amazon Web Services. «AWS re:Invent 2023 — SageMaker Endpoints and Serverless Inference». Видеозапись конференции.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →