Partager via


Gouvernance et traçabilité des caractéristiques

Cette page décrit les fonctionnalités de gouvernance et de traçabilité de l’ingénierie des fonctionnalités dans le catalogue Unity.

Pour plus d’informations sur la surveillance des performances d’un modèle servi et des modifications dans les données de la table de fonctionnalités, consultez Profilage des données.

Contrôler l’accès aux tables de caractéristiques

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

Afficher la table de fonctionnalités, la fonction et la traçabilité des modèles

Quand vous journalisez un modèle avec FeatureEngineeringClient.log_model, les caractéristiques utilisées dans le modèle sont automatiquement suivies et peuvent être affichées sous l’onglet Traçabilité de l’explorateur de catalogues. En plus des tables de caractéristiques, les fonctions Python définies par l’utilisateur utilisées pour calculer les caractéristiques à la demande sont également suivies.

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

Les informations de traçabilité qui suivent les tables de caractéristiques et les fonctions utilisées dans les modèles sont automatiquement capturées quand vous appelez log_model. Consultez l’exemple de code suivant.

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 traçabilité 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, procédez comme suit :

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

  2. Sélectionnez l’onglet Traçabilité. La barre latérale gauche montre les composants Unity Catalog journalisés avec cette table, cette version de modèle ou cette fonction.

    Onglet Traçabilité sur la page du modèle dans l’Explorateur de catalogues

  3. Cliquez sur Afficher le graphique de traçabilité. Le graphe de filiation s’affiche. Pour plus d’informations sur l’exploration du graphique de traçabilité, consultez Afficher la traçabilité des données à l’aide du catalogue Unity.

    Écran de traçabilité

  4. Pour fermer le graphique de traçabilité, cliquez sur le bouton Fermer pour le graphique de traçabilité dans le coin supérieur droit.