Дэвид Херши: «Магазин признаков — это единственный способ победить Training-Serving Skew»

The TWIML AI Podcast 710 1 ч 51 мин 4 мин 06.09.2022
Главное

В современных ML-системах путь от разработки модели до её внедрения в продакшен часто преграждают архитектурные сложности, связанные с подготовкой данных. Дэвид Херши из компании Tecton в рамках воркшопа на TWIML AI Podcast продемонстрировал, как использование магазинов признаков (feature stores) позволяет в реальном времени развёртывать модели детектирования мошенничества, решая проблему несоответствия данных при обучении и инференсе.

🏗️ Архитектура и роль Feature Store в ML-системах 1:06

Главная цель использования магазина признаков — упростить процесс вывода моделей в продакшен, особенно в таких критичных областях, как антифрод. По словам Дэвида Херши, обнаружение мошенничества требует очень быстрых предсказаний в реальном времени и сложных агрегаций по потоковым данным .

Магазин признаков Tecton представляет собой облачный сервис, который подключается к источникам данных пользователя (Batch-источники вроде Hive, S3, Snowflake или потоковые вроде Kafka, Kinesis) . Архитектура системы состоит из двух ключевых компонентов:

Херши подчеркивает, что все определения признаков в Tecton хранятся в коде (Git-репозитории). Это позволяет использовать декларативный подход: пользователь описывает, что должно быть в магазине признаков, а Tecton берет на себя управление конвейерами обработки данных (spark-заданиями) .

🛠️ Разработка признаков (Feature Engineering) 11:00

Процесс начинается с анализа сырых данных. В примере рассматриваются синтетические транзакции (проект PaySim), данные о регистрациях пользователей и их кредитные рейтинги .

Дэвид Херши выделяет преимущество повторного использования признаков: если один член команды уже создал признак «кредитный рейтинг», другой может просто подключить его к своей модели через UI или SDK, не переписывая SQL-запросы .

Типы трансформаций в коде

Для создания новых признаков разработчики используют:

  1. Spark SQL или PySpark: Универсальные инструменты для обработки данных. Например, признак «количество дней с последней транзакции» вычисляется через разницу между текущим временем и временной меткой последнего события .
  2. Программная генерация времени: Вместо функции current_date() в SQL используется переменная, передаваемая Tecton. Это критически важно для корректного «путешествия во времени» (time travel) при генерации исторических обучающих данных без утечек .

Масштабируемые агрегации

Особое внимание Херши уделяет скользящим окнам и агрегациям. Tecton позволяет одной декларацией создать целое семейство признаков: например, сумму транзакций и средний чек за 1 час, 12 часов, сутки, 3 и 7 дней . Система оптимизирует эти вычисления, объединяя потоковые и исторические данные, что избавляет разработчика от ручного управления состоянием оконных функций.

📉 Обучение и предотвращение перекоса данных (Training-Serving Skew) 51:15

Одной из самых сложных проблем в ML является несоответствие данных (skew): когда признаки во время обучения выглядят иначе, чем во время работы в продакшене. По мнению Херши, магазин признаков устраняет эту проблему по определению .

Процесс создания обучающей выборки выглядит так:

Для тренировки модели Херши использует XGBoost и MLflow для управления артефактами . Обученная модель развёртывается как эндпоинт в AWS SageMaker .

🚀 Продакшен: инференс и эксплуатация 1:05:11

В работающем приложении процесс предсказания сводится к двум API-запросам:

  1. К магазину признаков: Приложение передает идентификатор пользователя (User ID). Tecton за миллисекунды возвращает вектор признаков, собранный из разных источников (Batch и Streaming) .
  2. К модели: Полученный вектор напрямую передается в эндпоинт SageMaker для получения скора мошенничества .

Разработчик отмечает, что в случае отсутствия данных о пользователе система возвращает null, и это сигнал для бизнес-логики — возможно, модель не стоит вызывать на неполных данных .

🕒 Будущее технологий и ответы на вопросы 1:13:41

В ходе сессии вопросов и ответов Дэвид Херши раскрыл планы развития платформы:

Херши подытоживает, что Feature Store — это не просто кэш, а «источник истины» для трансформаций, который обеспечивает консистентность всей ML-инфраструктуры компании .

💬 Цитаты

«Проблема не в том, чтобы натренировать модель — мы это умеем. Проблема в том, что происходит на следующем шаге, когда нужно вывести её в продакшен.»

«Feature Store существует для того, чтобы предоставить чистый способ определения признаков, которые остаются одинаковыми и в офлайне, и в онлайне.»

👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Feature Store
Централизованный репозиторий для хранения, обработки и обслуживания признаков (features) для машинного обучения.
Training-Serving Skew
Различие в качестве или формате данных между этапами обучения модели и её работы в реальном времени.
Inference
Процесс использования обученной модели для получения предсказаний на новых данных.
Materialization
Процесс вычисления признаков и их сохранения в физическое хранилище для последующего быстрого доступа.
📊 Цифры
🗓 Хронология
  1. 2021 Проведение воркшопа по деплою моделей антифрода на платформе Tecton.
  2. 2021 (второе полугодие) Запланированный выход Tecton на платформы GCP и Azure.
⚖️ Другая сторона
Искусственный интеллект Tecton Feature Store Machine Learning Fraud Detection XGBoost