Systèmes de recommandation
De la commande de repas à la vidéo à la demande et au streaming audio, en passant par la mode, les systèmes de recommandation sont au cœur de certaines des applications les plus populaires aujourd'hui. Découvrez comment créer des systèmes de recommandation prêts pour la production grâce aux outils et bibliothèques Open Source de l'écosystème TensorFlow.
Les systèmes de recommandation accroissent l'engagement des utilisateurs au sein de votre appli et améliorent l'expérience utilisateur en fournissant le contenu le plus pertinent. Les outils de recommandation modernes sont des systèmes complexes, généralement composés de plusieurs étapes pour assurer une latence faible en production. Au cours des étapes de récupération, de classement et, éventuellement, de post-classement, les éléments non pertinents sont progressivement filtrés d'un ensemble considérable de candidats, puis une liste d'options avec lesquelles les utilisateurs sont le plus susceptible d'interagir est présentée.
Commencez à développer un système avec TensorFlow Recommenders, un framework simple à utiliser qui facilite la création des systèmes de recommandation, de la préparation des données jusqu'au déploiement.
Lorsque vous avez fini d'entraîner vos modèles, déployez-les en production pour diffuser des recommandations auprès des utilisateurs finaux. TensorFlow Serving met en production vos modèles, pour des inférences ultra-performantes. Il vise à maximiser le débit des modèles de machine learning et est compatible avec les modèles de recommandation volumineux qui nécessitent une inférence distribuée.
# Deploy the retrieval model with TensorFlow Serving docker run -t --rm -p 8501:8501 \ -v "RETRIEVAL/MODEL/PATH:/models/retrieval" \ -e MODEL_NAME=retrieval tensorflow/serving & # Retrieve top movies that user 42 may like curl -X POST -H "Content-Type: application/json" \ -d '{"instances":["42"]}' \ http://localhost:8501/v1/models/retrieval:predict # Output # { # "predictions":[ # { # "output_1": [2.032, 1.969, 1.813], # "output_2": ["movie1”, “movie2”, “movie3”] # } # ] # } # Deploy the ranking model with TensorFlow Serving docker run -t --rm -p 8501:8501 \ -v "RANKING/MODEL/PATH:/models/ranking" \ -e MODEL_NAME=ranking tensorflow/serving & # Get the prediction score for user 42 and movie 3 curl -X POST -H "Content-Type: application/json" \ -d '{"instances":[{"user_id":"42", "movie_title":"movie3"}]}' \ http://localhost:8501/v1/models/ranking:predict # Output: # {"predictions": [[3.66357923]]}
Améliorer les étapes de récupération et de classement des moteurs de recommandations
Les systèmes de recommandation à grande échelle nécessitent de déterminer les éléments les plus pertinents parmi des millions possibles de façon efficace au cours des phases de récupération et de classement. Combinez TensorFlow Recommenders aux algorithmes de recherche de pointe des plus proches voisins approximatifs de la bibliothèque ScaNN et aux techniques d'apprentissage de classement de la bibliothèque TensorFlow Ranking pour fournir des recommandations plus pertinentes.
ScaNN est une bibliothèque de recherche de similarité vectorielle à grande échelle. Elle repose sur des techniques ANN de pointe, comme le hachage asymétrique et la quantification anisotrope, pour récupérer les meilleurs candidats plus rapidement.
TensorFlow Ranking est une bibliothèque conçue pour développer des modèles d'apprentissage de classement neuronaux évolutifs. Elle fournit des fonctionnalités supplémentaires pour classer les éléments candidats et optimiser les utilitaires de classement.
Optimisez les grandes représentations vectorielles continues pour l'entraînement de modèle et l'inférence
La recherche de représentations vectorielles continues est une étape critique des systèmes de recommandation à grande échelle. Tirez parti de l'accélération matérielle et de la technologie dynamique de représentations vectorielles continues pour éliminer les goulots d'étranglement, fréquents dans les tableaux de représentations vectorielles continues volumineux.
L'API de couche TPUEmbedding facilite l'entraînement et l'inférence de tableaux de représentations vectorielles continues volumineux sur les TPU (Tensor Processing Units).
Les modules complémentaires TensorFlow Recommenders ont été développés avec l'aide de la communauté. Ils reposent sur une technologie dynamique de représentations vectorielles continues particulièrement utile pour l'apprentissage en ligne.
Protéger la vie privée des utilisateurs
Les moteurs de recommandations classiques reposent sur la collecte des journaux d'interactions des utilisateurs et l'entraînement de modèles de recommandations basés sur les activités brutes des utilisateurs. Pour assurer la confidentialité des données utilisateur, suivez les pratiques de développement d'IA responsable.
TensorFlow Lite fournit une solution de recommandations sur l'appareil caractérisée par une faible latence et des recommandations de haute qualité. De plus, toutes les données utilisateurs sont conservées sur les appareils mobiles.
TensorFlow Federated est un framework conçu pour permettre l'apprentissage fédéré et d'autres calculs sur des données décentralisées. La reconstruction fédérée permet d'utiliser la factorisation matricielle dans l'apprentissage fédéré et protège plus efficacement la vie privée des utilisateurs dans les systèmes de recommandation.
Utilisez des techniques avancées pour des outils de recommandation plus sophistiqués
Bien que les modèles de filtrage collaboratif classiques soient couramment utilisés dans le secteur, des techniques avancées sont de plus en plus adoptées, comme l'apprentissage par renforcement et les réseaux de neurones graphiques, pour créer des systèmes de recommandation.
TensorFlow Agents Bandits est une bibliothèque complète d'algorithmes de bandit capables d'explorer et d'exploiter efficacement la configuration du moteur de recommandations.
La bibliothèque TensorFlow GNN facilite les recommandations d'éléments en fonction des structures réseau. Elle peut être utilisée conjointement aux modèles de récupération et de classement.
Découvrez comment utiliser de grands modèles de langage (LLM) tels que l'API PaLM pour améliorer vos systèmes de recommandation.
Inspirez-vous de modèles de recommandation de pointe
Vous souhaitez analyser les performances d'un modèle bien connu ou créer vos propres modèles de recommandation ? Consultez les implémentations officielles TensorFlow de modèles populaires (NCF, DLRM et DCN v2, par exemple) pour connaître les bonnes pratiques à suivre.
Ressources pédagogiques
Suivez des cours et des vidéos détaillés pour apprendre à créer des systèmes de recommandation.
Systèmes de recommandation réels
Découvrez d'autres exemples et études de cas d'applications reposant sur des systèmes de recommandation dans tous les secteurs.
Découvrez comment YouTube développe son système de recommandation de façon responsable.
Découvrez comment Digitec Galaxus entraîne et diffuse des millions de newsletters personnalisées par semaine avec TFX et des agents TensorFlow.
Découvrez comment HarperDB utilise TensorFlow.js pour créer un système de recommandation basé sur le filtrage collaboratif pour ses articles d'épicerie.
Découvrez comment Spotify a exploité l'écosystème TensorFlow pour concevoir un simulateur hors connexion extensible et entraîner les agents RL à générer des recommandations de playlists.