Концепции хранилищ признаков

Тема дорожной карты · MLOps

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

Ключевые концепции в хранилищах признаков включают feature view (логическую группировку признаков из источника), entity (первичный ключ, например user_id), offline store (колоночное хранилище для batch-обучения) и online store (KV-хранилище с низкой задержкой для real-time inference). Point-in-time корректные joins помогают предотвратить утечку меток при обучении, а единая логика извлечения устраняет дисбаланс между обучением и служением моделей.

Как это работает

Хранилища признаков, такие как Feast, Tecton и SageMaker Feature Store, централизуют управление признаками, используемыми моделями. Они обеспечивают как offline (batch training), так и online (low-latency serving) хранилища с согласованными определениями и трансформациями между ними. Это позволяет решать проблемы дисбаланса между обучением и служением моделей (train-serve skew), обеспечивает свежесть признаков (feature freshness) и способствует повторному использованию признаков между различными командами. Современные хранилища признаков также добавляют функции, такие как точность по времени (point-in-time correctness), мониторинг признаков и отслеживание родословной.

Когда применять

Хранилище признаков становится необходимым, когда количество используемых моделей или команд увеличивается. Если у вас менее пяти производственных моделей или одна команда, использование Pandas и DBT может быть достаточно. Однако, если вы сталкиваетесь с проблемами дисбаланса между обучением и служением моделей (train-serve skew), если вы работаете с множеством команд, которые повторно используют признаки, или если вам требуется точность по времени для временных рядов, использование хранилища признаков становится необходимым. Для открытых решений можно выбрать Feast, а для управляемых решений — Tecton или SageMaker.

Типичные ошибки

Типичные ошибки при использовании хранилищ признаков включают создание хранилища признаков до того, как будут созданы признаки, которые действительно требуются (преждевременное создание платформы), расхождение между online и offline трансформациями (что приводит к проблемам дисбаланса), использование хранилища признаков как обходного пути для SQL (что может привести к утечке конфиденциальной информации), а также недостаточные инвестиции в мониторинг свежести признаков (что может привести к накоплению устаревших данных).

Связанные понятия

Полезные ресурсы