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

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 →