Vertex AI での特徴管理の概要

ML において、特徴とは、モデルのトレーニングやオンライン予測に使用できるインスタンスまたはエンティティの特性(属性)のことです。特徴は、特徴量エンジニアリングの手法を使用して、生の ML データを測定可能で共有可能な属性に変換することで生成されます。この手法は一般に特徴変換と呼ばれています。

特徴管理とは、作成された ML の特徴を一元化された場所またはリポジトリに格納し、維持、共有、提供するためのプロセスです。特徴管理により、モデルのトレーニングと再トレーニングで特徴の再利用が容易になり、AI と ML のデプロイのライフサイクルが短縮されます。

ML の特徴を格納、探索、共有、提供する特徴管理サービスを含むプロダクトまたはサービスは特徴ストアと呼ばれます。Vertex AI には、次の特徴ストアサービスが組み込まれています。

このページでは、この 2 つの特徴管理サービスの違いと機能の概要について説明します。また、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(従来版)は、ML の特徴データを格納、整理、提供するための一元化されたリポジトリを提供します。Vertex AI 内のオンライン ストアとオフライン ストアの両方をカプセル化するリソース階層をプロビジョニングします。オンライン ストアはオンライン予測の最新の特徴値を提供します。オフライン ストアは、ML モデルのトレーニング用にバッチ サービングできる特徴データ(履歴データを含む)を格納して維持します。

Vertex AI Feature Store(従来版)は完全な機能を備えた特徴管理サービスで、次の処理を行うことができます。

  • Cloud Storage バケットや BigQuery ソースなどのデータソースからオフライン ストアに特徴データをバッチまたはストリーミングでインポートする。

  • 予測用の特徴をオンラインで提供する。

  • ML モデルのトレーニングまたは分析に使用する特徴のバッチ サービングまたはエクスポートを行う。

  • EntityType リソースと Featurestore リソースに 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(従来版)に存在しません。
特徴管理
オンライン ストアとオフライン ストア オンライン ストア インスタンスを作成し、特徴ビューを定義する必要があります。
BigQuery データソースはオフライン ストアを構成するため、Vertex AI Feature Store に別のオフライン ストアは必要ありません。
特徴ストアをプロビジョニングすると、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 には、次の 2 種類のオンライン サービングが用意されています。

  • Bigtable オンライン サービング。これは、Vertex AI Feature Store(従来版)のオンライン サービングに似ていますが、ホットスポット化を軽減するためにキャッシュ機能が改善されています。大量のデータ(テラバイト規模のデータ)に適しています。
  • 最適化されたオンライン サービング。これは、超低レイテンシのサービングが必要な場合に適しています。

オンライン読み取りリクエストごとに、特徴ビュー内のプリセットの特徴をすべて取得するため、追加の処理が不要で、レイテンシが短縮されます。

Vertex AI Feature Store(従来版)で用意されているオンライン サービングは 1 種類のみです。特徴データを取得するエンティティと特徴を指定できます。
インターフェースと 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 データソースから直接データのバッチ サービングを行うには、BigQuery API を使用します。 特徴データのバッチ サービングを行うには、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 のテーブルとビューを作成します。データをエクスポートして準備する際は、データ準備のガイドラインに従ってください。例:

    • 各特徴は 1 つの列に対応しています。エンティティ ID は、ID 列として識別できる個別の列にすることができます。

    • Vertex AI Feature Store には、EntityType リソースと Entity リソースはありません。エンティティ ID に対応する行の各エンティティの特徴値を指定します。

  2. 省略可: 特徴グループと特徴を追加して、特徴データソースを登録します。詳細については、特徴グループを作成する特徴を作成するをご覧ください。

  3. 特徴データに基づいてオンライン ストア インスタンスと特徴ビュー インスタンスを作成して、オンライン サービングを設定します。

次のステップ