Qu'est-ce que All-reduce ?

Communication qui additionne élément par élément les valeurs détenues par tous les GPU et distribue le résultat à chacun. Utilisée pour moyenner les gradients en entraînement à parallélisme de données.

Nom japonais: オールリデュース

« All-reduce » apparaît dans 2 questions d'entraînement réparties sur 1 thèmes, dont Pile matérielle et logicielle de l'IA.

Domaine: Pile matérielle et logicielle de l'IA

S'entraîner : questions sur All-reduce

Quel est le rôle de la communication all-reduce utilisée en entraînement distribué ?

  1. AEffacer les données d'un GPU pour libérer la mémoire
  2. BAdditionner les valeurs (gradients, etc.) détenues par tous les GPU et distribuer cette somme à tous les GPU
  3. CCouper simultanément l'alimentation de tous les GPU
Afficher la réponse et l'explication

Réponse : B. Additionner les valeurs (gradients, etc.) détenues par tous les GPU et distribuer cette somme à tous les GPU

L'all-reduce additionne élément par élément les tenseurs de même forme détenus par chaque GPU (réduction) et transmet le résultat à tous les GPU. Avec la méthode en anneau (ring all-reduce), où les GPU sont reliés en boucle et se passent les données découpées en fragments, le volume de communication par GPU reste presque constant quand le nombre de GPU augmente. En parallélisme de données, cette communication sert à moyenner les gradients à chaque itération.

« All-reduce » dans les explications

Questions mentionnant « All-reduce » (2)

  1. Quel est le rôle de la communication all-reduce utilisée en entraînement distribué ?
  2. Quelle définition du parallélisme de données pour l'entraînement sur plusieurs GPU est correcte ?

Termes associés

GPU Parallélisme de données Rétropropagation Attention Cache KV Checkpointing de gradients Compilateur d'IA Décodage spéculatif Distillation des connaissances Élagage (pruning)

Retour au glossaire