Skip to Main content Skip to Navigation
Reports

Optimal checkpointing for heterogeneous chains: how to train deep neural networks with limited memory

Olivier Beaumont 1, 2, 3 Lionel Eyraud-Dubois 1, 2, 3 Julien Herrmann 2, 3, 4 Alexis Joly 5, 6, 7 Alena Shilova 1, 2, 3
1 HiePACS - High-End Parallel Algorithms for Challenging Numerical Simulations
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest
4 TADAAM - Topology-Aware System-Scale Data Management for High-Performance Computing
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest
5 ZENITH - Scientific Data Management
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier, CRISAM - Inria Sophia Antipolis - Méditerranée
Résumé : Cet article introduit une nouvelle méthode de sauvegarde des activations qui permet de réduire significavement la mémoire utilisée lors de la phase d'apprentissage de Réseaux de Neurones Profonds avec l'algorithme de rétropropagation. Cette méthode, inspirée des techniques de checkpoint en Différentiation Automatique, sélectionne dynamiquement les activations sauvegardées pendant la phase avant, puis recalcule automatiquement le sactivations manquantes à partir de celles sauvegardées précédemment. Nous proposons un modèle de calcul original qui combine deux façons de sauvegarder une activation : soit ne stocker que les entrées de la couche concernée, soit enregistrer l'historique complet des opérations qui ont permis de produire les sorties (cela utilise plus de mémoire, mais nécessite moins de recalcul dans la phase arrière). Nous présentons un algorithme qui fournit la séquence de calculer la séquence à mémoire persistente optimale pour ce modèle. Cet article décrit également une implémentation dans PyTorch qui automatise le processus, peut être utilisée avec un RNN séquentiel quelconque dont les couches internes peuvent être arbitrairement complexes, et l'exécute en suivant la stratégie optimale étant donnée une limite de mémoire. À travers de nombreuses expériences, nous montrons que notre implémentation obtient invariablement de meilleures performances que les approches existantes sur une large gamme de réseaux, tailles d'images et tailles de batch.
Complete list of metadatas

Cited literature [11 references]  Display  Hide  Download

https://hal.inria.fr/hal-02352969
Contributor : Lionel Eyraud-Dubois <>
Submitted on : Monday, November 25, 2019 - 2:24:09 PM
Last modification on : Thursday, January 9, 2020 - 9:56:07 AM
Document(s) archivé(s) le : Wednesday, February 26, 2020 - 12:15:13 PM

Files

RR-9302.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02352969, version 1
  • ARXIV : 1911.13214

Citation

Olivier Beaumont, Lionel Eyraud-Dubois, Julien Herrmann, Alexis Joly, Alena Shilova. Optimal checkpointing for heterogeneous chains: how to train deep neural networks with limited memory. [Research Report] RR-9302, Inria Bordeaux Sud-Ouest. 2019. ⟨hal-02352969⟩

Share

Metrics

Record views

158

Files downloads

182