数据模型和资源

以下部分介绍了 Vertex AI Feature Store(旧版)数据模型,以及用于描述 Vertex AI Feature Store(旧版)资源和组件的术语。

Vertex AI Feature Store(旧版)数据模型

Vertex AI Feature Store(旧版)使用时间序列数据模型来存储一系列特征值。此模型使 Vertex AI Feature Store(旧版)能够在特征值随时间变化时保留它们。Vertex AI Feature Store(旧版)按以下顺序分层整理资源:Featurestore -> EntityType -> Feature。您必须先创建这些资源,然后才能将数据导入到 Vertex AI Feature Store(旧版)。

例如,假设您使用以下来自 BigQuery 表的示例源数据。此源数据与影片及其特征有关。

显示源数据如何映射到 Vertex AI Feature Store(旧版)数据模型

在将数据导入到 Vertex AI Feature Store(旧版)之前,您需要创建一个特征存储区,该特征存储区是其他所有资源的顶层容器。在特征存储区中,创建实体类型以分组和包含相关特征。然后,您可以创建特征以映射到源数据中的特征。实体类型和特征的名称可以反映列标题名称,但这不是必需的。

在此示例中,movie_id 列标题可以映射到实体类型 movieaverage_ratingtitlegenremovie 实体类型的特征。每一列中的值映射到实体类型的特定实例或特征(称为实体和特征值)。

时间戳列表明特征值的生成时间。在特征存储区中,时间戳是特征值的特性,而不是单独的资源类型。如果所有特征值都是同时生成的,则可以不需要时间戳列。您可以在导入请求中指定时间戳。

特征存储区

特征存储区是实体类型、特征和特征值的顶层容器。通常,组织创建一个共享特征存储区,以在组织的所有团队中导入、传送和分享特征。不过,有时您可能会选择在同一项目中创建多个特征存储区以隔离环境。例如,您可能有不同的用于实验、测试和生产的特征存储区。

实体类型

实体类型是一组语义上相关的特征。您可以根据与用例相关的概念定义自己的实体类型。例如,影片服务可能具有实体类型 movieuser,可对与影片或客户对应的相关特征进行分组。

实体

实体是实体类型的实例。例如,movie_01movie_02movie 实体类型的实体。在特征存储区中,每个实体必须具有唯一 ID,并且必须是 STRING 类型。

特征

特征是实体类型的可衡量属性或特性。例如,movie 实体类型具有 average_ratingtitle 等特征,用于跟踪影片的各种属性。特征与实体类型相关联。在一个给定的实体类型中,特征必须互不相同,但特征不需要是全局唯一的。例如,如果您为两个不同的实体类型使用 title,Vertex AI Feature Store(旧版)会将 title 解释为两个不同的特征。读取特征值时,您需要在请求中提供特征及其实体类型。

创建特征时,您需要指定其值类型,例如 BOOL_ARRAYDOUBLEDOUBLE_ARRAYSTRING。此值决定了您可以为特定特征导入的值类型。如需详细了解受支持的值类型,请参阅 API 参考文档中的 valueType

特征值

Vertex AI Feature Store(旧版)会在特定时间点捕获特征值。换言之,给定实体和特征可以具有多个值。例如,movie_01 实体可以具有多个 average_rating 特征值。该值在某个时间可以是 4.4,而在稍后某个时间可以是 4.8。Vertex AI Feature Store(旧版)会将元组标识符与每个特征值(entity_idfeature_idtimestamp)相关联,以供 Vertex AI Feature Store(旧版)在传送时用来查询值。

尽管时间是连续的,但 Vertex AI Feature Store(旧版)存储离散值。当您在 t 时请求特征值,Vertex AI Feature Store(旧版)会返回 t 当时或之前的最新存储值。例如,如果 Vertex AI Feature Store(旧版)存储了一辆汽车在时间 100110 的位置信息,那么时间 100 的位置将用于 100(含)到 110(不含)之间的所有时间的请求。如果您需要更高的分辨率,则可以推断值之间的位置或提高数据的采样率。

特征导入

特征导入是将特征工程作业计算的特征值导入特征存储区的过程。在导入数据之前,您必须在特征存储区中定义相应的实体类型和特征。Vertex AI Feature Store(旧版)提供批量导入和流式导入功能,您可以批量或实时添加特征值。

例如,您可能计算了位于 BigQuery 或 Cloud Storage 等位置的源数据。您可以将这些来源的数据批量导入到一个中央特征存储区,以便以统一的格式传送这些特征值。随着源数据发生更改,您可以使用流式导入快速将这些更改导入到特征存储区中。这样,您就获得了可用于在线传送场景的最新数据。

如需了解详情,请参阅批量导入特征值流式导入

特征传送

特征传送是导出存储特征值以用于训练或推断的过程。Vertex AI Feature Store(旧版)提供了两种传送特征的方法:批量和在线。批量传送用于高吞吐量工作,并传送大量数据以供离线处理(例如模型训练或批量预测)。在线传送用于小批量检索数据,以进行实时处理(如进行在线预测)。

如需了解详情,请参阅在线批量传送。

实体视图

从特征存储区检索值时,服务会返回一个实体视图,其中包含您请求的特征值。您可以将实体视图看作 Vertex AI Feature Store(旧版)从在线或批量传送请求返回的特征和值:

  • 对于在线传送请求,您可以获取特定实体类型的全部或部分特征。
  • 对于批量传送请求,您可以获取一个或多个实体类型的全部或部分特征。例如,如果特征分布在多个实体类型上,您可以在单个请求中同时检索这些特征,以将这些特征组合在一起。然后,您可以使用结果提供给机器学习或批量预测请求。

导出数据

Vertex AI Feature Store(旧版)可让您从特征存储区导出数据,以便备份和归档特征值。您可以选择导出最新的特征值(快照)或导出一系列值(完整导出)。如需了解详情,请参阅导出特征值

后续步骤