/feast-workshop

A workshop with several modules to help learn Feast, an open-source feature store

Primary LanguageJupyter Notebook

  Workshop: Learning Feast

This workshop aims to teach users about Feast, an open-source feature store.

We explain concepts & best practices by example, and also showcase how to address common use cases.

What is Feast?

Feast is an operational system for managing and serving machine learning features to models in production. It can serve features from a low-latency online store (for real-time prediction) or from an offline store (for batch scoring).

Why Feast?

Feast solves several common challenges teams face:

  1. Lack of feature reuse across teams
  2. Complex point-in-time-correct data joins for generating training data
  3. Difficulty operationalizing features for online inference while minimizing training / serving skew

Pre-requisites

This workshop assumes you have the following installed:

  • A local development environment that supports running Jupyter notebooks (e.g. VSCode with Jupyter plugin)
  • Python 3.7+
  • pip
    • Docker & Docker Compose (e.g. brew install docker docker-compose)
  • Module 0 pre-requisites:
    • Terraform (docs)
    • Either AWS or GCP setup:
      • AWS
      • GCP
        • GCP account
        • gcloud CLI
  • Module 1 pre-requisites:
    • Java 11 (for Spark, e.g. brew install java11)

Since we'll be learning how to leverage Feast in CI/CD, you'll also need to fork this workshop repository.

Caveats

Modules

See also: Feast quickstart, Feast x Great Expectations tutorial

These are meant mostly to be done in order, with examples building on previous concepts.

Time (min) Description Module   
30-45 Setting up Feast projects & CI/CD + powering batch predictions Module 0
15-20 Streaming ingestion & online feature retrieval with Kafka, Spark, Redis Module 1
10-15 Real-time feature engineering with on demand transformations Module 2
TBD Feature server deployment (embed, as a service, AWS Lambda) TBD
TBD Versioning features / models in Feast TBD
TBD Data quality monitoring in Feast TBD
TBD Batch transformations TBD
TBD Stream transformations TBD