Simple Science

La science de pointe expliquée simplement

# Informatique# Apprentissage automatique# Intelligence artificielle

Améliorer les recommandations avec des réseaux de neurones graphiques sur LinkedIn

Apprends comment LinkedIn utilise les réseaux de neurones graphiques pour améliorer les recommandations aux utilisateurs.

― 6 min lire


Les GNN transforment lesLes GNN transforment lesrecommandations LinkedInutilisateurs et les recommandations.améliorent l'engagement desLes réseaux de neurones graphiques
Table des matières

LinkedIn est le plus grand réseau pro, connectant plus de 1 milliard de membres dans plus de 200 pays. La plateforme permet aux gens de trouver des opportunités d'emploi, de partager des connaissances et de créer des relations. Les connexions entre les membres forment un vaste réseau, ou un graphe, avec des milliards de nœuds (membres) et d'arêtes (interactions). Ce graphe est super important pour faire des recommandations, comme suggérer des jobs ou du contenu qui pourrait intéresser les utilisateurs.

Défis dans le développement de Graph Neural Networks

Travailler avec un graphe aussi grand pose des défis uniques :

  1. Entraînement de graphe à grande échelle : Contrairement aux modèles traditionnels, l'entraînement sur des graphes peut être compliqué à cause de la taille et de la structure des données.

  2. Entités diverses : On doit créer un espace commun pour différentes choses comme des posts, des membres, des entreprises et des jobs pour que tout fonctionne ensemble.

  3. Problème de démarrage à froid : Certains membres n'utilisent pas souvent la plateforme, ce qui donne moins de données sur leurs préférences.

  4. Système dynamique : La nature toujours changeante du réseau LinkedIn peut rendre difficile la tâche des modèles pour suivre le rythme.

Pour relever ces défis, on a développé un système utilisant des Graph Neural Networks (GNNs).

Qu'est-ce que les Graph Neural Networks ?

Les GNNs sont des modèles conçus pour travailler avec des données de graphe. Ils excellent à trouver des motifs et des relations dans les données, ce qui en fait un bon choix pour une plateforme comme LinkedIn, où les connexions sont essentielles.

Construction du cadre GNN

On a construit un cadre complet pour entraîner nos modèles GNN de manière efficace.

Infrastructure d'entraînement

On utilise un système basé sur Kubernetes de Google, ce qui nous permet de faire tourner plein de tâches en même temps. Avec ce système, on peut entraîner nos GNN rapidement. La configuration permet un échantillonnage en temps réel des données de graphe, ce qui est essentiel pour que nos modèles apprennent efficacement.

Construction du graphe

On construit notre graphe pour inclure divers types de nœuds et d'arêtes. Cette combinaison nous permet de capturer des relations complexes. Par exemple, on connecte les membres aux posts avec lesquels ils interagissent et à d'autres membres avec qui ils ont des interactions.

Résolution des problèmes de démarrage à froid

Pour aider les membres moins actifs, on a introduit des méthodes pour densifier le graphe. Cela signifie qu'on crée des connexions supplémentaires basées sur des similarités. Par exemple, si un membre n'a pas beaucoup interagi, on cherche des membres similaires qui sont plus actifs et on crée un lien entre eux.

Modélisation dynamique

Pour que nos modèles restent pertinents, on a intégré des éléments temporels. Cela signifie qu'on peut prendre en compte comment les interactions changent au fil du temps, aidant le modèle à comprendre l'importance des activités récentes.

Techniques pour améliorer l'entraînement des GNN

Pour rendre l'entraînement des GNN plus rapide et stable, on utilise plusieurs techniques :

Échantillonnage adaptatif

Au lieu d’échantillonner un grand nombre de voisins dès le départ, on commence avec un petit groupe et on augmente le nombre au besoin. Cette méthode fait gagner du temps et se concentre sur les données les plus utiles.

Groupement et découpage

On organise nos données d'entraînement en regroupant les interactions pour chaque membre. En faisant ça, on peut traiter les données plus efficacement, réduisant le nombre de requêtes qu'on doit faire à notre source de données.

Multi-traitement avec mémoire partagée

En utilisant le multi-traitement en Python, on peut gérer les tâches de données en même temps. Cela aide à éviter les délais quand on cherche les informations nécessaires pour l'entraînement.

Inférence en temps réel

Le système inclut aussi un pipeline presque en temps réel pour s'assurer que nos recommandations sont fraîches. Quand un membre interagit avec un post, on rassemble rapidement les données nécessaires et génère des embeddings mis à jour, qui peuvent être utilisés immédiatement pour faire des recommandations.

Applications des GNN sur LinkedIn

On a appliqué notre cadre GNN à diverses applications sur LinkedIn pour voir à quel point ça fonctionne.

Recommandations du fil de suivi

Dans le fil de suivi, les embeddings GNN aident à recommander des posts aux utilisateurs en fonction de leurs intérêts et relations. On a présenté cette tâche comme un problème de prédiction de lien, prédisant quel contenu un membre pourrait vouloir consulter.

Recommandations hors réseau

On a aussi élargi les applications GNN pour recommander du contenu au-delà du réseau immédiat d'un membre. Cela permet aux utilisateurs de découvrir de nouvelles connexions et des posts pertinents, augmentant l'engagement sur la plateforme.

Recommandations d'emploi

Pour les recommandations d'emploi, on utilise les GNN pour suggérer des jobs auxquels les membres sont plus susceptibles de postuler. En analysant les connexions entre membres, jobs et entreprises, on peut mettre en avant des opportunités qui correspondent au profil d'un membre.

Recommandations de personnes

Le cadre GNN aide aussi à suggérer des connexions potentielles aux membres. En analysant les relations entre les membres, on peut mieux recommander des personnes qui pourraient être bénéfiques à connecter.

Recommandations de publicité

Nos modèles GNN jouent aussi un rôle dans la prévision des taux de clics pour les publicités sur LinkedIn. En comprenant les connexions entre les membres et le contenu des annonces, on peut mieux cibler les pubs vers les utilisateurs intéressés.

Résultats des expériences

On a mené plusieurs expériences pour mesurer l'impact de notre cadre GNN à travers les applications. Les résultats étaient prometteurs :

  1. Engagement amélioré : On a noté une augmentation des métriques d'engagement sur des fonctionnalités comme le fil de suivi et les recommandations hors réseau.

  2. Augmentation des candidatures : Les recommandations d'emploi ont montré une augmentation du taux de candidatures qui ont reçu des retours positifs.

  3. Meilleures connexions entre personnes : Le système a amélioré la qualité des connexions recommandées, menant à un networking plus solide sur la plateforme.

  4. Taux de clics publicitaires augmentés : Les embeddings GNN ont grandement amélioré la prédiction des performances publicitaires, entraînant des taux d'interaction plus élevés.

Conclusion

Le travail qu'on a fait avec les GNN sur LinkedIn s'est avéré efficace dans diverses applications. Le cadre qu'on a développé accélère non seulement l'entraînement mais améliore aussi la qualité de nos modèles. Avec ces avancées, on peut fournir des recommandations plus pertinentes, aidant les membres à se connecter et à s'engager à un niveau plus profond. L'expérience acquise grâce à ces développements est précieuse pour quiconque cherchant à mettre en place des systèmes similaires dans ses organisations.

Source originale

Titre: LiGNN: Graph Neural Networks at LinkedIn

Résumé: In this paper, we present LiGNN, a deployed large-scale Graph Neural Networks (GNNs) Framework. We share our insight on developing and deployment of GNNs at large scale at LinkedIn. We present a set of algorithmic improvements to the quality of GNN representation learning including temporal graph architectures with long term losses, effective cold start solutions via graph densification, ID embeddings and multi-hop neighbor sampling. We explain how we built and sped up by 7x our large-scale training on LinkedIn graphs with adaptive sampling of neighbors, grouping and slicing of training data batches, specialized shared-memory queue and local gradient optimization. We summarize our deployment lessons and learnings gathered from A/B test experiments. The techniques presented in this work have contributed to an approximate relative improvements of 1% of Job application hearing back rate, 2% Ads CTR lift, 0.5% of Feed engaged daily active users, 0.2% session lift and 0.1% weekly active user lift from people recommendation. We believe that this work can provide practical solutions and insights for engineers who are interested in applying Graph neural networks at large scale.

Auteurs: Fedor Borisyuk, Shihai He, Yunbo Ouyang, Morteza Ramezani, Peng Du, Xiaochen Hou, Chengming Jiang, Nitin Pasumarthy, Priya Bannur, Birjodh Tiwana, Ping Liu, Siddharth Dangi, Daqi Sun, Zhoutao Pei, Xiao Shi, Sirou Zhu, Qianqi Shen, Kuang-Hsuan Lee, David Stein, Baolei Li, Haichao Wei, Amol Ghoting, Souvik Ghosh

Dernière mise à jour: 2024-02-16 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2402.11139

Source PDF: https://arxiv.org/pdf/2402.11139

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires