Feast is an operational data system for managing and serving ml features to models in production. Feast is able to serve feature data to model from a low latency online store or from an offline store.
- Prepare the Data set into a parquet file format
- Create a feature repo (feast init)
- Define feature definitions and update feature_store.yaml file if needed
- Register and deploy the features (created using feast init)
- Feast apply (under feature_repo)
- Generate training data set from feature_store repo
- Model training
- Prepare an online feature store
- Feature serving to model in production
Set of features/columns out of the dataset which we want to store inside the feast store repo so that they can be further served as training dataset or online prediction.
It will create a feature repo directory. And it will have data, a feature_store.yaml file, and a Feature definition.py file. Data- Inside data, we can keep our data.
Feature definition.py - Set of features/columns out of the dataset which we want to store inside the feast store repo
Feature_store.yaml - It contains some metadata of the feature mentioned in feature_defition and info regarding the project. It contains a demo setup configuring where data sources are and configurations to set up the feature store. It setup the metadata and infrastructure of incoming data sources. Here registry means to store the metadata of the data source Command - !feast init feature_repo
It will create a feature view, entity, and registry. db Command -!feast apply
Here we will load only the required columns out of which we mentioned in the definition file and will save them into the feature store data directory.
Load the saved data and train, save the model
Load the features to the online feature store according to the use case(date and time).
Load the data from the online feature store with the specific primary key to do a prediction