Vertex AI 中的特征管理简介

在机器学习 (ML) 中,特征是实例或实体的特征属性,可用于训练模型或进行在线预测。生成特征的方式是使用特征工程技术(通常称为特征转换)将原始机器学习数据转换为可衡量和可共享的属性。

特征管理是指创建、维护、共享和传送在集中位置或代码库中存储的机器学习特征的过程。通过特征管理可以更轻松地重复使用特征来训练和重新训练模型,从而缩短 AI 和机器学习部署的生命周期。

包含用于存储、发现、共享和传送机器学习特征的特征管理服务的产品或服务称为特征存储区。Vertex AI 包含以下特征存储区服务:

本页面介绍并比较了两种特征管理服务,并简要介绍了其功能。它还介绍了如何将 Vertex AI Feature Store(旧版)中的现有特征存储区迁移到新的 Vertex AI Feature Store。

Vertex AI Feature Store

Vertex AI Feature Store 提供了一种新的特征管理方法,让您可以维护和传送来自 BigQuery 数据源的特征数据。在此方法中,Vertex AI Feature Store 充当元数据层,为 BigQuery 中的特征数据源提供在线传送功能,并允许您基于该数据在线传送特征。您无需将数据复制或导入到 Vertex AI 中的单独离线存储区。

Vertex AI Feature Store 与 Dataplex 集成以跟踪特征元数据。它还支持嵌入,让您可以对最近邻执行向量相似度搜索。

Vertex AI Feature Store 进行了优化以实现超低延迟传送,可让您执行以下操作:

  • 利用 BigQuery 的数据管理功能,在 BigQuery 中存储和维护您的离线特征数据。

  • 通过将特征添加到特征注册表,共享和重复使用特征。

  • 使用 Bigtable 在线传送以低延迟或者使用优化的在线传送以超低延迟传送特征以进行在线预测。

  • 将嵌入存储在特征数据中并执行向量相似度搜索。

  • 在 Dataplex 中跟踪特征元数据。

如需详细了解 Vertex AI Feature Store,请参阅 Vertex AI Feature Store 文档

Vertex AI Feature Store(旧版)

Vertex AI Feature Store(旧版)提供了一个中央存储库,用于存储、整理和传送机器学习特征数据。它预配了一个资源层次结构,其中封装了 Vertex AI 中的在线存储区和离线存储区。在线存储区传送最新特征值进行在线预测。离线存储区存储并维护可批量传送的特征数据(包括历史数据)以用于训练机器学习模型。

Vertex AI Feature Store(旧版)是一项功能齐全的特征管理服务,可让您执行以下操作:

  • 将特征数据从 Cloud Storage 存储桶或 BigQuery 来源等数据源批量或流式导入)导入离线存储区。

  • 在线传送特征以进行预测。

  • 批量传送或导出特征以用于机器学习模型训练或分析。

  • EntityTypeFeaturestore 资源设置 Identity and Access Management (IAM) 政策。

  • 从 Google Cloud 控制台管理特征存储区资源。

Vertex AI Feature Store(旧版)不包括嵌入管理或向量检索功能。如果您需要管理特征数据中的嵌入或执行向量相似度搜索,请考虑改用 Vertex AI Feature Store。如需了解如何迁移到 Vertex AI Feature Store,请参阅迁移到 Vertex AI Feature Store

如需详细了解 Vertex AI Feature Store(旧版),请参阅 Vertex AI Feature Store(旧版)文档

Vertex AI Feature Store 和 Vertex AI Feature Store(旧版)之间的比较

下表比较了 Vertex AI Feature Store(旧版)和新版 Vertex AI Feature Store 的各个方面:

类别 Vertex AI Feature Store Vertex AI Feature Store(旧版)
数据模型
资源层次结构(在线和离线存储区) 在线存储区中的资源层次结构如下所示:FeatureOnlineStore -> FeatureView
  • FeatureOnlineStore 仅包含在线存储区和检索的配置参数。它可包含多个 FeatureView 资源。
  • FeatureView 是在线传送请求中特征的逻辑分组。它是替换实体类型和特征的单个资源。特征视图中的数据反映了 BigQuery 存储空间中的最新特征值。
没有离线存储区资源,因为数据位于 BigQuery 中。
资源层次结构如下所示:Featurestore -> EntityType -> Feature
  • Featurestore 包含在线存储区和离线存储区的配置参数。它可包含多个 EntityType 资源。
  • EntityType 是语义上相关的特征的集合。它可以有多个称为实体的实例,这些实例可以包含多个 Feature 资源。
  • FeatureEntityType 的属性。
资源层次结构(特征注册表) 特征注册表中的资源层次结构如下所示:FeatureGroup -> Feature
  • FeatureGroup 用于注册 BigQuery 数据源的位置。它可包含多个 Feature 资源。
  • Feature 对应于数据源中向特征组注册的列。
Vertex AI Feature Store(旧版)中不存在特征注册表。
特征管理
在线和离线存储区 您需要创建一个在线存储区实例并定义特征视图。
Vertex AI Feature Store 不需要单独的离线存储区,因为 BigQuery 数据源构成了离线存储区。
预配特征存储区时,Vertex AI Feature Store(旧版)会创建单独的在线存储区和离线存储区。
特征导入 您无需将数据导入离线存储区,因为该数据位于 BigQuery 中,您可以直接使用它来满足离线需求。对于在线传送应用场景,您可以注册 BigQuery 表或以特征视图的形式查看,这会将特征数据复制到在线存储区。Vertex AI Feature Store 会在数据同步期间刷新在线存储区中的数据。 您需要从外部来源(例如 BigQuery 表或 BigQuery 视图)使用批量或流式导入功能,将特征数据导入离线和在线存储区。
在线和离线存储区之间的数据移动 Vertex AI Feature Store 使用 BigQuery 作为其离线存储区,并且仅将最新特征值复制到在线存储区。Vertex AI 中没有预配单独的离线存储区。 特征值会复制到离线存储区,然后复制到在线存储区。
特征传送
离线传送 要与离线存储区进行交互,您需要使用 BigQuery API。底层功能是相同的。 如需与由 Vertex AI Feature Store(旧版)管理的离线存储区进行交互,您需要使用 Vertex AI API。这些交互示例包括时间点查找和导出特征。
在线服务

Vertex AI Feature Store 提供了两种类型的在线传送:

  • Bigtable 在线传送与 Vertex AI Feature Store(旧版)中的在线传送类似,但改进了缓存,从而缓解 hotspotting 问题。它对于大量数据(TB 级数据)非常有用。
  • 优化的在线传送适用于超低延迟传送需求。

每个在线读取请求都会检索特征视图中的所有预设特征,而无需额外处理,从而缩短延迟时间。

Vertex AI Feature Store(旧版)仅提供一种类型的在线传送。您可以指定用于提取特征数据的实体和特征。
接口和 API
Google Cloud 控制台功能 使用 Google Cloud 控制台创建和管理资源,例如在线存储区实例、特征视图实例、特征组和特征。您还可以查看在线存储区列表和特征沿袭相关信息。 使用 Google Cloud 控制台可执行大多数特征管理任务,包括资源创建监控。
资源创建 API 包含用于创建 FeatureOnlineStoreFeatureViewFeatureGroupFeature 资源的 API。通过这些资源可以设置特征注册表和在线存储区。对离线存储区,使用了 BigQuery。 包括用于创建在线和离线存储区中使用的 FeaturestoreEntityTypeFeature 资源的 API。
批量导入 API(离线存储区) 不需要用于批量导入离线存储区的 API,因为不需要单独的离线存储区批量导入步骤。 使用 Vertex AI API 批量导入离线存储区。
批量导入 API(在线存储区) 在数据同步期间,定期将数据从 BigQuery 复制到在线存储区。 使用 Vertex AI API 批量导入在线存储区。
流式导入 API(离线存储区) 不需要用于流式导入离线存储区的 API,因为不需要单独的离线存储区流式导入步骤。 使用 Vertex AI 流式导入离线存储区。
流式导入 API(在线存储区) 不支持流式导入。 使用 Vertex AI API 流式导入在线存储区。
批量传送 API 使用 BigQuery API 直接从特征视图中定义的 BigQuery 数据源批量传送数据。 使用 Vertex AI API 批量传送特征数据。
在线传送 API 使用 FetchFeatureValues(FetchFeatureValuesRequest) API 使用 ReadFeatureValues(ReadFeatureValuesRequest) API 进行在线传送。

迁移到 Vertex AI Feature Store

Vertex AI Feature Store(旧版)资源和特征数据在 Vertex AI Feature Store 中尚不可用。如果您是 Vertex AI Feature Store(旧版)的现有用户,并且希望将项目迁移到 Vertex AI Feature Store,请执行以下步骤。请注意,由于 Vertex AI Feature Store 中的资源层次结构与 Vertex AI Feature Store(旧版)中的资源层次结构不同,因此您需要在迁移特征数据后手动创建资源。

  1. 如果 BigQuery 中尚无特征数据,请将特征数据导出到 BigQuery,并创建 BigQuery 表和视图。导出和准备数据时,请遵循数据准备准则。例如:

    • 每个特征对应一列。实体 ID 可以是单独的列,您可以识别为 ID 列。

    • Vertex AI Feature Store 没有 EntityTypeEntity 资源。提供实体 ID 对应的行中每个实体的特征值。

  2. 可选:通过添加特征组和特征来注册特征数据源。如需了解详情,请参阅创建特征组创建特征

  3. 通过根据特征数据创建在线存储区和特征视图实例来设置在线传送。

后续步骤