Hydra : Un système pour l'apprentissage profond multi-modèle à grande échelle

L’augmentation de la profondeur et de la taille des modèles est désormais une approche courante pour améliorer la précision dans de nombreuses applications d’apprentissage profond (DL), comme en témoigne le succès généralisé des modèles à plusieurs milliards, voire à plusieurs billions de paramètres, dans la recherche en traitement du langage naturel (NLP). Malgré leurs succès en recherche DL et dans les grandes entreprises technologiques, l’adoption pratique plus large de tels modèles par les scientifiques spécialisés et les entreprises reste freinée par des contraintes de mémoire GPU, des coûts d’entraînement élevés et une disponibilité limitée des GPU, même sur les clouds publics. Le choix de modèles aggrave encore ces contraintes ressources : les utilisateurs doivent souvent comparer des dizaines de modèles aux hyperparamètres ou architectures neurales différentes afin de s’adapter à leur tâche ou à leur jeu de données spécifiques. Dans cet article, nous présentons Hydra, un système conçu pour relever ces défis en permettant une mise à l’échelle « out-of-the-box » des charges de travail DL à plusieurs grands modèles, même sur des GPU grand public, de manière efficace en ressources. Hydra est la première approche à optimiser de manière holistique l’exécution de charges de travail multi-modèles pour des modèles DL de grande taille. Nous y parvenons en adaptant des schémas d’exécution antérieurs « parallélisme de modèle » afin de les faire fonctionner avec un transfert évolutif des paramètres à travers la hiérarchie mémoire, et en hybrideant davantage cette approche avec des techniques de planification de tâches parallèles. Hydra déconnecte la scalabilité des paramètres du modèle de la parallélisation de l’exécution, permettant ainsi aux utilisateurs de DL d’entraîner un modèle de 6 milliards de paramètres sur un seul GPU grand public. Elle exploite également pleinement le potentiel d’accélération offert par le parallélisme des tâches dans les configurations multi-GPU, offrant une montée en charge quasi linéaire en forte échelle et rendant peut-être plus pratique une sélection rigoureuse de modèles pour ces architectures. Nous évaluons la performance globale en ajustant finement GPT-2 pour la modélisation linguistique. Nous constatons que Hydra offre une débit d’entraînement entre 50 % et 100 % supérieur, même aux meilleures configurations des cadres industriels d’avant-garde tels que DeepSpeed et GPipe, dans le contexte d’entraînement multi-grands modèles.