Permalink : https://doi.org/1866/22128
Analyzing the benefits of communication channels between deep learning models
Thesis or Dissertation
2018-08 (degree granted: 2019-03-13)
Advisor(s)
Level
Master'sDiscipline
InformatiqueKeywords
- Apprentissage automatique
- Apprentissage profond
- Communication
- Langage
- Professeur
- Étudiant
- Optimisation
- Gradient
- Machine learning
- Deep learning
- Communication
- Language
- Teacher
- Student
- Optimization
- Applied Sciences - Artificial Intelligence / Sciences appliqués et technologie - Intelligence artificielle (UMI : 0800)
Abstract(s)
Comme les domaines d’application des systèmes d’intelligence artificielle ainsi que les tâches associées ne cessent de se diversifier, les algorithmes d’apprentissage automatique et en particulier les modèles d’apprentissage profond et les bases de données requises au fonctionnement de ces derniers grossissent continuellement. Certains algorithmes permettent de mettre à l’échelle les nombreux calculs en sollicitant la parallélisation des données. Par contre, ces algorithmes requièrent qu’une grande quantité de données soit échangée afin de s’assurer que les connaissances partagées entre les cellules de calculs soient précises. Dans les travaux suivants, différents niveaux de communication entre des modèles d’apprentissage profond sont étudiés, en particulier l’effet sur la performance de ceux-ci. La première approche présentée se concentre sur la décentralisation des multiples calculs faits en parallèle avec les algorithmes du gradient stochastique synchrone ou asynchrone. Il s’avère qu’une communication simplifiée qui consiste à permettre aux modèles d’échanger des sorties à petite bande passante peut se montrer bénéfique. Dans le chapitre suivant, le protocole de communication est modifié légèrement afin d’y communiquer des instructions pour l’entraînement. En effet, cela est étudié dans un environnement simplifié où un modèle préentraîné, tel un professeur, peut personnaliser l’entraînement d’un modèle initialisé aléatoirement afin d’accélérer l’apprentissage. Finalement, une voie de communication où deux modèles d’apprentissage profond peuvent s’échanger un langage spécifiquement fabriqué est analysée tout en lui permettant d’être optimisé de différentes manières. As artificial intelligence systems spread to more diverse and larger tasks in many domains, the machine learning algorithms, and in particular the deep learning models and the databases required to train them are getting bigger themselves. Some algorithms do allow for some scaling of large computations by leveraging data parallelism. However, they often require a large amount of data to be exchanged in order to ensure the shared knowledge throughout the compute nodes is accurate. In this work, the effect of different levels of communications between deep learning models is studied, in particular how it affects performance. The first approach studied looks at decentralizing the numerous computations that are done in parallel in training procedures such as synchronous and asynchronous stochastic gradient descent. In this setting, a simplified communication that consists of exchanging low bandwidth outputs between compute nodes can be beneficial. In the following chapter, the communication protocol is slightly modified to further include training instructions. Indeed, this is studied in a simplified setup where a pre-trained model, analogous to a teacher, can customize a randomly initialized model’s training procedure to accelerate learning. Finally, a communication channel where two deep learning models can exchange a purposefully crafted language is explored while allowing for different ways of optimizing that language.