|
2 | 2 |
|
3 | 3 | ## Overview |
4 | 4 |
|
5 | | -Feast (Feature Store) is a tool to manage storage and access of machine learning features. |
| 5 | +Feast (Feature Store) is a tool for managing and serving machine learning features. Feast is the bridge between models and data. |
6 | 6 |
|
7 | | -It aims to: |
8 | | -* Support ingesting feature data via batch or streaming |
9 | | -* Provide scalable storage of feature data for serving and training |
10 | | -* Provide an API for low latency access of features |
11 | | -* Enable discovery and documentation of features |
12 | | -* Provide an overview of the general health of features in the system |
| 7 | +Feast aims to: |
| 8 | +* Provide a unified means of managing feature data from a single person to large enterprises. |
| 9 | +* Provide scalable and performant access to feature data when training and serving models. |
| 10 | +* Provide consistent and point-in-time correct access to feature data. |
| 11 | +* Enable discovery, documentation, and insights into your features. |
13 | 12 |
|
14 | | -## High Level Architecture |
| 13 | + |
15 | 14 |
|
16 | | - |
| 15 | +TL;DR: Feast decouples feature engineering from feature usage. Features that are added to Feast become available immediately for training and serving. Models can retrieve the same features used in training from a low latency online store in production. |
| 16 | +This means that new ML projects start with a process of feature selection from a catalog instead of having to do feature engineering from scratch. |
17 | 17 |
|
18 | | -The Feast platform is broken down into the following functional areas: |
| 18 | +``` |
| 19 | +# Setting things up |
| 20 | +fs = feast.Client('feast.example.com') |
| 21 | +customer_features = ['CreditScore', 'Balance', 'Age', 'NumOfProducts', 'IsActive'] |
19 | 22 |
|
20 | | -* __Create__ features based on defined format and programming model |
21 | | -* __Ingest__ features via streaming input, import from files or BigQuery tables, and write to an appropriate data store |
22 | | -* __Store__ feature data for both serving and training purposes based on feature access patterns |
23 | | -* __Access__ features for training and serving |
24 | | -* __Discover__ information about entities and features stored and served by Feast |
| 23 | +# Training your model (typically from a notebook or pipeline) |
| 24 | +data = fs.get_batch_features(customer_features, customer_entities) |
| 25 | +my_model = ml.fit(data) |
25 | 26 |
|
26 | | -## Motivation |
| 27 | +# Serving predictions (when serving the model in production) |
| 28 | +prediction = my_model.predict(fs.get_online_features(customer_features, customer_entities)) |
| 29 | +``` |
27 | 30 |
|
28 | | -__Access to features in serving__: Machine learning models typically require access to features created in both batch pipelines, and real time streams. Feast provides a means for accessing these features in a serving environment, at low latency and high load. |
29 | | - |
30 | | -__Consistency between training and serving__: In many machine learning systems there exists a disconnect between features that are created in batch pipelines for the training of a model, and ones that are created from streams for the serving of real-time features. By centralizing the ingestion of features, Feast provides a consistent view of both batch and real-time features, in both training and serving. |
31 | | - |
32 | | -__Infrastructure management__: Feast abstracts away much of the engineering overhead associated with managing data infrastructure. It handles the ingestion, storage, and serving of large amount of feature data in a scalable way. The system configures data models based on your registered feature specifications, and ensures that you always have a consistent view of features in both your historical and real-time data stores. |
33 | | - |
34 | | -__Feature standardisation__: Feast presents a centralized platform on which teams can register features in a standardized way using specifications. This provides structure to the way features are defined and allows teams to reference features in discussions with a singly understood link. |
35 | | - |
36 | | -__Discovery__: Feast allows users to easily explore and discover features and their associated information. This allows for a deeper understanding of features and theirs specifications, more feature reuse between teams and projects, and faster experimentation. Each new ML project can leverage features that have been created by prior teams, which compounds an organization's ability to discover new insights. |
| 31 | +## Important resources |
| 32 | + * [Why Feast?](docs/why-feast.md) |
| 33 | + * [Concepts](docs/concepts.md) |
| 34 | + * [Installation](docs/getting-started/install-feast.md) |
| 35 | + * [Getting Help](docs/community.md) |
37 | 36 |
|
38 | 37 | ## Notice |
39 | 38 |
|
40 | | -Feast is still under active development. Your feedback and contributions are important to us. Please check our [contributing guide](CONTRIBUTING.md) for details. |
41 | | - |
42 | | -## Source Code Headers |
43 | | - |
44 | | -Every file containing source code must include copyright and license |
45 | | -information. This includes any JS/CSS files that you might be serving out to |
46 | | -browsers. (This is to help well-intentioned people avoid accidental copying that |
47 | | -doesn't comply with the license.) |
48 | | - |
49 | | -Apache header: |
50 | | - |
51 | | - Copyright 2019 The Feast Authors |
52 | | - |
53 | | - Licensed under the Apache License, Version 2.0 (the "License"); |
54 | | - you may not use this file except in compliance with the License. |
55 | | - You may obtain a copy of the License at |
56 | | - |
57 | | - https://www.apache.org/licenses/LICENSE-2.0 |
58 | | - |
59 | | - Unless required by applicable law or agreed to in writing, software |
60 | | - distributed under the License is distributed on an "AS IS" BASIS, |
61 | | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
62 | | - See the License for the specific language governing permissions and |
63 | | - limitations under the License. |
| 39 | +Feast is a community project and is still under active development. Your feedback and contributions are important to us. Please have a look at our [contributing guide](CONTRIBUTING.md) for details. |
0 commit comments