Feature Store concepts | Databricks on AWS [2022/9/23時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
本書では、Databiricks Feature Storeと特徴量テーブルを使用する際に役立つコンセプトを説明します。
注意
現時点では、Feature StoreはUnity Catalogメタストアをサポートしていません。Unity Catalogが有効化されたワークスペースでは、特徴量テーブルはデフォルトのHiveメタストアにのみ書き込むことができます。
特徴量テーブル
特徴量は特徴量テーブルに格納されます。それぞれの特徴量テーブルはDeltaテーブルと他のメタストアに格納されます。
特徴量テーブルには主キーが必要です。特徴量テーブルの特徴量は、多くの場合、一般的な計算関数で計算、更新されます。
特徴量テーブルのメタデータは、テーブルの生成元となるデータソース、テーブルを作成、更新したノートブック、ジョブを追跡します。
リアルタイム推論のために、特徴量テーブルをオンラインストアに公開することが可能です。
グルーピングと検索を容易にするために、タグを作成し、特徴量テーブルに関連づけることができます。
オフラインストア
オフラインの特徴量ストアは特徴量の検索、モデルのトレーニング、バッチ推論に使用されます。これにはDeltaテーブルの特徴量テーブルが含まれます。
オンラインストア
オンライン特徴量ストアは、リアルタイム推論に用いられる低レーテンシーのデータベースです。Databricks Feature Storeがサポートしているオンラインストアについては、Work with online storesをご覧ください。
ストリーミング
バッチ書き込みに加えて、Databricks Feature Storeはストリーミングをサポートします。ストリーミングのソースから特徴量を特徴量テーブルに書き込むことができ、特徴量の計算には生データのストリーミングを特徴量に変換するために構造化ストリーミングを活用できます。
オフラインストアの特徴量テーブルからオンラインストアにストリーミングすることも可能です。
トレーニングセット
トレーニングセットは特徴量のリストと生のトレーニングデータ、ラベル、特徴量を検索するための主キーから構成されます。特徴量ストアから特徴量を抽出してトレーニングセットを作成し、モデルトレーニングの際の入力データにすることができます。
どのようにトレーニングを作成して利用するのかに関しては、トレーニングデータセットの作成を参照ください。
モデルのパッケージング
Databricks Feature Storeの特徴量を用いてトレーニングした機械学習モデルは、特徴量との紐付けを維持します。推論を行う際にモデルが特徴量ストアから特徴量を取得することも可能です。モデルの呼び出し下は、モデルに使われた特徴量の主キー(例えば、user_id
)を指定するだけで、モデルが特徴量ストアから必要な特徴量を取得します。
バッチ推論においては、オフラインストアから特徴量が取得され、スコアリングの前にデータと結合されます。リアルタイム推論においては、特徴量はオンラインストアから取得されます。
モデルを特徴量のメタデータとパッケージングするには、FeatureStoreClient.log_model()
を使用します。