An Integer Linear Programming Approach for Pipelined Model Parallelism - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 2022

An Integer Linear Programming Approach for Pipelined Model Parallelism

Une approche fondée sur la programmation linéaire pour le parallélisme de modèle

Abstract

The training phase in Deep Neural Networks has become an important source of computing resource usage and because of the resulting volume of computation, it is crucial to perform it efficiently on parallel architectures. Even today, data parallelism is the most widely used method, but the associated requirement to replicate all the weights on the totality of computation resources poses problems of memory at the level of each node and of collective communications at the level of the platform. In this context, the model parallelism, which consists in distributing the different layers of the network over the computing nodes, is an attractive alternative. Indeed, it is expected to better distribute weights (to cope with memory problems) and it does not imply large collective communications since only forward activations are communicated. However, to be efficient, it must be combined with a pipelined/streaming approach, which leads in turn to new memory costs. The goal of this paper is to model these memory costs in detail and to show that it is possible to formalize this optimization problem as an Integer Linear Program (ILP).
La phase d’apprentissage dans les réseaux neuronaux profonds est devenue une source importante d’utilisation des ressources de calcul et, en raison du volume de calcul qui en résulte, il est crucial de l’exécuter efficacement sur des architectures parallèles. Aujourd’hui encore, le parallélisme de données est la méthode la plus utilisée, mais l’exigence associée de répliquer tous les poids sur la totalité des ressources de calcul pose des problèmes de mémoire au niveau de chaque nœud et de communications collectives au niveau de la plateforme. Dans ce contexte, le parallélisme de modèle, qui consiste à répartir les différentes couches du réseau sur les nœuds de calcul, est une alternative intéressante. En effet, il est censé mieux répartir les poids (pour faire face aux problèmes de mémoire) et il n’implique pas de grosses communications collectives puisque seules les activations "forward" sont communiquées. Cependant, pour être efficace, elle doit être combinée avec une approche pipelinée/streaming, ce qui entraîne à son tour de nouveaux coûts mémoire. L’objectif de cet article est de modéliser ces coûts de mémoire en détail et de montrer qu’il est possible de formaliser ce problème d’optimisation comme un programme linéaire en nombre entier (ILP).
Fichier principal
Vignette du fichier
RR-9452.pdf (905.44 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03549009 , version 1 (31-01-2022)
hal-03549009 , version 2 (01-02-2022)

Identifiers

  • HAL Id : hal-03549009 , version 2

Cite

Olivier Beaumont, Lionel Eyraud-Dubois, Alena Shilova. An Integer Linear Programming Approach for Pipelined Model Parallelism. [Research Report] RR-9452, Inria. 2022. ⟨hal-03549009v2⟩
153 View
167 Download

Share

Gmail Mastodon Facebook X LinkedIn More