Intelligence artificielle Accélération et mise à l’échelle de réseaux de graphes temporels

Pour approfondir le sujet

Sur le même thème :

Levée de fonds historique de 6 milliards de dollars, facilité de crédit de 4 milliards : OpenAI conforte sa position de leader

De nombreux médias avaient rapporté qu'OpenAI était en pourparlers pour une levée de fonds qui la valoriserait à plus de 100 milliards de dollars,...

ActuIA n°17 : ce que vous réserve le nouveau numéro du magazine de l’intelligence artificielle

La rentrée est là, et le nouveau numéro du magazine ActuIA est prêt à vous accompagner dans cette période de renouveau. Que vous le...

IA Eco-Pilot, lauréat de l’AAP «Démonstrateurs d’IA frugale dans les territoires pour la transition écologique»

La création de démonstrateurs faisant usage d'une IA frugale dans des secteurs-clés pour atteindre les objectifs climatiques, tels que les villes durables, les bâtiments...

OpenAI Devday 2024 : Vision Fine-tuning, Model Distillation, Prompt Caching et Realtime API au cœur des annonces

Lors de sa 1ère conférence des développeurs, il y a un peu moins d'un an, les annonces principales d'OpenAI étaient consacrées à GPT-4 turbo,...

Accélération et mise à l’échelle de réseaux de graphes temporels

Dans de nombreux cas, lorsqu’il est question de systèmes complexes d’entités interagissant les unes avec les autres, les données sont structurées sous forme de graphe. Au cours des dernières années, l’application de méthodes d’apprentissage automatique à de telles données est devenue très courante, en particulier avec les réseaux de neurones graphiques (ou « réseaux GNN »).

La plupart du temps, on part du principe que le graphe est fixe dans les architectures GNN. Néanmoins, cette supposition est souvent trop simpliste. En effet, dans la mesure où le système sous-jacent de pléthore d’applications est dynamique, le graphe évolue au fil du temps. C’est par exemple la situation dans les réseaux sociaux ou les systèmes de recommandation, où les graphes décrivant l’interaction de l’utilisateur avec le contenu peuvent changer en temps réel. Plusieurs architectures GNN capables de traiter des graphes dynamiques, ont récemment été développées, y compris notre propre réseau
de graphes temporels (TGN) [1].

Graphe représentant des interactions entre des personnes et évoluant dynamiquement via l’ajout de nouvelles arêtes aux horodatages t1 et t2
Graphe représentant des interactions entre des personnes et évoluant dynamiquement via l’ajout de nouvelles arêtes aux horodatages t1 et t2

Dans cet article, nous nous intéressons à l’application de réseaux TGN à des graphes dynamiques de tailles variées, ainsi qu’à la complexité de calcul propre à ce type de modèles.

L’architecture TGN se caractérise par deux éléments principaux. Tout d’abord, des nœuds incorporés par le biais d’une architecture GNN classique, ici implémentée sous forme de réseau d’attention de graphes à couche unique [2]. Ensuite, une mémoire qui enregistre toutes les interactions passées de chaque nœud. Mise à jour à l’aide d’un réseau récurrent à porte (ou « réseau GRU ») lors de nouvelles interactions, il est possible d’y accéder en réalisant des opérations clairsemées de lecture/écriture [3].

Architecture TGN avec, sur la ligne du bas, une architecture GNN impliquant une seule étape d’envoi de message. Sur la ligne du haut, la mémoire supplémentaire pour chaque nœud du graphe
Architecture TGN avec, sur la ligne du bas, une architecture GNN impliquant une seule étape d’envoi de message. Sur la ligne du haut, la mémoire supplémentaire pour chaque nœud du graphe

Nous nous concentrons sur les graphes qui évoluent au fil du temps via l’ajout de nouvelles arêtes. Ici, la mémoire d’un nœud contient des informations sur toutes les arêtes qui le ciblent, ainsi que sur leurs nœuds de destination respectifs. Par l’intermédiaire de contributions indirectes, la mémoire d’un nœud peut également contenir des informations sur des nœuds plus éloignés, ce qui rend les couches supplémentaires superflues dans le réseau d’attention de graphes.

Application à des graphes de petite taille

Nous avons débuté nos tests à l’aide de l’ensemble de données JODIE/Wikipédia [4], un graphe biparti représentant des articles Wikipédia et des utilisateurs et au sein duquel chaque arête entre un utilisateur et un article représente une modification apportée à l’article par l’utilisateur. Le graphe est constitué de 9 227 nœuds (8 227 utilisateurs et 1 000 articles) et de 157 474 arêtes avec horodatages. Les arêtes sont accompagnées de 172 vecteurs d’attributs LIWC dimensionnels [6] qui décrivent la modification. Au cours de la phase d’entraînement, les arêtes sont insérées lot par lot dans l’ensemble de nœuds initialement déconnecté, alors que le modèle est perfectionné via la perte contrastive d’arêtes réelles et d’arêtes négatives aléatoires. Les résultats de validation attestent de la probabilité d’identifier une arête réelle plutôt qu’une arête négative aléatoire.

Logiquement, une taille de lot élevée a une incidence néfaste sur les phases d’entraînement et d’inférence : la mémoire des nœuds et la connectivité du graphe sont toutes deux mises à jour uniquement une fois que l’intégralité d’un lot a été traitée. Par conséquent, les événements ultérieurs au sein d’un lot peuvent être basés sur des informations obsolètes, les événements antérieurs n’étant pas pris en compte. Sur la Figure 3, nous constatons effectivement que des lots volumineux affectent négativement les performances. Cependant, l’emploi de lots de taille moindre exige un accès rapide à la mémoire, de sorte à bénéficier d’un débit élevé lors des phases d’entraînement et d’inférence. Avec un IPU profitant d’une importante quantité de mémoire intégrée, le débit devient supérieur à celui obtenu avec un GPU et des lots de plus petite taille (voir la Figure 4). Plus précisément, la phase d’entraînement du réseau TGN est 11 fois plus rapide avec une taille de lot de 10. À noter, d’ailleurs, que si la taille de lot passe à 200, la phase d’entraînement s’effectue toujours trois fois plus rapidement.

Niveau de fiabilité d’un réseau TGN avec l’ensemble de données JODIE/Wikipédia en cas d’entraînement avec des tailles de lot différentes et de validation avec un lot d’une taille fixe de 10 (à gauche) et en cas d’entraînement avec un lot d’une taille fixe de 10 et de validation avec des tailles de lot différentes (à droite)
Niveau de fiabilité d’un réseau TGN avec l’ensemble de données JODIE/Wikipédia en cas d’entraînement avec des tailles de lot différentes et de validation avec un lot d’une taille fixe de 10 (à gauche) et en cas d’entraînement avec un lot d’une taille fixe de 10 et de validation avec des tailles de lot différentes (à droite)

Augmentation du débit avec des tailles de lot différentes lors de l’utilisation d’un seul IPU du système Bow-2000 en comparaison avec un GPU NVIDIA A100
Augmentation du débit avec des tailles de lot différentes lors de l’utilisation d’un seul IPU du système Bow-2000 en comparaison avec un GPU NVIDIA A100

Étude des performances

Pour mieux comprendre l’augmentation du débit lors de la phase d’entraînement sur un IPU, nous avons étudié la durée nécessaire à l’exécution des opérations clés induites par un réseau TGN sur différentes plateformes (voir la Figure 5). Nous avons observé que cette durée, avec un GPU, était dominée par le module d’attention et le réseau GRU, alors que les conditions sont plus favorables avec l’IPU. D’autre part, au cours de toutes les opérations, l’IPU gère les petites tailles de lot beaucoup plus efficacement, ce qui confirme les résultats illustrés par la prochaine figure. L’emploi de l’IPU est encore plus avantageux en cas d’opérations de moindre envergure et plus fragmentées au niveau de la mémoire. Globalement, nous pouvons affirmer que l’architecture de l’IPU est significativement plus performante que celle d’un GPU lorsque les opérations de calcul et les accès à la mémoire sont très hétérogènes.

Comparaison de la durée des opérations clés avec un réseau TGN sur un IPU et un GPU avec des tailles de lot différentes
Comparaison de la durée des opérations clés avec un réseau TGN sur un IPU et un GPU avec des tailles de lot différentes

Mise à l’échelle sur de larges graphes

Bien que la configuration par défaut du modèle TGN présente un « poids » relativement modeste avec environ 260 000 paramètres, la majeure partie de la mémoire intégrée est utilisée par la mémoire des nœuds si ce modèle est appliqué à de larges graphes. Toutefois, car les accès sont clairsemés, le tenseur ad hoc peut être réacheminé dans la mémoire hors puce, auquel cas l’utilisation de la mémoire intégrée ne dépend pas de la taille du graphe.

Pour tester l’architecture TGN avec de larges graphes, nous l’avons appliquée à un graphe anonymisé englobant 261 millions d’abonnements entre 15,5 millions d’utilisateurs de Twitter [7]. 728 horodatages différents, respectant un ordre temporel, sont assignés aux arêtes, mais ne fournissent aucune information sur la date réelle à laquelle des abonnements ont lieu. Car cet ensemble de données n’inclut aucun attribut de nœud ou d’arête, le modèle se base intégralement sur la topologie du graphe et l’évolution temporelle pour prédire de nouveaux liens.

L’identification d’une arête positive en comparaison avec une seule arête négative étant trop simplifiée par la quantité élevée de données, nous avons opté, en tant que métrique de validation, pour le rang réciproque moyen de l’arête réelle parmi 1 000 arêtes négatives aléatoires. En outre, les performances du modèle se voient optimisées par une taille masquée plus large lors de l’augmentation de la taille de l’ensemble de données. Pour les données concernées, une taille latente de 256 constitue un bon compromis en termes de fiabilité et de débit.

Rang réciproque moyen sélectionné parmi 1 000 arêtes négatives aléatoires pour des tailles masquées différentes du modèle
Rang réciproque moyen sélectionné parmi 1 000 arêtes négatives aléatoires pour des tailles masquées différentes du modèle

L’emploi de la mémoire hors puce par la mémoire des nœuds entraîne la réduction du débit de moitié environ. Cela étant dit, avec des graphes secondaires de tailles différentes, un ensemble de données synthétique comportant 10 fois plus de nœuds que le graphe Twitter et une connectivité aléatoire, le débit ne dépend quasiment pas de la taille du graphe (voir le Tableau ci-dessous). En adoptant cette technique, l’architecture TGN peut être appliquée à des tailles de graphes presque aléatoires, la seule limite étant la quantité de mémoire hôte disponible lorsque l’on cherche à bénéficier d’un débit très élevé au cours des phases d’entraînement et d’inférence.

Durée par lot de taille 256 en phase d’entraînement du réseau TGN avec taille masquée de 256 appliquée à des graphes de tailles différentes (la taille de l’ensemble de données Twitter-tiny est similaire à celle de l’ensemble de données JODIE/Wikipédia)
Durée par lot de taille 256 en phase d’entraînement du réseau TGN avec taille masquée de 256 appliquée à des graphes de tailles différentes (la taille de l’ensemble de données Twitter-tiny est similaire à celle de l’ensemble de données JODIE/Wikipédia)

Références :

[1] Rossi, E., Chamberlain, B., Frasca, F., Eynard, D., Monti, F. et Bronstein, M. Temporal graph networks for deep learning on dynamic graphs. arXiv preprint arXiv:2006.10637, 2020.

[2] https://towardsdatascience.com/temporal-graph-networks-ab8f327f2efe

[3] https://www.graphcore.ai/products

[4] Veličković, P., Cucurull, G., Casanova, A., Romero, A., Liò, P. et Bengio, Y. Graph Attention Networks. In International Conference on Learning Representations, 2018.

[5] Kumar, S., Zhang, X. et Leskovec, J. Predicting dynamic embedding trajectory in temporal interaction networks. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pages 1269 à 1278, 2019.

[6] Pennebaker, J. W., Francis, M. E. et Booth, R. J. Linguistic inquiry and word count: LIWC 2001. Mahwah : Lawrence Erlbaum Associates, 71(2001), 2001.

[7] El-Kishky, A., Markovich, T., Leung, K., Portman, F., Haghighi, A. et Xiao, Y. kNN-Embed: Locally Smoothed Embedding Mixtures For Multi-Interest Candidate Retrieval. arXiv preprint arXiv:2205.06205, 2022.

Contributeur expert

Michael Bronstein

Professeur d’IA chez l’Université d’Oxford et Head of Graph Learning Research

Partager l'article

Levée de fonds historique de 6 milliards de dollars, facilité de crédit de 4 milliards : OpenAI conforte sa position de leader

De nombreux médias avaient rapporté qu'OpenAI était en pourparlers pour une levée de fonds qui la valoriserait à plus de 100 milliards de dollars,...

ActuIA n°17 : ce que vous réserve le nouveau numéro du magazine de l’intelligence artificielle

La rentrée est là, et le nouveau numéro du magazine ActuIA est prêt à vous accompagner dans cette période de renouveau. Que vous le...

IA Eco-Pilot, lauréat de l’AAP «Démonstrateurs d’IA frugale dans les territoires pour la transition écologique»

La création de démonstrateurs faisant usage d'une IA frugale dans des secteurs-clés pour atteindre les objectifs climatiques, tels que les villes durables, les bâtiments...

OpenAI Devday 2024 : Vision Fine-tuning, Model Distillation, Prompt Caching et Realtime API au cœur des annonces

Lors de sa 1ère conférence des développeurs, il y a un peu moins d'un an, les annonces principales d'OpenAI étaient consacrées à GPT-4 turbo,...