Pile matérielle et logicielle de l'IA

Quelle définition du parallélisme de données pour l'entraînement sur plusieurs GPU est correcte ?

  1. AChaque GPU détient une copie complète du modèle et calcule sur une partie des données ; les gradients obtenus sont moyennés sur tous les GPU avant la mise à jour des poids
  2. BLes couches du modèle sont réparties et chaque GPU prend en charge des couches différentes
  3. CUn seul GPU calcule et les autres restent en réserve
Afficher la réponse et l'explication

Réponse : A. Chaque GPU détient une copie complète du modèle et calcule sur une partie des données ; les gradients obtenus sont moyennés sur tous les GPU avant la mise à jour des poids

En parallélisme de données, tous les GPU détiennent le même modèle et se partagent le lot de données d'entraînement, chacun effectuant propagation avant et rétropropagation. Les gradients des GPU différant, une communication additionne et moyenne les gradients sur tous les GPU (all-reduce) ; tous mettent à jour les poids avec le même gradient et les copies du modèle restent identiques. Simple et efficace si le modèle tient dans un GPU, il voit sa communication s'alourdir quand le nombre de GPU augmente.

S'entraîner sur ce thème Retour au thème

Autres questions sur Pile matérielle et logicielle de l'IA

  1. Quelle définition du parallélisme de tenseur, qui répartit sur plusieurs GPU le produit matriciel d'une grande couche ne tenant pas dans la mémoire d'un seul GPU, est correcte ?
  2. En parallélisme de pipeline, où les couches du modèle sont réparties successivement sur plusieurs GPU, pourquoi découpe-t-on le lot en petits micro-lots ?
  3. Quel est le rôle de la communication all-reduce utilisée en entraînement distribué ?
  4. Quelle définition du point de contrôle des gradients (recalcul des activations) utilisé en entraînement est correcte ?
  5. Quelle est la principale raison pour laquelle le réseau systolique utilisé dans les accélérateurs d'IA calcule efficacement les produits matriciels ?

Comparatifs sur ce thème