0Pricing
Learn AI with Python · Leçon

Bases de caractéristiques : Feast et Tecton

Bases de caractéristiques en ligne ou hors ligne, gestion des versions, jointures à un instant donné, latence de service.

Bases de caractéristiques : Feast et Tecton est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Le problème du magasin de caractéristiques

Les équipes réimplémentent sans cesse les mêmes caractéristiques, et les chaînes de traitement d'entraînement les calculent différemment du code de mise à disposition. Un magasin de caractéristiques centralise les définitions, la réutilisation et la mise à disposition des caractéristiques, éliminant le travail en double et le décalage entre l'entraînement et la mise à disposition.

Feast et Tecton

Deux magasins de caractéristiques de premier plan :

  • Feast : libre, léger, avec une infrastructure que vous fournissez
  • Tecton : commercial et géré, avec des chaînes de traitement de caractéristiques en continu et une gouvernance supplémentaires

Tous deux partagent les concepts fondamentaux d'entités, de caractéristiques et de magasins hors ligne et en ligne.

Entités et vues de caractéristiques

Une entité est l'élément décrit par les caractéristiques (un utilisateur, un produit). Une vue de caractéristiques regroupe les caractéristiques associées à une entité et pointe vers une source de données. Ces définitions résident dans le code et sont versionnées comme n'importe quel autre artefact.

# A user entity with features:
#   avg_purchase, days_since_signup, total_orders

feast apply

feast apply enregistre vos définitions d'entités et de vues de caractéristiques dans le registre du magasin de caractéristiques. C'est ainsi que le magasin découvre quelles caractéristiques existent et d'où proviennent leurs données.

feast apply
# Registered entity user
# Registered feature view user_stats

Matérialisation

Les caractéristiques doivent être chargées dans le magasin en ligne avant la mise à disposition. La matérialisation calcule les valeurs de caractéristiques jusqu'à un instant donné et les écrit dans le magasin en ligne (par exemple Redis), afin qu'elles soient prêtes à être lues avec une faible latence.

feast materialize

feast materialize prend une date de début et une date de fin, puis charge dans le magasin en ligne les valeurs de caractéristiques correspondant à cette période. Vous l'exécutez selon une planification afin de conserver des caractéristiques en ligne récentes.

feast materialize 2024-01-01T00:00:00 2024-01-31T00:00:00

Mise à disposition en ligne

Lors de l'inférence, vous récupérez les caractéristiques les plus récentes pour certaines entités avec get_online_features, en transmettant des entity_rows qui indiquent les entités à rechercher. La commande renvoie les valeurs les plus récentes en quelques millisecondes.

from feast import FeatureStore

store = FeatureStore(repo_path=".")
features = store.get_online_features(
    features=["user_stats:avg_purchase", "user_stats:total_orders"],
    entity_rows=[{"user_id": 123}],
).to_dict()

Construire les données d'entraînement

Pour l'entraînement, vous associez les valeurs de caractéristiques aux étiquettes historiques. Le magasin de caractéristiques lit les données du magasin hors ligne et renvoie un jeu de données aligné sur l'horodatage de chaque étiquette, afin que les données d'entrée de l'entraînement correspondent à celles que la mise à disposition fournira.

training_df = store.get_historical_features(
    entity_df=labels_df,        # has user_id and event_timestamp
    features=["user_stats:avg_purchase"],
).to_df()

Jointures à un instant donné

La garantie essentielle du magasin de caractéristiques est la jointure à un instant donné : pour chaque étiquette d'entraînement, il récupère uniquement les valeurs de caractéristiques qui étaient connues à cet instant ou avant. Cela empêche d'utiliser des informations futures.

Prévenir les fuites de données

Sans exactitude temporelle lors des jointures à un instant donné, vous risquez une fuite de données : entraîner le modèle sur des valeurs de caractéristiques calculées après l'événement associé à l'étiquette, ce qui gonfle les métriques hors ligne mais s'effondre en production. Le magasin de caractéristiques garantit automatiquement l'exactitude temporelle.

Le cycle de vie complet

Le cycle de vie du magasin de caractéristiques relie tous ces éléments :

  • feast apply enregistre les définitions
  • feast materialize charge le magasin en ligne
  • l'entraînement utilise des jointures à un instant donné depuis le magasin hors ligne
  • la mise à disposition lit les valeurs récentes via get_online_features

Vérification rapide

Vérifiez vos connaissances sur les magasins de caractéristiques.

Récapitulatif

Vous avez découvert les magasins de caractéristiques avec Feast et Tecton :

  • feast apply enregistre les entités et les vues de caractéristiques
  • feast materialize charge le magasin en ligne pour les dates indiquées
  • get_online_features fournit des valeurs récentes pour entity_rows
  • Les jointures à un instant donné construisent des données d'entraînement exemptes de fuites

Questions Fréquemment Posées

La leçon « Bases de caractéristiques : Feast et Tecton » est-elle gratuite ?

Oui — le texte complet de « Bases de caractéristiques : Feast et Tecton » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Bases de caractéristiques : Feast et Tecton » ?

Bases de caractéristiques en ligne ou hors ligne, gestion des versions, jointures à un instant donné, latence de service. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Bases de caractéristiques : Feast et Tecton » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Modèles d’architecture des systèmes d’IA
  2. Pipelines évolutifs d’apprentissage automatique avec Airflow
  3. Bases de caractéristiques : Feast et Tecton
  4. Observabilité et supervision des systèmes d’IA
← Retour à Learn AI with Python