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.
Table des matières
- Comprendre le parallélisme du pipeline
- DUALPIPE: Détallélisme bidirectionnel du pipeline
- Clés
- Détails techniques
- EPLB: Fonctionnement de la technique d'experts parallèle
- Détails
- Équilibrage de charge hiérarchique
- Équilibrage de la charge globale
- Données de profilage: analyse des données de profilage de formation de la formation de calcul
-
- Applications de profilage réels
- Conclusion
- Comprendre le parallélisme du pipeline
- Le parallélisme du pipeline est une approche qui facilite le traitement simultané de divers segments de la séquence d'entraînement d'un modèle. En partageant le modèle et en gérant plusieurs entrées à la fois, le parallélisme du pipeline peut considérablement abréger la période de formation. Pourtant, les méthodologies traditionnelles du pipeline sont sujettes aux inefficacités, notamment des intervalles d'inactivité ou des «bulles», qui nuisent aux performances. Des innovations comme Dualpipe sont introduites pour améliorer ces inefficacités et augmenter l'efficacité globale.
Dans l'apprentissage en profondeur, l'expression «bulles dans un pipeline» caractérise les intervalles d'inactivité sur les GPU pendant l'entraînement parallèle du pipeline, où un segment du pipeline est bloqué, en attente de données d'un segment antécédent. Cela génère un «écart» ou une «bulle» dans la progression de calcul, aboutissant à une gestion inefficace des ressources du GPU.
Dualpipe: parallélisme bidirectionnel du pipeline
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.
Caractéristiques de clés
- chevauchement complet: réalise le chevauchement complet des phases avant et arrière, garantissant que les ressources sont utilisées efficacement.
- Bubbles de pipeline réduits: minimise le temps d'inactivité pendant la formation, conduisant à une utilisation améliorée des ressources et à des temps d'entraînement plus rapides.
Détails techniques
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ù:
- ?: Temps d'exécution d'un morceau avant
- ?: Temps d'exécution d'un morceau complet en arrière
- ?: Temps d'exécution d'un morceau «arrière pour les poids»
- ? & ?: Temps d'exécution de deux morceaux vers l'avant et vers l'arrière se chevauchait mutuellement
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: équilibreur de charge-parallèle expert
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.
Caractéristiques clés
- Parallélisme expert: utilise des modèles d'experts pour équilibrer efficacement la charge, garantissant que chaque unité de traitement est utilisée à son plein potentiel.
- Équilibrage de charge dynamique: s'adapte à des charges de travail variables pendant la formation, permettant aux ajustements en temps réel de maintenir des performances optimales.
Détails techniques
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:
Équilibrage de charge hiérarchique
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.
Équilibrage de la charge globale
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.
Données de profilage: Analyse de la communication de calcul se chevauche
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.
Caractéristiques clés
- Analyse complète: cette approche fournit une évaluation approfondie des phases de calcul et de communication, facilitant une compréhension approfondie des métriques de performance du système.
- Performance Insights: Il identifie les possibilités d'améliorer l'efficacité de la formation, équipant les développeurs d'informations critiques pour guider les efforts d'optimisation.
Données de profilage de formation
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.
Applications du monde réel
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.
Directions futures
à 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.
Conclusion
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











META'S LLAMA 3.2: un bond en avant dans l'IA multimodal et mobile Meta a récemment dévoilé Llama 3.2, une progression importante de l'IA avec de puissantes capacités de vision et des modèles de texte légers optimisés pour les appareils mobiles. S'appuyer sur le succès o

Hé là, codant ninja! Quelles tâches liées au codage avez-vous prévues pour la journée? Avant de plonger plus loin dans ce blog, je veux que vous réfléchissiez à tous vos malheurs liés au codage - les énumérez. Fait? - Let & # 8217

Le paysage de l'IA de cette semaine: un tourbillon de progrès, de considérations éthiques et de débats réglementaires. Les principaux acteurs comme Openai, Google, Meta et Microsoft ont déclenché un torrent de mises à jour, des nouveaux modèles révolutionnaires aux changements cruciaux de LE

La récente note du PDG de Shopify Tobi Lütke déclare hardiment la maîtrise de l'IA une attente fondamentale pour chaque employé, marquant un changement culturel important au sein de l'entreprise. Ce n'est pas une tendance éphémère; C'est un nouveau paradigme opérationnel intégré à P

Introduction Imaginez vous promener dans une galerie d'art, entourée de peintures et de sculptures vives. Maintenant, que se passe-t-il si vous pouviez poser une question à chaque pièce et obtenir une réponse significative? Vous pourriez demander: «Quelle histoire racontez-vous?

Introduction Openai a publié son nouveau modèle basé sur l'architecture «aux fraises» très attendue. Ce modèle innovant, connu sous le nom d'O1, améliore les capacités de raisonnement, lui permettant de réfléchir à des problèmes Mor

Instruction ALTER TABLE de SQL: Ajout de colonnes dynamiquement à votre base de données Dans la gestion des données, l'adaptabilité de SQL est cruciale. Besoin d'ajuster votre structure de base de données à la volée? L'énoncé de la table alter est votre solution. Ce guide détaille l'ajout de Colu

Pour ceux d'entre vous qui pourraient être nouveaux dans ma chronique, j'explore largement les dernières avancées de l'IA dans tous les domaines, y compris des sujets tels que l'IA incarnée, le raisonnement de l'IA, les percées de haute technologie dans l'IA, l'ingénierie rapide, la formation de l'IA, la mise en place de l'IA, l'IA re
