5 Août 2019

Mila lance un système d’intégration graphique général et performant

Les graphiques sont des structures de données générales et flexibles pour coder les relations entre différents objets et sont omniprésents dans le monde réel. Parmi les exemples de graphiques du monde réel, mentionnons les réseaux sociaux, les graphiques de citation, les graphiques d’interaction protéine-protéine et les graphiques de connaissances, couvrant une variété d’applications et de domaines. Récemment, on s’intéresse de plus en plus à l’apprentissage de représentations efficientes des graphiques en raison de leur efficacité dans une variété de tâches. Cependant, le problème est difficile à résoudre, car les graphiques du monde réel peuvent être très volumineux et hétérogènes. Par conséquent, il existe un fort besoin de développer des systèmes de représentation graphique évolutifs et généraux pour différentes tâches et applications dans les milieux universitaires et industriels.

À Mila, le groupe du professeur Jian Tang a développé un système d’intégration de graphes général et performant appelé GraphVite. Comparé aux systèmes d’apprentissage machine existants tels que Tensorflow et Pytorch, qui sont principalement conçus pour des données avec des structures régulières (par exemple, images, parole et langage naturel), GraphVite est spécifiquement conçu pour des graphiques à grande échelle. Il fonctionne sur les architectures hybrides CPU-GPU et s’adapte linéairement au nombre de GPU. Le système est une ou deux fois plus rapide que les implémentations existantes. Par exemple, pour un graphique d’un million de nœuds, il suffit d’environ une minute pour apprendre les représentations des nœuds avec 4 GPU. En plus de son efficacité supérieure, GraphVite supporte également une variété d’applications, notamment :

  • Node Embedding qui vise à l’intégration de nœuds d’apprentissage de graphiques à grande échelle. GraphVite inclut maintenant des méthodes d’intégration de nœuds de pointe telles que DeepWalk, LINE, et node2vec. Nous prévoyons d’ajouter d’autres méthodes à l’avenir.
  • Incorporation de graphiques de connaissances. L’objectif est d’apprendre les représentations des entités et des relations. Aujourd’hui, nous supportons une variété de méthodes représentatives telles que TransE, DisMult, CompEx, SimplE et RotatE. Nous ajouterons également d’autres approches à l’avenir.
  • Visualisation de graphiques et de données de haute dimension. GraphVite supporte également l’apprentissage des coordonnées 2D ou 3D des nœuds pour visualiser les graphiques qui peuvent être généralisées pour visualiser n’importe quelle donnée de haute dimension. Cela peut être particulièrement utile pour visualiser les représentations apprises par les réseaux neuronaux profonds. GraphVite implémente maintenant l’un des algorithmes de visualisation les plus modernes : LargeVis. À l’avenir, nous prévoyons inclure d’autres algorithmes de visualisation tels que t-SNE et UMAP.

Figure : Trois applications que GraphVite supporte.

En plus de la vitesse étonnante, GraphVite fournit également des applications complètes et conviviales pour la recherche et le développement. Avec des modules tels que des ensembles de données et des tâches d’évaluation, le système est un environnement autonome pour intégrer des modèles et des expériences. Il y a plus de 30 repères de référence de modèles existants bien connus sur les ensembles de données standard. Il est très facile de reproduire ces modèles, de les déployer sur de grands ensembles de données réelles et de développer de nouveaux modèles pour l’apprentissage de la représentation graphique. Nous souhaitons accélérer la recherche et le développement de l’apprentissage de la représentation graphique par GraphVite.

Le développement de GraphVite est dirigé par l’étudiant de première année de P.h.D. Zhaocheng Zhu et également contribué par Shizhen Xu et Meng Qu. Le dépôt de GraphVite est disponible à l’adresse suivante : https://github.com/DeepGraphLearning/graphvite, et l’article original est disponible à l’adresse https://arxiv.org/abs/1903.00757. Pour plus d’informations sur GraphVite, consultez le site web https://graphvite.io/.