Feast acts as the interface between ML models and data. Feast enables your team to
Create feature specifications to manage features and load in data that should be managed
Retrieve historical features for training models
Retrieve online features for serving models
Feature creators model the data within their organization into Feast through the creation of feature sets.
Feature sets are specifications that contain both schema and data source information. They allow Feast to know how to interpret your data, and optionally where to find it. Feature sets allow users to define domain entities along with the features that are available on these entities. Feature sets also allow users to define schemas that describe the properties of the data, which in turn can be used for validation purposes.
Once a feature set has been registered, Feast will create the relevant schemas to store feature data within it's feature stores. These stores are then automatically populated by ingestion jobs that ingest data from data sources, making it possible for Feast to provide access to features for training and serving. It is also possible for users to ingest data into Feast instead of using an external source.
Read more about feature sets.
Both online and historical retrieval are executed through an API call to
Feast Serving using feature references. In the case of historical serving it is necessary to provide Feast with the entities and timestamps that feature data will be joined to. Feast eagerly produces a point-in-time correct dataset based on the features that have been requested. These features can come from any number of feature sets.
Stores supported: BigQuery
Feast also allows users to call
Feast Serving for online feature data. Feast only stores the latest values during online serving for each feature, as opposed to historical serving where all historical values are stored. Online serving allows for very low latency requests to feature data at very high throughput.
The logical grouping of these resources are important for namespacing as well as retrieval. During retrieval time it is necessary to reference individual features through feature references. These references uniquely identify a feature or entity within a Feast deployment.
Entities are objects in an organization that model a specific construct. Examples of these include customers, transactions, and drivers.
Features are measurable properties that are observed on entities. Features are used as inputs to models.
Feature Sets are schemas that define logical groupings of entities, features, data sources, and other related metadata.
Stores are databases that maintain feature data that gets served to models during training or inference.
Sources are either internal or external data sources where feature data can be found.
Ingestion is the process of loading data into Feast.