- Le flux « For You » de X s’appuie sur un système de recommandation basé sur le machine learning développé pour améliorer la qualité des recommandations de contenu personnalisé
- Le flux est composé en combinant deux sources : les comptes suivis (Thunder) et le contenu hors abonnement (Phoenix Retrieval)
- Toutes les publications candidates sont évaluées par Phoenix, un modèle Transformer basé sur Grok, afin de produire le classement final
- Ce modèle prédit la probabilité d’engagement pour chaque publication
- Toutes les fonctionnalités conçues manuellement ainsi que la plupart des algorithmes heuristiques ont été supprimés du système
- L’historique d’activité des utilisateurs (likes, réponses, partages) est analysé afin d’identifier les contenus pertinents
Architecture du système
- Home Mixer est la couche d’orchestration qui coordonne l’ensemble du pipeline
- Comprend une étape de Query Hydration qui collecte l’historique de comportement utilisateur et les informations de suivi
- Gère une série d’étapes allant de la collecte des candidats à l’enrichissement des données, au filtrage, au scoring et à la sélection finale
- Renvoie, via le service gRPC ScoredPostsService, des publications triées pour chaque utilisateur
- Thunder est un stockage en mémoire qui collecte les publications en temps réel via un flux d’événements Kafka
- Gère un stockage par utilisateur pour les publications originales, les réponses/reposts et les publications vidéo
- Fournit des candidats de publications « in-network » provenant des comptes suivis par l’utilisateur demandeur
- Fournit les publications les plus récentes des comptes suivis avec une latence extrêmement faible
- Assure des performances de requête au niveau sub-milliseconde sans accès à une base de données externe
- Phoenix est le composant ML central de la recommandation, structuré en deux étapes : Retrieval et Ranking
- Recherche : utilise un modèle Two-Tower pour calculer la similarité entre les embeddings des caractéristiques/historiques d’engagement des utilisateurs et les embeddings des publications, puis récupérer les publications Top-K
- Classement : conçu avec une architecture Transformer with Candidate Isolation afin que chaque candidat soit évalué indépendamment
- Prend en entrée le contexte utilisateur (historique d’engagement) et la publication candidate
- Prédit pour chaque publication les probabilités de multiples actions comme le like, la réponse, le repost et le clic
- Candidate Pipeline est un framework de pipeline de recommandation réutilisable
- Définit des traits tels que
Source, Hydrator, Filter, Scorer, Selector
- Intègre l’exécution en parallèle, la gestion des erreurs et la journalisation pour garantir extensibilité et stabilité
Fonctionnement
-
Étapes du pipeline
- 1. Récupération des données de requête : récupère l’activité récente de l’utilisateur et les métadonnées (par ex. la liste des comptes suivis)
- 2. Recherche de candidats : recherche des publications candidates à partir des sources suivantes
- Thunder : publications récentes des comptes suivis (dans le réseau)
- Phoenix Retrieval : publications découvertes par machine learning dans le corpus global (hors réseau)
- 3. Hydration des candidats à l’aide des informations suivantes :
- Données clés de la publication (texte, média, etc.)
- Informations sur l’auteur (nom d’utilisateur, statut de vérification)
- Durée de la vidéo (pour les publications vidéo)
- Statut d’abonnement
- 4. Filtre pré-score : élimine les publications qui répondent aux conditions suivantes
- doublons
- trop anciennes
- appartenant au spectateur lui-même
- provenant de comptes bloqués/mis en sourdine
- contenant des mots-clés mis en sourdine
- déjà vues ou récemment servies
- contenu auquel on ne peut pas s’abonner
- 5. Méthode de scoring : applique plusieurs scoreurs de manière séquentielle
- Phoenix Scorer : récupère les prédictions ML du modèle Transformer Phoenix
- Calculateur de score pondéré : combine les prédictions pour produire le score final de pertinence
- Calculateur de score de diversité des auteurs : réduit l’impact des scores d’auteurs dupliqués pour améliorer la diversité
- OON Scorer : ajuste le score du contenu hors réseau
- 6. Sélection : trie par score et retient les K meilleurs candidats
- 7. Procédures post-sélection : validation finale des publications candidates
-
Scoring et ranking
- Les prédictions du modèle Phoenix sont combinées par somme pondérée
- Les actions positives (likes, partages, etc.) augmentent le poids, tandis que les actions négatives (blocage, signalement, etc.) entraînent une pénalité
-
Filtrage en deux étapes
- Filtre avant calcul du score : supprime les doublons, les publications plus anciennes qu’un seuil, ses propres publications, les contenus payants inaccessibles, les publications déjà vues ou déjà servies, celles de comptes bloqués et celles contenant des mots-clés masqués
- Filtre après sélection : supprime les publications supprimées, le spam, les contenus violents, les publications choquantes et les doublons de plusieurs branches d’un même fil de conversation
Principes de conception clés
- Suppression du feature engineering manuel, le Transformer apprend directement à partir des séquences de comportement utilisateur
- Évaluation indépendante des candidats (Candidate Isolation) pour produire des scores cohérents et faciliter la mise en cache
- Embeddings basés sur le hachage : plusieurs fonctions de hachage sont utilisées pour les recherches d’embeddings à la fois pour la recherche et le classement
- Prédiction multi-actions (Multi-Action Prediction) : prédit plusieurs actions plutôt qu’un unique score de « pertinence »
- Architecture de pipeline modulaire
- Sépare l’exécution et la supervision du pipeline de la logique métier
- Permet l’exécution en parallèle d’étapes indépendantes et une gestion appropriée des erreurs
- Facilite l’ajout de nouvelles sources, hydratations, filtres et scoreurs
Licence
Aucun commentaire pour le moment.