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]]}
code_blocks
Découvrez comment créer et déployer un système de recommandation full stack avec TensorFlow

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.

Google ScaNN

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

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.

TensorFlow TPUEmbedding

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).

Modules complémentaires TensorFlow Recommenders

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.

Recommandations sur l'appareil avec TensorFlow Lite

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.

Reconstruction fédérée avec TensorFlow Federated

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

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.

TensorFlow GNN

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.

IA générative

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.

Vidéo en ligne

Découvrez comment YouTube développe son système de recommandation de façon responsable.

E-commerce

Découvrez comment Digitec Galaxus entraîne et diffuse des millions de newsletters personnalisées par semaine avec TFX et des agents TensorFlow.

Épicerie

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.

Streaming audio

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.