Maison >Périphériques technologiques >IA >Stratégies de parallélisme optimisées publiées par Deepseek
Dans le cadre de #OpenSourceweek Day 4, Deepseek présente 2 nouveaux outils pour rendre l'apprentissage en profondeur plus rapide et plus efficace: Dualpipe et EPLB. Ces outils aident à améliorer la façon dont les ordinateurs gèrent les calculs et la communication pendant la formation, ce qui rend le processus plus lisse et plus rapide. Dans le monde en évolution rapide de l'apprentissage en profondeur, trouver des moyens de mieux former des modèles tout en utilisant moins de ressources est essentielle. Dualpipe et EPLB sont de grands pas en avant pour résoudre ces défis. Cet article explique comment ces outils fonctionnent et comment ils peuvent faire une différence dans l'apprentissage en profondeur.
? Jour 4 de #OpenSourceWeek: Stratégies de parallélisme optimisées
- Deepseek (@deepseek_ai) 27 février 2025
✅ Dualpipe - Un algorithme de parallélisme bidirectionnel pour le chevauchement de communication de calcul dans la formation V3 / R1.
? https://t.co/gbtxsvwlt4
✅ EPLB - Un équilibreur de charge-parallèle expert pour v3 / r1.
?…
Cette version marque le jour 4 de nos célébrations de la semaine open source, après les lancements réussis de FlashML le jour 1, DeepPe le jour 2 et Deepgemm le jour 3.
Dualpipe est un algorithme de parallélisme bidirectionnel sophistiqué qui vise à maximiser le chevauchement entre les phases de communication de calcul vers l'avant et vers l'arrière. Cette approche est particulièrement bénéfique pour réduire les bulles de pipeline, ce qui peut entraver considérablement l'efficacité de l'entraînement.
Les performances de l'algorithme peuvent être illustrées grâce à un exemple de planification impliquant 8 rangs PP et 20 micro-lots. Les micro-lots dans le sens inverse sont symétriques à ceux dans le sens avant, simplifiant l'illustration.
Method | Bubble | Parameter | Activation |
1F1B | (PP-1)(? ?) | 1× | PP |
ZB1P | (PP-1)(? ?-2?) | 1× | PP |
DualPipe | (PP/2-1)(?&? ?-3?) | 2× | PP 1 |
où:
Exemple de configuration de planification à deux tuyaux pour 8 pp (parallélisme du pipeline) et 20 micro-lots, avec un accent sur deux directions. Les micro-lots traités dans le sens inverse reflètent ceux dans le sens avant, nous permettant d'omettre leurs identifiants par lots dans le but de simplifier l'illustration. Deux cellules qui partagent une bordure noire commune sont impliquées dans les tâches de calcul et de communication qui se chevauchent.
Pour plus d'informations, visitez le référentiel Github Dualpipe
EPLB, ou équilibreur de charge-parallèle expert, optimise l'équilibrage de la charge dans la formation V3 / R1. Il distribue efficacement les charges de travail sur plusieurs unités de traitement, augmentant les performances globales.
EPLB (distribution efficace de la charge des pipelines) vise à affectation judicieuse des tâches aux ressources accessibles pour diminuer les intervalles inactifs et améliorer le débit. Cette méthodologie est d'une signification accrue dans les contextes où des modèles ou des tâches variables nécessitent des niveaux distincts de pouvoir de calcul.
L'algorithme d'équilibrage de charge utilise deux politiques distinctes, adaptées à des circonstances variables:
La stratégie d'équilibrage de charge hiérarchique s'active lorsque le nombre de nœuds de serveur se divise uniformément dans le nombre de groupes d'experts. Cette stratégie tire parti du routage d'experts limité en groupe en organisant initialement des groupes d'experts sur les nœuds d'une manière qui favorise la distribution équilibrée des charges. Par la suite, la réplication des experts se produit dans chaque nœud pour maintenir l'équilibre de charge. En fin de compte, ces experts reproduits sont affectés à des GPU individuels, atteignant ainsi l'équilibre de la charge entre différents GPU. La politique d'équilibrage de la charge hiérarchique est particulièrement adaptée à la phase de préfilmage lorsqu'il s'agit de petites tailles d'experts parallèles.
Inversement, lorsque le nombre des nœuds du serveur ne divise pas les groupes d'experts, la politique globale d'équilibrage de charge est mise en œuvre. Cette approche implique la réplication mondiale d'experts, quelle que soit leur groupe au sein des groupes d'experts. Après la réplication, les experts sont répartis uniformément aux GPU individuels, garantissant un équilibre de chargement à travers les GPU. La politique globale d'équilibrage de la charge est applicable au stade de décodage lors de la gestion des tailles d'experts parallèles plus grandes.
Exemple de code:
import torch import eplb weight = torch.tensor([[ 90, 132, 40, 61, 104, 165, 39, 4, 73, 56, 183, 86], [ 20, 107, 104, 64, 19, 197, 187, 157, 172, 86, 16, 27]]) num_replicas = 16 num_groups = 4 num_nodes = 2 num_gpus = 8 phy2log, log2phy, logcnt = eplb.rebalance_experts(weight, num_replicas, num_groups, num_nodes, num_gpus) print(phy2log)
Sortie:
tensor([[ 5, 6, 5, 7, 8, 4, 3, 4, 10, 9, 10, 2, 0, 1, 11, 1], [ 7, 10, 6, 8, 6, 11, 8, 9, 2, 4, 5, 1, 5, 0, 3, 1]])
La représentation visuelle illustre une configuration à deux niveaux de mélange d'experts (MOE), chaque niveau comprenant 12 experts spécialisés. Pour augmenter la robustesse du modèle et créer des mécanismes de sauvegarde, nous introduisons 4 experts supplémentaires à chaque niveau. Cette modification conduit à un total cumulatif de 16 experts par niveau servant de sauvegardes. Le système reproduit et distribue ces experts sur 2 nœuds de calcul, chaque nœud contenant 4 GPU. Il applique la politique d'équilibrage des charges hiérarchiques et démontre la réplication stratégique et l'allocation des experts selon le plan.
Pour les instructions de mise en œuvre détaillées, reportez-vous au référentiel EPLB GitHub.
Pour analyser efficacement le chevauchement de communication de calcul dans V3 / R1, les données de profilage fournissent des informations essentielles. Les goulots d'étranglement des performances et l'optimisation du processus de formation peuvent être compris en utilisant ces données.
Les données de profil de formation illustre la stratégie de chevauchement des morceaux inversés et arrière inverses dans Dualpipe. Chaque morceau intègre 4 couches de mélange d'experts (MOE). La configuration parallèle correspond aux paramètres utilisés dans Deepseek-V3 Pre-Traging, spécifiquement en utilisant des configurations EP64 (EPOCH 64) et TP1 (rembourrage temporel avec 1 jeton), avec une longueur de séquence de 4K. Pour garder les choses simples, nous excluons la communication PP (parallélisme du pipeline) pendant le profilage.
Pour plus d'informations et pour accéder aux données de profilage, visitez le référentiel Github de profilage.
L'application pratique de Dualpipe et EPLB a démontré des résultats encourageants dans divers domaines tels que le traitement du langage naturel, la vision par ordinateur et l'apprentissage du renforcement. En affinant le processus de formation, ces méthodologies facilitent la convergence des modèles accélérés et la précision accrue, se révèlent être des instruments indispensables pour les chercheurs et les praticiens.
à mesure que le domaine de l'apprentissage en profondeur progresse, la demande de méthodologies de formation plus efficaces augmentera probablement. Les enquêtes futures pourraient se concentrer sur l'amplification de l'efficacité de Dualpipe et EPLB, éventuellement en étudiant les modèles hybrides qui fusionnent les avantages des deux. De plus, l'intégration de ces stratégies avec des technologies de pointe, y compris l'informatique quantique, pourrait ouvrir de nouvelles voies d'optimisation.
Les progrès des stratégies de parallélisme via Dualpipe et EPLB marquent des progrès considérables dans le raffinement des procédures de formation en profondeur. En exploitant ces algorithmes, les chercheurs et les praticiens peuvent atteindre une utilisation supérieure des ressources et des durées de formation accélérées, aboutissant à une création de modèles plus efficace. L’assimilation des données de profilage augmente la capacité d’étalonner ces processus, garantissant que la trajectoire d’apprentissage en profondeur de progrès rapide persiste.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!