Simple Science

La science de pointe expliquée simplement

# Informatique

Améliorer la vitesse d'entraînement de l'IA avec Parm

Un nouveau système optimise l'entraînement des gros modèles d'IA en réduisant les coûts de communication.

― 7 min lire


Parm booste la vitesse deParm booste la vitesse deformation du MoE.modèles d'IA.l'efficacité dans la formation de grosUn nouveau système améliore
Table des matières

L'entraînement de modèles à grande échelle en IA est devenu un gros sujet pour les chercheurs. Une méthode courante pour gérer ces gros modèles, c'est d'utiliser des couches appelées Mixture-of-Experts (MoE), qui aident à augmenter la taille du modèle sans trop faire grimper les coûts de calcul. Mais, plus les modèles deviennent grands, plus il faut de communication pendant l'entraînement, ce qui peut ralentir le process, surtout avec plein de GPUs ou TPUs.

Pour ça, les chercheurs ont trouvé différentes manières d'organiser comment les Tâches sont traitées et comment les données sont communiquées. Cependant, beaucoup de ces méthodes galèrent encore avec les coûts de communication liés aux configurations parallèles. Cet article explore un nouveau système appelé Parm, conçu pour améliorer la vitesse d'entraînement des modèles MoE tout en gardant les coûts de communication bas.

Le Défi des Grands Modèles

Avec l'augmentation de la taille des modèles IA, les ressources nécessaires pour les entraîner augmentent aussi. Par exemple, entraîner un modèle avec des milliards de paramètres demande une quantité incroyable de calcul. C'est là que les couches MoE deviennent utiles. Elles permettent aux modèles de grandir tout en minimisant les coûts de calcul supplémentaires. Les couches MoE fonctionnent en activant seulement certaines parties du modèle (appelées experts) pour des tâches spécifiques. Cette activation sélective garde les besoins de calcul globaux plus bas.

Mais même avec les MoE, le temps de communication en utilisant plusieurs GPUs peut prendre une grande partie du temps total d'entraînement. La façon dont les tâches sont réparties entre les GPUs peut causer des retards, surtout si la communication entre eux n'est pas bien gérée. Donc, il faut une meilleure méthode pour planifier les tâches et gérer le transfert de données.

Comprendre les Couches Mixture-of-Experts

Les couches MoE se composent de plusieurs experts, chacun conçu pour gérer différentes parties de la charge de travail. Le système utilise une fonction de gating pour décider quel expert va travailler sur quelle partie des données. Du coup, quand ça se traite, seuls quelques experts sont actifs à la fois. Cette configuration permet d'augmenter la taille du modèle sans doubler le temps de calcul.

Chaque expert fonctionne normalement de manière indépendante et peut être vu comme un petit réseau neuronal. Malgré leur petite taille, quand on les combine, ces experts forment un modèle puissant. Cependant, le mécanisme de gating peut parfois mener à des charges de travail inégales entre les experts. Pour y remédier, des limites sont mises sur le nombre de tâches qu'un expert peut gérer à la fois, assurant une charge de travail plus équilibrée.

Types de Parallélisme

Quand on entraîne de grands modèles, différentes sortes de parallélisme sont utilisées :

  1. Parallélisme de Données (DP) : Ça divise les données entre plusieurs appareils tout en utilisant le même modèle sur chacun. Chaque appareil traite une partie des données en même temps.

  2. Parallélisme de Modèle (MP) : Ça divise le modèle lui-même entre différents appareils. Des parties du modèle sont traitées sur des GPUs séparés.

  3. Parallélisme en Pipeline (PP) : Ça découpe le modèle en étapes, permettant aux données de circuler à travers différentes parties du modèle en même temps.

  4. Parallélisme d'Experts (EP) : Ça répartit les experts sur plusieurs appareils. Si un appareil ne peut pas contenir tous les experts, le travail est distribué entre plusieurs appareils.

  5. Parallélisme Expert-Sharding (ESP) : Ça décompose un seul expert en petites pièces qui peuvent être exécutées sur plusieurs appareils.

Bien que les modèles MoE utilisent généralement EP et ESP ensemble pour l'Efficacité, ils font quand même face à des défis liés aux coûts de communication pendant l'entraînement.

Goulots d'Étranglement de Performance

La vitesse d'entraînement des grands modèles MoE peut être fortement influencée par le temps de communication entre les GPUs. Des recherches montrent que la communication peut prendre jusqu'à 60% du temps total d'entraînement pour les couches MoE sur des clusters de GPUs haut de gamme. Ce problème s'aggrave lorsque plusieurs configurations parallèles sont utilisées en même temps.

En cherchant à améliorer la performance d'entraînement, les chercheurs ont abordé le problème sous différents angles. Certains se sont concentrés sur des algorithmes qui équilibrent les charges de travail entre les appareils. D'autres ont travaillé à améliorer l'efficacité des méthodes de communication. Cependant, beaucoup de solutions passées ont surtout ciblé les coûts de communication associés à l'EP et ont négligé les autres aspects de communication liés au MP et à l'ESP.

Le Système Parm

En réponse à ces défis, Parm a été créé. Il propose deux nouveaux emplois de communication conçus pour améliorer la gestion des tâches quand on utilise MP, EP, et ESP ensemble. L'idée principale de ces emplois est de réduire les calculs et Communications inutiles en plaçant stratégiquement les tâches de communication.

Caractéristiques Clés de Parm

  1. Volume de Communication Réduit : Parm se concentre sur la gestion de la fréquence à laquelle les données sont envoyées entre les appareils, entraînant moins de communication globale.

  2. Élimination des Tâches Dupliquées : Le système organise les tâches de manière à éviter que le même calcul soit effectué plusieurs fois sur différents appareils.

  3. Chevauchement des Tâches : Parm permet à différents types de communications de se chevaucher. C'est essentiel pour maximiser l'utilisation de la bande passante disponible.

En introduisant des emplois dédiés, Parm peut exécuter les tâches plus efficacement, ce qui réduit les temps d'entraînement.

Comment Fonctionne Parm

Parm fonctionne en désactivant temporairement MP pendant certaines tâches pour optimiser la performance. Deux emplois sont mis en œuvre : un avant l'opération de gating de la couche MoE et un autre avant l'opération de combinaison. Cela évite la duplication des tâches et permet un flux d'information plus fluide.

Aperçu des Emplois

  • Premier Emploi : Désactive MP avant la fonction de gating et le réactive après l'opération de combinaison. Cela permet une division efficace des tâches.

  • Deuxième Emploi : Désactive MP après la fonction de gating et le réactive avant le processus de combinaison. Cela offre de la flexibilité selon les conditions spécifiques.

Chaque emploi a des avantages distincts selon les différents paramètres de configuration, et choisir le bon aide à minimiser le temps d'entraînement.

Résultats Expérimentaux

Pour valider l'efficacité de Parm, des tests approfondis ont été réalisés avec un serveur de 8 GPUs et un cluster de 32 GPUs. Les résultats montrent que Parm surpasse significativement les systèmes existants comme DeepSpeed-MoE, atteignant des accélérations allant de 1.13 à 5.77 fois sur une large variété de configurations MoE.

Métriques de Performance

Sur différentes configurations, Parm a pu réduire le temps d'entraînement global tout en entraînant des modèles réels, y compris des versions basées sur GPT-2 et BERT. Les expériences ont confirmé que les stratégies de planification de Parm peuvent offrir une performance d'entraînement plus rapide de manière cohérente à travers plusieurs scénarios.

Conclusion

La création de Parm représente un pas important en avant dans l'entraînement de grands modèles IA. En améliorant la façon dont les tâches et les communications sont planifiées, il a montré des gains substantiels en efficacité et en vitesse. Alors que la demande pour des modèles IA plus grands et plus complexes continue de croître, des systèmes comme Parm seront cruciaux pour surmonter les obstacles associés à l'entraînement efficace de ces modèles.

Source originale

Titre: Parm: Efficient Training of Large Sparsely-Activated Models with Dedicated Schedules

Résumé: Sparsely-activated Mixture-of-Expert (MoE) layers have found practical applications in enlarging the model size of large-scale foundation models, with only a sub-linear increase in computation demands. Despite the wide adoption of hybrid parallel paradigms like model parallelism, expert parallelism, and expert-sharding parallelism (i.e., MP+EP+ESP) to support MoE model training on GPU clusters, the training efficiency is hindered by communication costs introduced by these parallel paradigms. To address this limitation, we propose Parm, a system that accelerates MP+EP+ESP training by designing two dedicated schedules for placing communication tasks. The proposed schedules eliminate redundant computations and communications and enable overlaps between intra-node and inter-node communications, ultimately reducing the overall training time. As the two schedules are not mutually exclusive, we provide comprehensive theoretical analyses and derive an automatic and accurate solution to determine which schedule should be applied in different scenarios. Experimental results on an 8-GPU server and a 32-GPU cluster demonstrate that Parm outperforms the state-of-the-art MoE training system, DeepSpeed-MoE, achieving 1.13$\times$ to 5.77$\times$ speedup on 1296 manually configured MoE layers and approximately 3$\times$ improvement on two real-world MoE models based on BERT and GPT-2.

Auteurs: Xinglin Pan Wenxiang Lin, Shaohuai Shi, Xiaowen Chu, Weinong Sun, Bo Li

Dernière mise à jour: 2024-06-30 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2407.00599

Source PDF: https://arxiv.org/pdf/2407.00599

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires