关于 Vertex AI Feature Store

Vertex AI Feature Store 是一项代管式云原生特征存储服务,它是 Vertex AI 不可或缺的一部分。它允许您在 BigQuery 表或视图中管理特征数据,从而简化了机器学习特征管理和在线传送流程。然后,您可以直接从 BigQuery 数据源在线传送特征。

Vertex AI Feature Store 预配了资源,让您通过指定特征数据源即可设置在线传送。然后,它充当接入 BigQuery 数据源的元数据层,直接从 BigQuery 传送最新的特征值,以便以低延迟方式进行在线预测。

在 Vertex AI Feature Store 中,包含特征数据的 BigQuery 表或视图共同形成离线存储区。您可以在离线存储区中维护特征值,包括历史特征数据。由于所有特征数据都在 BigQuery 中维护,因此 Vertex AI Feature Store 不需要在 Vertex AI 中预配单独的离线存储区。此外,如果要使用离线存储区中的数据来训练机器学习模型,则可以使用 BigQuery 中的 API 和功能来导出或提取数据。

使用 Vertex AI Feature Store 设置和开始在线传送的工作流总结如下:

  1. 在 BigQuery 中准备数据源。

  2. 可选:通过创建特征组和特征来注册数据源。

  3. 设置在线存储区和特征视图资源,以将特征数据源与在线服务集群连接起来。

  4. 从特征视图在线传送最新特征值。

Vertex AI Feature Store 数据模型和资源

本部分介绍与 Vertex AI Feature Store 的以下方面相关的数据模型和资源:

在 BigQuery 中准备数据源

在在线传送期间,Vertex AI Feature Store 会使用来自 BigQuery 数据源的特征数据。在设置特征注册表或在线传送资源之前,您必须将特征数据存储在一个或多个 BigQuery 表或视图中。

在 BigQuery 表或视图中,每一列表示一个特征。每行包含与唯一 ID 对应的特征值。如需详细了解如何在 BigQuery 中准备特征数据,请参阅准备数据源

例如,在图 1 中,BigQuery 表包含以下列:

  • f1f2:特征列。

  • entity_id:包含用于标识每项特征记录的唯一 ID 的 ID 列。

  • feature_timestamp:时间戳列。

包含采用时序格式的 f1 和 f2 特征的特征视图。
图 1. BigQuery 数据源示例。

由于您在 BigQuery(而不是 Vertex AI)中准备数据源,因此在此阶段无需创建任何 Vertex AI 资源。

设置特征注册表

在 BigQuery 中准备好数据源后,您可以在特征注册表中注册这些数据源(包括特定特征列)。

注册特征是可选操作。即使您没有将 BigQuery 数据源添加到特征注册表,也可以在线传送特征。但在以下情况下,注册特征是有利的:

  • 您的数据可能包含同一实体 ID 的多个实例,您需要通过时间戳列准备时间序列格式的数据。注册特征时,Vertex AI Feature Store 会查找时间戳,并仅传送最新的特征值。

  • 您希望从数据源注册特定的特征列。

  • 您希望聚合来自多个数据源的特定列以定义特征视图实例。

特征注册表资源

如需在特征注册表中注册特征数据,您需要创建以下 Vertex AI Feature Store 资源:

  • 特征组 (FeatureGroup):FeatureGroup 资源与特定 BigQuery 源表或视图相关联。它代表特征列的逻辑分组,这些特征列由 Feature 资源表示。如需了解如何创建特征组,请参阅创建特征组

  • 特征 (Feature):Feature 资源代表一个特定列,其中包含特征数据源中与该资源的父 FeatureGroup 资源关联的特征值。如需了解如何在特征组中创建特征,请参阅创建特征

例如,图 2 展示了一个特征组(包括特征列 f1f2),这两个特征列源自与该特征组关联的 BigQuery 表。BigQuery 数据源包含四个特征列,两列聚合形成了特征组。

包含采用时序格式的 f1 和 f2 特征的特征组。
图 2. 包含源自 BigQuery 数据源的两个 Feature 列的 FeatureGroup 示例。

设置在线传送

如需传送特征以进行在线预测,您必须定义和配置至少一个在线传送集群,并将其与特征数据源或特征注册表资源关联。在 Vertex AI Feature Store 中,在线传送集群称为“在线存储区”实例。在线存储区实例可以包含多个特征视图实例,其中每个特征视图都与特征数据源相关联。

在线传送资源

如需设置在线传送,您必须创建以下 Vertex AI Feature Store 资源:

  • 在线存储区 (FeatureOnlineStore):FeatureOnlineStore 资源代表在线传送集群实例,包含在线传送配置,例如在线传送节点的数量。在线存储区实例未指定特征数据的来源,但包含 FeatureView 资源,该资源用于指定 BigQuery 或特征注册表中的特征数据源。如需了解如何创建在线存储区实例,请参阅创建在线存储区实例

  • 特征视图 (FeatureView):FeatureView 资源是在线存储区实例中特征的逻辑集合。创建特征视图时,您可以通过以下任一方式指定特征数据源的位置:

    • 与特征注册表中的一个或多个特征组和特征相关联。特征组指定 BigQuery 数据源的位置。特征组中的特征指向该数据源中的特定特征列。

    • 或者,关联 BigQuery 源表或视图。

    如需了解如何在在线存储区中创建特征视图实例,请参阅创建特征视图

例如,图 3 说明了包含特征列 f2f4 的特征视图,这些特征列源自与 BigQuery 表关联的两个单独特征组。

包含源自两个特征组的特征 f2 和 f4 的特征视图。
图 3. 包含两个单独特征组中的特征的 FeatureView 示例。

在线服务

Vertex AI Feature Store 提供了以下类型的在线传送进行实时在线预测:

  • Cloud Bigtable 在线传送适用于传送大量数据(TB 级数据)。它与 Vertex AI Feature Store(旧版)中的在线传送类似,但提供了改进的缓存来缓解 hotspotting 问题。

  • 优化的在线传送(预览版)可让您以超低延迟在线传送特征。请注意,虽然在线传送延迟时间取决于工作负载,但优化的在线传送的延迟时间比 Bigtable 在线传送更短,因此建议用于大多数场景。但是,如果您需要传送频繁更新的大量数据,请使用 Bigtable 在线传送。

    如需使用优化的在线传送,您需要配置公共端点或专用 Private Service Connect 端点。

如需了解如何在设置特征后在 Vertex AI Feature Store 中设置在线传送,请参阅在线传送类型

用于批量预测或模型训练的离线传送

由于您无需将特征数据从 BigQuery 复制或导入到 Vertex AI 中单独的离线存储区,因此可以使用 BigQuery 的数据管理和导出功能执行以下操作:

如需详细了解如何使用 BigQuery 进行机器学习,请参阅 BigQuery ML 简介

Vertex AI Feature Store 术语

特征工程
  • 特征工程是指将原始机器学习 (ML) 数据转换为可用于训练机器学习模型或进行预测的特征的过程。

特征
  • 在机器学习 (ML) 中,特征是指实例或实体(用作训练机器学习模型或进行预测的输入)的特点或属性。

特征值
  • 特征值对应于实例或实体的特征(属性)的实际可衡量值。唯一实体的特征值集合表示与该实体对应的特征记录。

特征时间戳
  • 特征时间戳指示实体的特定特征记录中一组特征值的生成时间。

特征记录
  • 特征记录是所有特征值的聚合,用于描述特定时间点的唯一实体属性。

与特征注册表相关的术语

特征注册表
  • 特征注册表是一个中央界面,用于记录您要用于在线预测的特征数据源。

特征组
  • 特征组是指与包含特征数据的 BigQuery 源表或视图对应的特征注册表资源。特征视图可能包含特征,可视作数据源中特征列的逻辑分组。

特征传送
  • 特征传送是导出或提取存储特征值以用于训练或推理的过程。在 Vertex AI 中,有两种类型的特征传送:在线传送和离线传送。在线传送检索部分特征数据源的最新特征值来进行在线预测。离线或批量传送则是导出大量特征数据进行离线处理,例如机器学习模型训练。

离线存储区
  • 离线存储区是存储近期和历史特征数据的存储设施,通常用于训练机器学习模型。离线存储区还包含最新的特征值,可用于在线预测。

在线存储区
  • 在特征管理中,在线存储区是存储用于在线预测的最新特征值的存储设施。

特征视图
  • 特征视图是从 BigQuery 数据源具体化为在线存储区实例的特征的逻辑集合。特征视图会存储并定期刷新客户的特征数据,这些数据会定期从 BigQuery 源刷新。特征视图通过与特征注册表资源关联来与特征数据存储空间关联或直接与其关联。

位置限制条件

所有 Vertex AI Feature Store 资源都必须与 BigQuery 数据源位于同一区域或多区域位置。例如,如果特征数据源位于 us-central1,则您只能在 us-central1US 多区域位置创建 FeatureOnlineStore 实例。

特征元数据

Vertex AI Feature Store 与 Dataplex 集成以提供特征治理功能,包括特征元数据。在线存储区实例、特征视图和特征组会自动注册为 Data Catalog 中的数据资产,Data Catalog 是一项 Dataplex 功能,用于对这些资源的元数据进行编目。然后,您可以使用 Dataplex 的元数据搜索功能搜索、查看和管理这些资源的元数据。如需详细了解如何在 Dataplex 中搜索 Vertex AI Feature Store 资源,请参阅在 Data Catalog 中搜索资源元数据

特征标签

您可以在资源创建期间或之后为资源添加标签。如需详细了解如何为现有 Vertex AI Feature Store 资源添加标签,请参阅更新标签

资源版本元数据

Vertex AI Feature Store 仅支持特征的版本 0

嵌入管理和矢量检索

Vertex AI Feature Store 支持嵌入管理。您可以将嵌入作为常规 double 数组存储在 BigQuery 中。使用 Vertex AI Feature Store 的嵌入管理功能,您可以执行向量相似度搜索,以检索作为指定实体或嵌入值的近似最近邻的实体。

如需在 Vertex AI Feature Store 中使用嵌入管理,您需要执行以下操作:

  • 通过添加 embedding 列,设置 BigQuery 数据源以支持嵌入。(可选)添加过滤和数量上限列。如需了解详情,请参阅数据源准备准则

  • 创建支持嵌入管理的在线存储区实例。如需详细了解如何创建支持嵌入管理的在线存储区实例,请参阅为在线存储区配置嵌入管理

  • 在创建特征视图时指定 embedding 列。如需详细了解如何创建支持嵌入的特征视图,请参阅为特征视图配置矢量检索

如需了解如何在 Vertex AI Feature Store 中执行向量相似度搜索,请参阅对实体执行向量搜索

数据保留

Vertex AI Feature Store 根据与数据源中的特征值关联的时间戳,保留唯一 ID 的最新特征值。在线存储区中没有数据保留限制。

由于离线存储区由 BigQuery 预配,因此 BigQuery 中的数据保留限制或配额可能适用于特征数据源,包括历史特征值。详细了解 BigQuery 中的配额和限制

配额和限制

Vertex AI Feature Store 实施配额和限制,以帮助您通过设置用量限额来管理资源,并通过避免意外的用量激增来保护 Google Cloud 用户群体。如需高效地使用 Vertex AI Feature Store 资源而不会达到这些限制,请查看 Vertex AI Feature Store 配额和限制

价格

如需了解 Vertex AI Feature Store 的资源用量价格,请参阅 Vertex AI Feature Store 价格

笔记本教程

使用 Vertex AI Feature Store 对 BigQuery 数据进行在线特征传送和提取

使用 Vertex AI Feature Store 对 BigQuery 数据进行在线特征传送和提取

在本笔记本中,您将学习如何使用 Vertex AI Feature Store 在线传送和提取 BigQuery 中的特征值。

在 Colab 中运行 | 在 GitHub 上查看

使用 Vertex AI Feature Store(预览版)对 BigQuery 数据进行在线特征传送和向量检索

使用 Vertex AI Feature Store 对 BigQuery 数据进行在线特征传送和向量检索

在本笔记本中,您将学习如何使用 Vertex AI Feature Store 在线传送和矢量检索 BigQuery 中的特征值。

在 Colab 中运行 | 在 GitHub 上查看

使用 Vertex AI Feature Store 优化的传送(预览版)对 BigQuery 数据进行在线特征传送和提取

使用 Vertex AI Feature Store 优化的传送对 BigQuery 数据进行在线特征传送和提取

在此笔记本中,您将学习如何使用 Vertex AI Feature Store 中优化的在线传送,从 BigQuery 传送和提取特征值。

在 Colab 中运行 | 在 GitHub 上查看

后续步骤