メインコンテンツまでスキップ

Databricks 機能ストア

Databricks Feature Store は、AI および機械学習モデルで使用される特徴量のための中央レジストリです。Unity Catalogに特徴量やモデルを登録すると、組み込みのガバナンス、リネージ、ポイントインタイム結合、およびワークスペース間の特徴量の共有と検出を利用できます。

2 つの戦略を使用して特徴量をオーサリングできます。

どちらも、Online Feature Store (ベータ版) に公開される Unity Catalog で管理された特徴量を生成します。「オーサリング戦略の選択」を参照してください。GCP ではサードパーティのオンラインストアはサポートされていないことに注意してください。

Databricks では、モデルトレーニングワークフロー全体が単一のプラットフォームで行われます。これには以下が含まれます:

  • 生データを取り込み、特徴量テーブルを作成し、モデルをトレーニングし、バッチ推論を実行するデータ パイプライン。
  • ワンクリックで利用でき、数ミリ秒のレイテンシを実現するモデルサービングエンドポイントおよび特徴量サービングエンドポイント。
  • データとモデルのモニタリング。

Databricks Feature Storeの機能をトレーニングするモデルに使用すると、モデルはトレーニングで使用された機能へのリネージを自動的に追跡します。 推論時には、モデルは最新の特徴量値を自動的に検索します。Databricks Feature Storeは、リアルタイムアプリケーション向けの機能のオンデマンド計算も提供し、すべての機能計算タスクを処理します。これにより、トレーニング/サービングのスキューが排除され、推論で使用される特徴の計算がモデルのトレーニング中に使用されるものと同じになることが保証されます。 また、すべての機能検索と計算はDatabricks Feature Storeによって処理されるため、クライアント側のコードも大幅に簡素化されます。

注記

このページではUnity Catalogで有効になっているワークスペース用のDatabricks Feature Storeについて説明します。 ワークスペースがUnity Catalogに対して有効になっていない場合は、 「ワークスペースFeature Store (非推奨)」を参照してください。

概念の概要​

Databricks Feature Store のしくみの概要と用語集については、Databricks Feature Store の概要と用語集を参照してください。

オーサリング戦略を選択する​

Feature Store は、特徴量をオーサリングする 2 つの方法をサポートしています。どちらも Unity Catalog で管理される特徴量を作成し、どちらも Online Feature Store に公開できます。一般的に、ほとんどの新しいケースでは Feature Views が推奨されますが、柔軟なマルチステージのバッチワークロードには特徴量テーブルが最適です。

戦略

どのようなタスクにベストなのか

仕組み

機能ビュー (推奨)

ほとんどの新規プロジェクト、時間枠集約、およびストリーミング機能。

Unity Catalog Feature オブジェクトとして特徴量を宣言的に定義します。Databricks は特徴量パイプラインを作成および管理します。ノートブックでローカルに定義された特徴量を登録する前にエクスペリメントを行い、特徴量パイプラインをマテリアライズできます。ストリーム特徴量ビューは、リアルタイムモードからオンライン特徴量ストア(ベータ版)への直接書き込みにより、サブ秒単位の最新の特徴量データをサポートします。

特徴量テーブル

LakeflowまたはSpark宣言型パイプラインを使用してコンピュートする機能、およびDelta Sharingや一般提供(GA)のみのオーサリングパスを必要とするワークロード。

主キーを持つ Unity Catalog 内の Delta テーブルに特徴量の値を書き込みます。テーブルにデータを入力し、更新するパイプラインはユーザーが所有しています。

戦略

どのようなタスクにベストなのか

仕組み

機能ビュー (推奨)

ほとんどの新規プロジェクト、時間枠集約、およびストリーミング機能。

Unity Catalog Feature オブジェクトとして特徴量を宣言的に定義します。Databricks は特徴量パイプラインを作成および管理します。ノートブックでローカルに定義された特徴量を登録する前にエクスペリメントを行い、特徴量パイプラインをマテリアライズできます。ストリーム特徴量ビューは、リアルタイムモードからオンライン特徴量ストア(ベータ版)への直接書き込みにより、サブ秒単位の最新の特徴量データをサポートします。

特徴量テーブル

LakeflowまたはSpark宣言型パイプラインを使用してコンピュートする機能、およびDelta Sharingや一般提供(GA)のみのオーサリングパスを必要とするワークロード。

主キーを持つ Unity Catalog 内の Delta テーブルに特徴量の値を書き込みます。テーブルにデータを入力し、更新するパイプラインはユーザーが所有しています。

機能を開発する​

機能

説明

特徴量ビュー

Feature Viewsを使用して、時間ウィンドウ集計やストリーミング特徴量を含む特徴量を宣言的に定義およびコンピュートします。

フィーチャービューをマテリアライズ

オフラインのトレーニングまたはオンラインでのサービングのために特徴量ビューをマテリアライズします。

エンティティの特徴量の値をパージします。

選択したエンティティのマテリアライズ済み特徴量値を、オフラインストアとオンラインストアから削除します。

Unity Catalog の特徴量テーブル

特徴量テーブルを作成して操作します。

機能

説明

特徴量ビュー

Feature Viewsを使用して、時間ウィンドウ集計やストリーミング特徴量を含む特徴量を宣言的に定義およびコンピュートします。

フィーチャービューをマテリアライズ

オフラインのトレーニングまたはオンラインでのサービングのために特徴量ビューをマテリアライズします。

エンティティの特徴量の値をパージします。

選択したエンティティのマテリアライズ済み特徴量値を、オフラインストアとオンラインストアから削除します。

Unity Catalog の特徴量テーブル

特徴量テーブルを作成して操作します。

機能の発見と共有​

機能

説明

Unity Catalogで特徴量テーブルを探索する

カタログエクスプローラーと機能UIを使用して特徴量テーブルを探索および管理します。

特徴量テーブルとUnity Catalogの機能を含むタグを使用する

シンプルなキーと値のペアを使用して、特徴量テーブルと機能を分類および管理します。

Unity Catalog の Feature Views を調べる

Databricks UIでFeature Viewの定義とマテリアライゼーションステータスを閲覧します。

機能

説明

Unity Catalogで特徴量テーブルを探索する

カタログエクスプローラーと機能UIを使用して特徴量テーブルを探索および管理します。

特徴量テーブルとUnity Catalogの機能を含むタグを使用する

シンプルなキーと値のペアを使用して、特徴量テーブルと機能を分類および管理します。

Unity Catalog の Feature Views を調べる

Databricks UIでFeature Viewの定義とマテリアライゼーションステータスを閲覧します。

トレーニングワークフローでの機能の使用​

機能

説明

特徴量テーブルでモデルをトレーニングする

特徴を使用してモデルをトレーニングします。

ポイントインタイム機能結合

ポイントインタイムの正確性を使用して、ラベル観測が記録された時点の特徴値を反映するトレーニング データセットを作成します。

特徴量エンジニアリング Python API

Python API リファレンス

機能

説明

特徴量テーブルでモデルをトレーニングする

特徴を使用してモデルをトレーニングします。

ポイントインタイム機能結合

ポイントインタイムの正確性を使用して、ラベル観測が記録された時点の特徴値を反映するトレーニング データセットを作成します。

特徴量エンジニアリング Python API

Python API リファレンス

特徴量のガバナンスとリネージ​

機能

説明

特徴量のガバナンスのリネージ

Unity Catalog を使用して、特徴量テーブルへのアクセスを制御し、特徴量テーブル、モデル、または関数のリネージを表示します。

機能

説明

特徴量のガバナンスのリネージ

Unity Catalog を使用して、特徴量テーブルへのアクセスを制御し、特徴量テーブル、モデル、または関数のリネージを表示します。

チュートリアル​

チュートリアル

説明

開始するためのノートブックの例

基本的なノートブック 。特徴量テーブルを作成し、それを使用してモデルをトレーニングし、自動特徴量ルックアップを使用してバッチスコアリングを実行する方法を示します。 また、特徴を検索してリネージを表示するための Feature エンジニアリング UI も表示されます。

Taxi example ノートブック . 特徴の作成、更新、モデルのトレーニングとバッチ推論に使用するプロセスを示します。

チュートリアル

説明

開始するためのノートブックの例

基本的なノートブック 。特徴量テーブルを作成し、それを使用してモデルをトレーニングし、自動特徴量ルックアップを使用してバッチスコアリングを実行する方法を示します。 また、特徴を検索してリネージを表示するための Feature エンジニアリング UI も表示されます。

Taxi example ノートブック . 特徴の作成、更新、モデルのトレーニングとバッチ推論に使用するプロセスを示します。

必要条件​

Databricks Feature Storeを使用するには、ワークスペースでUnity Catalogが有効になっている必要があります。 ワークスペースがUnity Catalogに対して有効になっていない場合は、 「ワークスペースFeature Store (非推奨)」を参照してください。

サポートされているデータ型​

Databricks Feature Storeとレガシー ワークスペースFeature Store 、次のPySparkデータ型をサポートしています。

  • IntegerType
  • FloatType
  • BooleanType
  • StringType
  • DoubleType
  • LongType
  • TimestampType
  • DateType
  • ShortType
  • ArrayType
  • BinaryType [1]
  • DecimalType [1]
  • MapType [1]
  • StructType [2]

[1] BinaryType、DecimalType、MapTypeは、 Unity Catalogでの特徴量エンジニアリングのすべてのバージョンと、ワークスペース Feature Store v0.3.5 以降でサポートされています。[2] Feature エンジニアリング v0.6.0 以降で StructType がサポートされています。

上記のデータ型は、機械学習アプリケーションで一般的な機能の種類をサポートしています。 例えば:

  • 密なベクトル、テンソル、および埋め込みは、次のように格納できます ArrayType。
  • スパース ベクトル、テンソル、および埋め込みは、次のように格納 MapType。
  • テキストは StringTypeとして保存できます。

オンライン ストアに公開すると、 ArrayType と MapType のフィーチャは JSON 形式で保存されます。

Feature Store UI には、フィーチャ データ タイプのメタデータが表示されます。

複合データ型の例

詳細情報​

ベストプラクティスの詳細については、 The Comprehensive Guide to Feature Storesをダウンロードしてください。