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

このページでは、 Unity Catalogの特徴量エンジニアリングのガバナンスとリネージ機能について説明します。

提供されたモデルのパフォーマンスと特徴量テーブルデータの変更に関する情報については、 「レイクハウスモニタリング」を参照してください。

特徴量テーブルへのアクセスを制御する

Unity Catalog の特徴量テーブルのアクセス制御は、 Unity Catalogによって管理されます。Unity Catalog 権限を参照してください。

特徴量テーブル、関数、モデルの表示

FeatureEngineeringClient.log_modelを使用してモデルをログに記録すると、モデルで使用されているフィーチャーが自動的に追跡され、カタログエクスプローラーの「リネージ」(Relenege) タブで表示できます。特徴量テーブルに加えて、オンデマンド特徴量のコンピュートに使用されるPython UDFも追跡されます。

特徴量テーブル、関数、またはモデルのリネージを取得する方法

リネージ情報の追跡 特徴量テーブルとモデルで使用される関数は、 を呼び出すと自動的にキャプチャ log_model。 次のコード例を参照してください。

from databricks.feature_engineering import FeatureEngineeringClient, FeatureLookup, FeatureFunction
fe = FeatureEngineeringClient()

features = [
    FeatureLookup(
        table_name = "main.on_demand_demo.restaurant_features",
        feature_names = ["latitude", "longitude"],
        rename_outputs={"latitude": "restaurant_latitude", "longitude": "restaurant_longitude"},
        lookup_key = "restaurant_id",
        timestamp_lookup_key = "ts"
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.extract_user_latitude",
        output_name="user_latitude",
        input_bindings={"blob": "json_blob"},
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.extract_user_longitude",
        output_name="user_longitude",
        input_bindings={"blob": "json_blob"},
    ),
    FeatureFunction(
        udf_name="main.on_demand_demo.haversine_distance",
        output_name="distance",
        input_bindings={"x1": "restaurant_longitude", "y1": "restaurant_latitude", "x2": "user_longitude", "y2": "user_latitude"},
    )
]

training_set = fe.create_training_set(
    label_df, feature_lookups=features, label="label", exclude_columns=["restaurant_id", "json_blob", "restaurant_latitude", "restaurant_longitude", "user_latitude", "user_longitude", "ts"]
)

class IsClose(mlflow.pyfunc.PythonModel):
    def predict(self, ctx, inp):
        return (inp['distance'] < 2.5).values

model_name = "fe_packaged_model"
mlflow.set_registry_uri("databricks-uc")

fe.log_model(
    IsClose(),
    model_name,
    flavor=mlflow.pyfunc,
    training_set=training_set,
    registered_model_name=registered_model_name
)

特徴量テーブル、モデル、または関数のリネージを表示する

特徴量テーブル、モデル、または関数のリネージを表示するには、次の手順に従います。

  1. カタログエクスプローラーのテーブル、モデルバージョン、または関数ページに移動します。

  2. [リネージ] タブを選択します。左側のサイドバーには、このテーブル、モデル バージョン、または関数でログに記録された Unity Catalog コンポーネントが表示されます。

    カタログ エクスプローラーのモデル ページの「リネージ」タブ
  3. [ リネージグラフを見る] をクリックします。 リネージグラフが表示されます。 リネージグラフの探索の詳細については、「 リネージのキャプチャと探索」を参照してください。

    リネージ画面
  4. リネージグラフを閉じるには、右上隅の をクリックします リネージグラフの閉じるボタン