• Русский
  • Введение

    Feast — это open-source feature store для machine learning. Он помогает командам использовать одни и те же определения feature в обучении моделей, пакетном scoring и online inference, уменьшая training-serving skew и дублирование работ по feature engineering.

    В Alauda Build of Feast Feast обычно разворачивается на Kubernetes через Feast Operator. Каждый deployment управляется пользовательским ресурсом (CR) FeatureStore. Один CR FeatureStore может создавать основные сервисы Feast, такие как online feature server, offline feature server, registry server и UI.

    Типичные требования

    Feast обычно используется, когда платформе нужен более единообразный способ:

    • управлять определениями feature в общем каталоге
    • использовать одни и те же определения feature в обучении, пакетном scoring и online inference
    • централизованно управлять freshness, materialization и политиками доступа

    Feast предоставляет эти возможности через общий registry, online и offline stores, а также стандартный workflow для регистрации, materialization, serving и управления доступом.

    Управляемые ресурсы

    В Kubernetes-развертывании, управляемом Feast Operator, FeatureStore обычно создает или управляет следующими ресурсами:

    • Offline store: хранит исторические данные feature и поддерживает генерацию training dataset или backfilling.
    • Online store: хранит последние значения feature для low-latency online reads во время inference.
    • Registry: хранит метаданные, такие как entities, feature views, feature services и permissions.
    • UI: предоставляет веб-интерфейс для просмотра метаданных feature и состояния сервисов.
    • Конфигурация клиента: оператор также создает ConfigMap, содержащий клиентский feature_store.yaml, чтобы клиентские приложения и jobs могли подключаться к развернутым сервисам.

    Основные концепции

    Следующие понятия наиболее важны при начале работы с Feast:

    Project

    Project в Feast — это изолированное логическое рабочее пространство. Определения feature, permissions и объекты registry организуются по project. В Alauda Build of Feast имя project задается с помощью spec.feastProject в CR FeatureStore.

    Entity

    Entity — это бизнес-ключ, используемый для получения feature, например user_id, driver_id или merchant_id.

    Data Source

    Data Source описывает, откуда поступают сырые данные feature. Примеры включают файлы, data warehouses или push sources.

    Feature View

    Feature view определяет:

    • к какой entity относится feature
    • откуда поступают исходные данные
    • какие поля доступны как feature
    • должны ли feature обслуживаться online

    На практике feature view обычно является основным объектом, который пользователи регистрируют и materialize.

    Feature Service

    Feature service группирует одну или несколько feature в повторно используемый набор для модели или версии приложения. Это помогает поддерживать一致ность выбора feature между обучением и serving.

    Registry

    Registry хранит метаданные Feast, а не значения feature. Это источник истины для зарегистрированных объектов, таких как entities, feature views, feature services и permissions.

    Materialization

    Materialization копирует значения feature из offline source в online store, чтобы их можно было получать с low latency во время inference.

    Push Source

    Push source позволяет приложениям или потоковым jobs записывать свежие значения feature непосредственно в Feast, либо в online store, либо в offline store, либо в оба.

    Permission

    Permissions определяют, кто может читать или изменять объекты и данные Feast. В Alauda Build of Feast распространенная конфигурация объединяет:

    • Kubernetes Role и RoleBinding
    • объекты Feast Permission с использованием RoleBasedPolicy

    Это позволяет предоставлять разным пользователям или workload'ам доступ только на чтение или на чтение и запись.

    Типичный workflow

    Типичный workflow Feast:

    1. Установить Feast Operator.
    2. Создать CR FeatureStore для развертывания сервисов Feast.
    3. Определить entities, feature views, feature services и permissions в feature repository.
    4. Выполнить feast apply для регистрации метаданных в registry.
    5. Materialize или push данные feature в online store.
    6. Читать feature из клиентских приложений, batch jobs или online services.

    Обязанности Operator

    По сравнению с ручным развертыванием Feast, Feast Operator управляет ресурсами Kubernetes, необходимыми Feast. Примеры включают:

    • создание и reconciliation Deployment и Service Feast
    • инициализацию feature repository или клонирование его из Git
    • подготовку persistent storage на основе PVC для offline, online и registry data
    • создание необязательных объектов Kubernetes Role, используемых авторизацией Feast
    • публикацию информации о подключении через CR status и client ConfigMap

    Дополнительные материалы

    В этом наборе документации:

    1. Установить Feast
    2. Быстрый старт

    Официальные справочные материалы Feast: