High Performance Parallel Algorithms for Tensor Decompositions - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2017

High Performance Parallel Algorithms for Tensor Decompositions

Algorithmes Parallèles pour les Décompositions des Tenseurs

Résumé

Tensor factorization has been increasingly used to analyze high-dimensional low-rank data of massive scale in numerous application domains, including recommender systems, graph analytics, health-care data analysis, signal processing, chemometrics, and many others. In these applications, efficient computation of tensor decompositions is crucial to be able to handle such datasets of high volume. The main focus of this thesis is on efficient decomposition of high dimensional sparse tensors, with hundreds of millions to billions of nonzero entries, which arise in many emerging big data applications. We achieve this through three major approaches. In the first approach, we provide distributed memory parallel algorithms with efficient point-to-point communication scheme for reducing the communication cost. These algorithms are agnostic to the partitioning of tensor elements and low rank decomposition matrices, which allow us to investigate effective partitioning strategies for minimizing communication cost while establishing computational load balance. We use hypergraph-based techniques to analyze computational and communication requirements in these algorithms, and employ hypergraph partitioning tools to find suitable partitions that provide much better scalability. Second, we investigate effective shared memory parallelizations of these algorithms. Here, we carefully determine unit computational tasks and their dependencies, and express them using a proper data structure that exposes the parallelism underneath. Third, we introduce a tree-based computational scheme that carries out expensive operations (involving the multiplication of the tensor with a set of vectors or matrices, found at the core of these algorithms) faster by factoring out and storing common partial results and effectively re-using them. With this computational scheme, we asymptotically reduce the number of tensor-vector and -matrix multiplications for high dimensional tensors, and thereby render computing tensor decompositions significantly cheaper both for sequential and parallel algorithms. Finally, we diversify this main course of research with two extensions on similar themes. The first extension involves applying the tree-based computational framework to computing dense tensor decompositions, with an in-depth analysis of computational complexity and methods to find optimal tree structures minimizing the computational cost. The second work focuses on adapting effective communication and partitioning schemes of our parallel sparse tensor decomposition algorithms to the widely used non-negative matrix factorization problem, through which we obtain significantly better parallel scalability over the state of the art implementations. We point out that all theoretical results in the thesis are nicely corroborated by parallel experiments on both shared-memory and distributed-memory platforms. With these fast algorithms as well as their tuned implementations for modern HPC architectures, we render tensor and matrix decomposition algorithms amenable to use for analyzing massive scale datasets.
La factorisation des tenseurs est au coeur des méthodes d’analyse des données massives multi-dimensionnelles dans de nombreux domaines, dont les systèmes de recommandation, les graphes, les données médicales, le traitement du signal, la chimiométrie, et bien d’autres. Pour toutes ces applications, l’obtention rapide de la décomposition des tenseurs est crucicale pour pouvoir traiter manipuler efficacement les énormes volumes de données en jeu. L’objectif principal de cette thèse est la conception d’algorithmes pour la décomposition de tenseurs multi-dimensionnels creux, possédant de plusieurs centaines de millions à quelques milliard de coeffi cients non-nuls. De tels tenseurs sont omni-présents dans les applications citées plus haut. Nous poursuivons cet objectif via trois approches. En premier lieu, nous proposons des algorithmes parallèles à mémoire distribuée, comprenant des schémas de communication point-à-point optimisés, afin de réduire les coûts de communication. Ces algorithmes sont indépendants du partitionnement des éléments du tenseur et des matrices de faible rang. Cette propriété nous permet de proposer des stratégies de partitionnement visant à minimiser le coût de communication tout en préservant l’équilibrage de charge entre les ressources. Nous utilisons des techniques d’hypergraphes pour analyser les paramètres de calcul et de communication de ces algorithmes, ainsi que des outils de partitionnement d’hypergraphe pour déterminer des partitions à même d’offrir un meilleur passage à l’échelle. Deuxièmement, nous étudions la parallélisation sur plate-forme à mémoire partagée de ces algo- rithmes. Dans ce contexte, nous déterminons soigneusement les tâches de calcul et leur dépendances, et nous les exprimons en termes d’une structure de données idoine, et dont la manipulation permet de révéler le parallélisme intrinsèque du problème. Troisièmement, nous présentons un schéma de calcul en forme d’arbre binaire pour représenter les noyaux de calcul les plus coûteux des algorithmes, comme la multiplication du tenseur par un ensemble de vecteurs ou de matrices donnés. L’arbre binaire permet de factoriser certains résultats intermédiaires, et de les ré-utiliser au fil du calcul. Grâce à ce schéma, nous montrons comment réduire significativement le nombre et le coût des multiplications tenseur-vecteur et tenseur-matrice, rendant ainsi la décomposition du tenseur plus rapide à la fois pour la version séquentielle et la version parallèle des algorithmes. Enfin, le reste de la thèse décrit deux extensions sur des thèmes similaires. La première extension consiste à appliquer le schéma d’arbre binaire à la décomposition des tenseurs denses, avec une analyse précise de la complexité du problème et des méthodes pour trouver la structure arborescente qui minimise le coût total. La seconde extension consiste à adapter les techniques de partitionnement utilisées pour la décomposition des tenseurs creux à la factorisation des matrices non-négatives, problème largement étudié et pour lequel nous obtenons des algorithmes parallèles plus efficaces que les meilleurs actuellement connus. Tous les résultats théoriques de cette thèse sont accompagnés d’implémentations parallèles, aussi bien en mémoire partagée que distribuée. Tous les algorithmes proposés, avec leur réalisation sur plate-forme HPC, contribuent ainsi à faire de la décomposition de tenseurs un outil prometteur pour le traitement des masses de données actuelles et à venir.
Fichier principal
Vignette du fichier
thesis.pdf (1.61 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-01623523 , version 2 (25-10-2017)
tel-01623523 , version 1 (25-10-2017)

Identifiants

  • HAL Id : tel-01623523 , version 1

Citer

Oguz Kaya. High Performance Parallel Algorithms for Tensor Decompositions. Computer Science [cs]. ENS de Lyon, 2017. English. ⟨NNT : 2017LYSEN051⟩. ⟨tel-01623523v1⟩
642 Consultations
1849 Téléchargements

Partager

Gmail Facebook X LinkedIn More