Aller au contenu principal

Gouvernance des fonctionnalités et traçabilité

Databricks Magasin de fonctionnalités régit l'accès aux tables de fonctionnalités et suit automatiquement la lignée entre les tables de fonctionnalités, les fonctions et les modèles utilisés pour construire un modèle.

Pour des informations sur le monitoring des performances d'un modèle servi et les changements dans les données des tables de fonctionnalités, voir le profilage des données.

Contrôler l'accès aux tables de fonctionnalités

Le contrôle d’accès pour les tables de fonctionnalités dans Unity Catalog est géré par Unity Catalog. Voir les privilèges Unity Catalog.

Afficher le lignage des tables de fonctionnalités, des fonctions et des modèles

Lorsque vous enregistrez un modèle à FeatureEngineeringClient.log_model l'aide de, les fonctionnalités utilisées dans le modèle sont automatiquement suivies et peuvent être consultées dans l'onglet **Lineage** de l'Explorateur de catalogues. En plus des tables de fonctionnalités, les UDF Python qui sont utilisées pour compute les fonctionnalités à la demande sont également suivies.

Comment capturer la traçabilité d’une table de caractéristiques, d’une fonction ou d’un modèle

Les informations de traçabilité des tables de fonctionnalités et des fonctions utilisées dans les modèles sont automatiquement capturées lorsque vous appelez log_model. Voir l'exemple de code suivant.

Python
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
)

Afficher la lignée d'une table de fonctionnalités, d'un modèle ou d'une fonction.

Pour afficher la traçabilité d'une table de fonctionnalités, d'un modèle ou d'une fonction, suivez ces étapes :

  1. Accédez à la page de la table, de la version du modèle ou de la fonction dans l'Explorateur de catalogues.

  2. Sélectionnez l'onglet Traçabilité . La barre latérale gauche affiche les composants Unity Catalog qui ont été enregistrés avec cette table, version de modèle ou fonction.

    tab Lignage sur la page du modèle dans l’Explorateur de catalogues

  3. Cliquez sur Voir le graphe de traçabilité . Le graphe de traçabilité s'affiche. Pour plus de détails sur l'exploration du graphe de traçabilité, consultez Lineage in Unity Catalog.

    Écran de traçabilité

  4. Pour fermer le graphe de traçabilité, cliquez sur Bouton de fermeture pour le graphe de traçabilité dans le coin supérieur droit.