You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An Azure Machine Learning managed feature store lets you discover, create, and operationalize features. Features serve as the connective tissue in the machine learning lifecycle, starting from the prototyping phase, where you experiment with various features. That lifecycle continues to the operationalization phase, where you deploy your models, and use inference to look up feature data. For more information about feature stores, see [feature store concepts](./concept-what-is-managed-feature-store.md).
22
+
An Azure Machine Learning managed feature store lets you discover, create, and operationalize features. Features serve as the connective tissue in the machine learning lifecycle, starting from the prototyping phase, where you experiment with various features. That lifecycle continues to the operationalization phase, where you deploy your models, and inference steps look up the feature data. For more information about feature stores, see [feature store concepts](./concept-what-is-managed-feature-store.md).
23
23
24
24
Part 1 of this tutorial series showed how to create a feature set specification with custom transformations, and use that feature set to generate training data. Part 2 of the tutorial series showed how to enable materialization and perform a backfill. Part 3 of this tutorial series showed how to experiment with features, as a way to improve model performance. Part 3 also showed how a feature store increases agility in the experimentation and training flows. Part 4 described how to run batch inference.
25
25
26
26
In this tutorial, you'll
27
27
28
28
> [!div class="checklist"]
29
-
> * Set up an Azure Cache for Redis
29
+
> * Set up an Azure Cache for Redis.
30
30
> * Attach a cache to a feature store as the online materialization store, and grant the necessary permissions.
31
31
> * Materialize a feature set to the online store.
32
32
> * Test an online deployment with mock data.
@@ -80,7 +80,7 @@ To prepare the notebook environment for development:
80
80
81
81
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=root-dir)]
82
82
83
-
1. Initialize the `MLClient` for the project workspace, where this tutorial notebook runs. The `MLClient` is used for the create, read, update, and delete (CRUD) operations.
83
+
1. Initialize the `MLClient` for the project workspace, where the tutorial notebook runs. The `MLClient` is used for the create, read, update, and delete (CRUD) operations.
84
84
85
85
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=init-prj-ws-client)]
86
86
@@ -95,25 +95,25 @@ To prepare the notebook environment for development:
95
95
96
96
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=init-fs-core-sdk)]
97
97
98
-
## Prepare Azure cache for Redis
98
+
## Prepare Azure Cache for Redis
99
99
100
100
This tutorial uses Azure Cache for Redis as the online materialization store. You can create a new Redis instance, or reuse an existing instance.
101
101
102
102
1. Set values for the Azure Cache for Redis resource, to use as online materialization store. In this code cell, define the name of the Azure Cache for Redis resource to create or reuse. You can override other default settings.
103
103
104
104
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=redis-settings)]
105
105
106
-
1. You can create a new Redis instance. You would select the Redis cache tier (basic, standard, premium, or enterprise). Choose an SKU family available for the cache tier you select. For more information about tiers and cache performance, see [this resource](../azure-cache-for-redis/cache-best-practices-performance.md). For more information about SKU tiers and Azure cache families, see [this resource](https://azure.microsoft.com/pricing/details/cache/).
106
+
1. You can create a new Redis instance. You would select the Redis Cache tier (basic, standard, premium, or enterprise). Choose an SKU family available for the cache tier you select. For more information about tiers and cache performance, see [this resource](../azure-cache-for-redis/cache-best-practices-performance.md). For more information about SKU tiers and Azure cache families, see [this resource](https://azure.microsoft.com/pricing/details/cache/).
107
107
108
-
Execute this code cell to create an Azure Cache for Redis with premium tier, SKU family `P`, and cache capacity 2. It may take from five to 10 minutes to prepare the Redis instance.
108
+
Execute this code cell to create an Azure Cache for Redis with premium tier, SKU family `P`, and cache capacity 2. It may take from five to 10 minutes to prepare the Redis instance.
109
109
110
-
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=provision-redis)]
110
+
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=provision-redis)]
111
111
112
-
1.Additionally, this code cell reuses an existing Redis instance with the previously defined name.
112
+
1.Optionally, this code cell reuses an existing Redis instance with the previously defined name.
113
113
114
114
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=reuse-redis)]
115
115
116
-
1. Retrieve the user-assigned managed identity (UAI) used that the feature store used for materialization. This code cell retrieves the principal ID, client ID, and ARM ID property values for the UAI used by the feature store for data materialization.
116
+
1. Retrieve the user-assigned managed identity (UAI) that the feature store used for materialization. This code cell retrieves the principal ID, client ID, and ARM ID property values for the UAI used by the feature store for data materialization.
117
117
118
118
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=retrieve-uai)]
119
119
@@ -137,7 +137,7 @@ Earlier in this tutorial series, you did **not** materialize the accounts featur
137
137
138
138
### Backfill the `account` feature set
139
139
140
-
The `backfill` command backfills data to all the materialization stores enabled for this feature set. Here offline and online materialization are both enabled. In this code cell, `backfill` proceeds on both offline and online materialization stores.
140
+
The `begin_backfill` function backfills data to all the materialization stores enabled for this feature set. Here offline and online materialization are both enabled. This code cell backfills the data to both online and offline materialization stores.
141
141
142
142
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=start-accounts-backfill)]
143
143
@@ -153,17 +153,17 @@ Earlier in this tutorial series, you materialized `transactions` feature set dat
153
153
154
154
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=enable-transact-material)]
155
155
156
-
1. This code cell backfills the data to both the online and offline materialization store, to ensure that both cells have the latest data. The recurrent materialization job, which we set up in tutorial 2 of this series, now materializes data to both online and offline materialization stores.
156
+
1. This code cell backfills the data to both the online and offline materialization store, to ensure that both stores have the latest data. The recurrent materialization job, which you set up in tutorial 2 of this series, now materializes data to both online and offline materialization stores.
157
157
158
158
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=start-transact-material)]
159
159
160
-
This code cell tracks completion of the backfill job. Using the premium tier Azure Cache for Redis provisioned earlier, this step may take approximately 3-4 minutes to complete.
160
+
This code cell tracks completion of the backfill job. Using the premium tier Azure Cache for Redis provisioned earlier, this step may take approximately five minutes to complete.
161
161
162
162
[!notebook-python[] (~/azureml-examples-main/sdk/python/featurestore_sample/notebooks/sdk_only/5. Enable online store and run online inference.ipynb?name=track-transact-material)]
163
163
164
164
## Test locally
165
165
166
-
Use your development environment to look up features from the online materialization store. This notebook can serve as a valid development environment.
166
+
Now, use your development environment to look up features from the online materialization store. The tutorial notebook attached to **Serverless Spark Compute** serves as the development environment.
167
167
168
168
This code cell parses the list of features from the existing feature retrieval specification.
169
169
@@ -193,7 +193,7 @@ This step involves these actions:
193
193
1. Create an Azure Machine Learning managed online endpoint.
194
194
1. Grant required role-based access control (RBAC) permissions.
195
195
1. Deploy the model that you trained in the tutorial 3 of this tutorial series. The scoring script used in this step has the code to look up online features.
196
-
1. Score the model with sample data. The endpoint looked up the online features, and that the model scoring completed successfully.
0 commit comments