Tous les produits
Search
Centre de documentation

Platform For AI:Présentation de FeatureStore

Dernière mise à jour :Sep 22, 2026

FeatureStore est une plateforme centralisée permettant de stocker, gérer et partager les données de features pour l'apprentissage automatique et l'entraînement d'IA, avec une cohérence automatique entre les environnements offline et online.

Qu'est-ce que FeatureStore ?

FeatureStore stocke et gère les données de features pour les services offline et online. Il s'intègre à DataHub, Flink, Hologres, Tablestore et à la base de données de features FeatureDB, une base de données de features dédiée à la recherche et à la recommandation.

Les applications ingèrent les journaux comportementaux et les propriétés en temps réel depuis DataHub, les synchronisent vers MaxCompute, les traitent avec Flink, puis écrivent les résultats dans un magasin online via FeatureStore. Les applications de recommandation, de croissance utilisateur et de contrôle des risques appellent ensuite le SDK FeatureStore pour accéder aux features du magasin online.

Le diagramme suivant illustre le flux de données, de l'ingestion au calcul des features et à la gestion des échantillons, jusqu'à la publication dans le magasin online.

image

Concepts clés

  • Entité de feature : Collection nommée de tables de features. Par exemple, dans un scénario de recommandation, définissez deux entités de features : utilisateur et élément.

  • Vue de feature : Groupe de features contenant des informations sur les features dérivées. Elle établit une correspondance entre une table de features offline et une table de features online.

  • Join ID : Champ qui lie une vue de feature à une entité de feature. Chaque entité possède un Join ID pour connecter les features entre plusieurs vues.

    Remarque

    Chaque vue de feature dispose d'une clé primaire, ou clé d'index, pour récupérer les données de features. Le nom de la clé d'index peut différer du nom du Join ID.

    Par exemple, dans un scénario de recommandation, définissez le Join ID sur user_id et item_id, qui sont les clés primaires des tables utilisateur et élément.

  • Table de labels : Stocke les labels d'entraînement du modèle, y compris la cible d'entraînement et le Join ID de l'entité de feature. Dans les scénarios de recommandation, elle est généralement dérivée d'une table de comportements à l'aide de la clause group by user_id/item_id/request_id.

Cas d'utilisation

  • Systèmes de recommandation et classement des publicités : Gérez de manière centralisée les features utilisateur et élément (historique de navigation, historiques d'achat, personas). La lecture/écriture en temps réel améliore les performances du modèle et la précision de la diffusion des publicités.

  • Classement des moteurs de recherche : Les données de features incluent la correspondance de mots-clés, le taux de clics (CTR) et le volume des ventes. Entraînez un modèle de classement pour hiérarchiser les résultats de rappel issus de moteurs de recherche tels qu'Elasticsearch ou OpenSearch. Utilisez un service de scoring de modèle TensorFlow dans EAS pour obtenir des résultats de recherche personnalisés.

  • Croissance utilisateur ou contrôle des risques : Gérez les profils utilisateur, les comportements transactionnels et les dossiers de crédit. Combinez ces données avec des modèles d'apprentissage automatique (XGBoost, GBDT) pour l'évaluation des risques.

  • Synchronisation des données KV offline vers le magasin online : Gérez les tables d'attributs produits et utilisateurs. Cette approche simplifie la planification de la synchronisation des données de l'environnement offline vers l'environnement online.

Fonctionnalités clés

Diversité des sources de données

Gérez l'intégralité du processus, des features aux modèles. Enregistrez et gérez les tables de features provenant de multiples sources de données offline et online :

Avantages de l'enregistrement d'une table de features dans FeatureStore :

  • Synchronisation automatique : Créez et synchronisez les tables online et offline pour garantir la cohérence des données.

  • Réduction des coûts : Stockez les features une seule fois et partagez-les entre plusieurs équipes pour diminuer les coûts liés aux ressources.

  • Efficacité accrue : Exportez les tables d'entraînement ou importez les données dans une base de données online avec une seule ligne de code.

Gestion des features offline et en temps réel

Gérez les vues de features offline et les vues de features en temps réel. Les features offline couvrent les attributs et statistiques des utilisateurs et des éléments. Les features en temps réel incluent les nouveaux utilisateurs ou éléments écrits dans un magasin online (tel que Hologres) via Flink, ainsi que les statistiques sur fenêtre temporelle, comme les clics, les partages, les achats et le taux de conversion sur une heure.

Features statistiques en temps réel et features de séquence utilisateur

La complexité des features du modèle et les exigences en temps réel augmentent avec le temps. Gérez les features statistiques en temps réel et les features de séquence de comportement utilisateur calculées par Flink. Définissez des features de séquence utilisateur offline, telles que les IDs d'éléments cliqués par un utilisateur. Les modèles nécessitent souvent des features d'attribut d'élément (SideInfo), mais la transmission de SideInfo sur le réseau consomme une quantité importante de données. Dans EasyRec, le SDK FeatureStore met en cache les features d'élément pour réduire le temps de réponse d'inférence et améliorer les performances d'inférence.

Association automatique des features et export des échantillons de modèle

Gérez les échantillons générés à l'aide de PAI-FeatureStore. Lorsqu'un modèle utilise des features issues d'une vue de feature en temps réel, utilisez la fonctionnalité Créer une feature de modèle pour générer des échantillons corrects à partir des informations de mise à jour en temps réel dans FeatureDB. Cela permet d'associer les features en temps réel sans nécessiter d'interface de rappel dans le moteur PAI-Rec.

Partage des features

Lorsqu'un développeur algorithmique ou BI crée un nouvel ensemble de features utilisateur ou élément, concevez une nouvelle ModelFeature pour associer les features requises par l'ensemble de données d'entraînement. Exportez les échantillons pour l'entraînement offline et publiez-les dans un magasin online à l'aide du SDK FeatureStore. Plusieurs modèles faisant référence à la même vue de feature partagent une seule copie online, ce qui simplifie l'optimisation itérative des modèles.

SDK multilingues

FeatureStore propose des SDK Go, Java et Python pour la solution conjointe de PAI-REC et EasyRecProcessor. Utilisez le SDK Java pour appeler EasyRecProcessor ou d'autres moteurs de scoring de modèle depuis vos propres moteurs côté serveur (recherche, recommandation, contrôle des risques). Utilisez le SDK Python pour l'analyse des données et la modélisation sur les magasins online.

SDK de génération de features

Définissez les features avec un script Python, exécutez-le et enregistrez la sortie sur PAI-FeatureStore. Le SDK de génération de features est un outil open source indépendant basé sur MaxCompute SQL qui simplifie la génération de features. Il utilise des données intermédiaires au niveau journalier, réduisant considérablement les coûts de calcul pour des opérations telles que les statistiques de préférences utilisateur sur 30 jours.

Intégration du moteur de recommandation EasyRec

FeatureStore s'intègre profondément à EasyRec et à TorchEasyRec pour une ingénierie des features (FG) et un entraînement de modèle efficaces. Déployez les modèles directement sur EasyRec Processor et sur TorchEasyRec Processor afin de construire des systèmes de recommandation performants. EasyRec fournit un cache mémoire pour les tables de features d'élément et un scoring de modèle efficace.

Le SDK Cpp FeatureStore intégré à EasyRec Processor est optimisé pour les scénarios à grande échelle. Avantages :

  • Utilisation de la mémoire : Le SDK Cpp FeatureStore intégré à EasyRec Processor optimise le stockage des features, économisant 50 % de mémoire par rapport à la mise en cache native. Les économies augmentent avec le nombre de features.

  • Temps de récupération des features : La mise en cache des vues de features offline en mémoire est plus de 5 fois plus rapide que celle des sources de données online, réduisant la pression sur les magasins online. La source offline stable prend en charge le passage à l'échelle vers des centaines d'instances EAS, chacune chargeant toutes les features en quelques minutes. Le scale-out n'exerce pas de pression significative sur le magasin online.

  • Temps de scoring du modèle : Le scoring du modèle extrait les features en temps réel depuis le cache optimisé. Les optimisations du SDK Cpp FeatureStore améliorent les performances tp100, renforcent la stabilité et réduisent les délais d'expiration.

Fonctionnement

  • Connectez le stockage offline et online pour une gestion unifiée des données de features.

  • Enregistrez les tables de features dans les vues de features pour agréger et mapper les données de features.

  • Stockez et enregistrez les tables de labels dans MaxCompute via la source de données offline.

  • Utilisez les Join IDs pour associer les vues de features entre les projets et lier toutes les features d'entité. Combinez-les avec les tables de labels pour produire des tables Train Set dans MaxCompute.

image

Régions prises en charge

Régions disponibles :

Région géographique

Région

Asie-Pacifique

  • Chine (Hangzhou)

  • Chine (Shanghai)

  • Chine (Pékin)

  • Chine (Shenzhen)

  • Chine (Hong Kong)

  • Singapour

  • Indonésie (Jakarta)

Europe et Amérique

  • Allemagne (Francfort)

  • États-Unis (Silicon Valley)

  • États-Unis (Virginie)

Premiers pas

  1. Créez une source de données. Les sources de données incluent les magasins offline et online.

  2. Créez un projet. Créez des entités de features, des vues de features et des tables de labels pour produire une table d'ensemble d'entraînement de features de modèle (jeu de données d'entraînement).

  3. Exécutez une tâche de synchronisation des données pour synchroniser les données offline vers un magasin online.

  4. Après avoir démarré la tâche de synchronisation, consultez l'état et les détails de la tâche dans Task Hub.

  5. Pour lire et utiliser les données online dans un service online Java ou Go, rejoignez le groupe DingTalk 34415007523 pour contacter le support technique.