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

特徴エンジニアリングとサービング

このページでは、Unity Catalog で有効になっているワークスペースの特徴エンジニアリングとサービス機能について説明します。 ワークスペースが Unity Catalogに対して有効になっていない場合は、「 ワークスペース Feature Store (レガシー)」を参照してください。

なぜ Databricks をフィーチャーストアとして使用するのか?

Databricks Data Intelligence Platform では、モデルトレーニングワークフロー全体が 1 つのプラットフォームで行われます。

  • 生データを取り込み、特徴量テーブルを作成し、モデルをトレーニングし、バッチ推論を実行するデータ パイプライン。 Unity Catalogの特徴量エンジニアリングを使用してモデルをトレーニングしてログに記録すると、モデルは特徴量のメタデータとともにパッケージ化されます。 モデルをバッチ スコアリングまたはオンライン推論に使用すると、特徴値が自動的に取得されます。 呼び出し元は、それらについて知る必要はなく、新しいデータをスコアリングするためにフィーチャを検索または結合するロジックを含める必要もありません。
  • ワンクリックで利用でき、数ミリ秒のレイテンシを実現するモデルサービング年度ポイントおよび特徴量サービングエンドポイント。
  • データとモデルのモニタリング。

さらに、このプラットフォームには次の機能があります。

  • 特徴量の発見。 Databricks UI で特徴量を参照および検索できます。
  • ガバナンス。 特徴テーブル、関数、モデルはすべてUnity Catalogによって管理されます。 モデルをトレーニングすると、トレーニングに使用されたデータから権限が継承されます。
  • リネージ。Databricks で特徴量テーブルを作成すると、特徴量テーブルの作成に使用されたデータソースが保存され、アクセスできるようになります。 特徴量テーブルの各機能について、その機能を使用するモデル、ノートブック、ジョブ、エンドポイントにアクセスすることもできます。
  • ワークスペース間のアクセス。 特徴量テーブル、関数、およびモデルは、カタログにアクセスできるすべてのワークスペースで自動的に使用可能になります。

必要条件

  • ワークスペースでUnity Catalogが有効になっている必要があります。
  • Unity Catalog での特徴量エンジニアリングには、Databricks Runtime 13.3 LTS 以上が必要です。

ワークスペースがこれらの要件を満たしていない場合は、従来のワークスペース Feature Store の使用方法について、「 ワークスペース Feature Store (レガシ)」 を参照してください。

Databricksの特徴エンジニアリングはどのように機能しますか?

Databricks で特徴量エンジニアリングを使用する一般的な機械学習ワークフローは、次のパスに従います。

  1. 生データを特徴に変換するコードを記述し、目的の特徴を含む Spark DataFrame を作成します。
  2. Unity Catalog で Delta テーブルを作成します。 プライマリ・キーを持つ Delta ・テーブルは、自動的に特徴量テーブルになります。
  3. 特徴量テーブルを使用してトレーニングを行い、モデルをログに記録します。 これを行うと、モデルはトレーニングに使用される特徴量の仕様を保存します。 モデルを推論に使用すると、適切な特徴量テーブルからの特徴量が自動的に結合されます。
  4. Model Registry年に登録する モデル .

これで、モデルを使用して新しいデータの予測を行うことができます。 モデルは、必要な特徴量を Feature Store から自動的に取得します。

Feature Store ワークフロー バッチ機械学習のユースケース。

特徴エンジニアリングの使用を開始する — ノートブックの例

まず、これらのサンプルノートブックを試してください。 この基本的なコンピューター ステップでは、特徴量テーブルを作成し、それを使用してモデルをトレーニングし、自動特徴量検索を使用してバッチ スコアリングを実行する方法について説明します。 また、特徴量エンジニアリング UI を紹介し、それを使用して特徴量を検索する方法と、特徴量がどのように作成され使用されるかを理解する方法を示します。

Basic Unity Catalogでの特徴量エンジニアリング example ノートブック

Open notebook in new tab

タクシーのサンプルノートブックは、特徴量を作成し、それを更新し、モデルのトレーニングとバッチ推論に使用するプロセスを示しています。

Unity Catalogでのタクシー特徴量エンジニアリング サンプルノートブック

Open notebook in new tab

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

Unity Catalogおよび従来のワークスペースのFeature Engineering: Feature Store は、次の PySpark データ型をサポートしています。

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

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

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

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

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

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

複合データ型の例

詳細情報

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