SageMaker Feature Store
SageMaker Feature Store — это управляемый сервис в составе платформы Amazon Web Services (AWS), предназначенный для хранения, поиска, совместного использования и управления признаками (features), используемыми в машинном обучении (ML). Сервис предоставляет централизованное репозиторий для признаков, позволяя командам разработчиков ML многократно использовать одни и те же признаки в разных моделях, обеспечивая их согласованность, версионирование и низкую задержку при доступе. Feature Store является частью экосистемы Amazon SageMaker, но может использоваться и с другими ML-инструментами.
История и предпосылки создания
Концепция feature store возникла в ответ на проблему «дублирования признаков» в крупных ML-проектах. В традиционных подходах каждый инженер или команда часто создавали одни и те же признаки с нуля, что приводило к несогласованности данных, ошибкам в вычислениях и потере времени. В 2010-х годах крупные технологические компании, такие как Uber, начали разрабатывать внутренние решения для управления признаками (например, платформа Michelangelo). В 2019 году AWS представила Amazon SageMaker Feature Store как часть своего набора инструментов SageMaker, стремясь стандартизировать и упростить этот процесс для широкого круга пользователей.
Основные характеристики и архитектура
SageMaker Feature Store предоставляет два типа хранилищ: онлайн (online) и офлайн (offline), которые оптимизированы для разных сценариев использования.
Онлайн-хранилище
- Назначение: Обеспечивает доступ к признакам с низкой задержкой (миллисекунды) для использования в реальном времени, например, при инференсе моделей.
- Технология: Основано на базе данных Amazon DynamoDB или Amazon ElastiCache (для Redis), что позволяет обрабатывать запросы с высокой пропускной способностью.
- Характеристики: Хранит последние значения признаков для каждого объекта (например, пользователя, транзакции). Поддерживает операции записи и чтения в реальном времени.
Офлайн-хранилище
- Назначение: Предназначено для хранения исторических данных, используемых для обучения и оценки моделей, а также для пакетной обработки.
- Технология: Основано на Amazon Simple Storage Service (S3) и использует формат Apache Parquet для эффективного хранения и анализа данных.
- Характеристики: Хранит полную историю изменений признаков, что позволяет выполнять временные срезы, откаты и анализ дрейфа данных. Данные могут быть прочитаны с помощью сервисов AWS, таких как Amazon Athena, Amazon EMR или Apache Spark.
Ключевые компоненты
- Feature Group: Логическая группа признаков, объединённых по общему контексту (например, «признаки пользователя» или «признаки транзакции»). Каждый Feature Group имеет схему, определяющую типы данных и метаданные.
- Record Identifier: Уникальный идентификатор для каждого объекта (например,
user_id). - Event Time: Временная метка, указывающая, когда был записан признак. Это позволяет отслеживать историю изменений.
- Ingestion: Процесс загрузки признаков в хранилище. Поддерживается как пакетная (batch) загрузка, так и потоковая (streaming) через Amazon Kinesis или AWS Lambda.
- Serving: API для чтения признаков. Для онлайн-доступа используется
GetRecord, для офлайн-доступа — запросы через SQL-подобные интерфейсы (например, Athena).
Применение
SageMaker Feature Store используется на всех этапах жизненного цикла ML-модели.
Обучение моделей
- Согласованность признаков: При обучении модели используются те же признаки, что и при инференсе, что устраняет риск «train-serve skew» (расхождения между данными обучения и эксплуатации).
- Исторические данные: Офлайн-хранилище позволяет получать срезы данных на определённые даты, что необходимо для временных рядов и ретроспективного анализа.
Инференс в реальном времени
- Низкая задержка: Онлайн-хранилище обеспечивает доступ к признакам за миллисекунды, что критично для приложений, таких как рекомендательные системы, обнаружение мошенничества или персонализация.
- Совместное использование: Разные модели могут использовать одни и те же признаки, что снижает избыточность вычислений.
Мониторинг и управление
- Версионирование: Каждое изменение признака записывается с временной меткой, что позволяет отслеживать эволюцию данных.
- Дрейф данных: Feature Store может использоваться для мониторинга статистических изменений в признаках, что помогает выявлять ухудшение качества модели.
- Аудит: Централизованное хранение упрощает проверку источников данных и соответствие регуляторным требованиям.
Примеры использования
- Рекомендательная система: Признаки, такие как «количество просмотров за последний час» или «средняя оценка пользователя», хранятся в онлайн-хранилище и используются для генерации рекомендаций в реальном времени.
- Обнаружение мошенничества: Признаки, описывающие поведение пользователя (например, «частота транзакций за последние 5 минут»), загружаются потоковым способом и используются для оценки риска каждой транзакции.
- Медицинская диагностика: Исторические признаки (например, «результаты анализов за последние 3 месяца») хранятся в офлайн-хранилище и используются для обучения моделей прогнозирования заболеваний.
Интеграция с другими сервисами AWS
SageMaker Feature Store тесно интегрирован с экосистемой AWS:
- Amazon SageMaker Pipelines: Позволяет автоматизировать загрузку признаков и обучение моделей.
- Amazon Athena: Используется для выполнения SQL-запросов к офлайн-хранилищу.
- Amazon EMR и Apache Spark: Поддерживают пакетную обработку больших объёмов признаков.
- Amazon Kinesis Data Streams: Обеспечивает потоковую загрузку признаков в реальном времени.
- AWS Lambda: Позволяет выполнять пользовательскую логику при загрузке или чтении признаков.
Преимущества и ограничения
Преимущества
- Снижение дублирования: Признаки создаются один раз и используются многократно.
- Согласованность: Гарантируется, что признаки для обучения и инференса идентичны.
- Масштабируемость: Сервис автоматически масштабируется под объём данных и нагрузку.
- Управление версиями: Поддерживается полная история изменений.
Ограничения
- Привязка к AWS: Сервис является частью платформы AWS, что ограничивает его использование в мультиоблачных средах.
- Стоимость: Онлайн-хранилище, основанное на DynamoDB, может быть дорогим при больших объёмах данных.
- Сложность настройки: Для эффективного использования требуется понимание архитектуры и правильная настройка схемы признаков.
Сравнение с альтернативами
На рынке существуют аналогичные решения, такие как Feast (открытая платформа), Tecton (коммерческая платформа) и Vertex AI Feature Store (от Google Cloud). SageMaker Feature Store выделяется тесной интеграцией с AWS, поддержкой потоковой загрузки и встроенными возможностями мониторинга. В отличие от Feast, который требует самостоятельного развёртывания, SageMaker Feature Store является полностью управляемым сервисом.
Источники
- Документация Amazon SageMaker Feature Store (AWS)
- «Feature Stores: A Key Component of the ML Infrastructure» — блог AWS Machine Learning
- «The Rise of the Feature Store» — статья на InfoQ
- «Building a Feature Store for Machine Learning» — книга по архитектуре ML-систем
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →