Pile matérielle et logicielle de l'IA

Avec une seule entrée (taille de lot 1), pourquoi le calcul d'une couche entièrement connectée (produit matrice de poids-vecteur) tend-il à être limité par la mémoire ?

  1. AParce que le vecteur a trop d'éléments pour tenir dans les unités de calcul
  2. BParce que le produit matrice-vecteur ne peut pas être calculé sur GPU
  3. CParce que chaque élément des poids lu en mémoire ne sert qu'à une seule multiplication-accumulation, d'où une intensité arithmétique très faible
Afficher la réponse et l'explication

Réponse : C. Parce que chaque élément des poids lu en mémoire ne sert qu'à une seule multiplication-accumulation, d'où une intensité arithmétique très faible

Dans un produit matrice-vecteur, chaque élément de la matrice de poids est lu une fois, multiplié par un seul élément de l'entrée et accumulé. En FP16, cela fait 2 opérations pour 2 octets, soit une intensité arithmétique d'environ 1. La lecture des poids prend du temps et les unités de calcul attendent presque en permanence. Regrouper les entrées (augmenter la taille de lot) pour appliquer les mêmes poids à plusieurs entrées augmente l'intensité arithmétique.

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

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

  1. En inférence, pourquoi l'augmentation de la taille de lot (nombre d'entrées traitées ensemble) tend-elle à améliorer l'efficacité globale ?
  2. Quel est l'inconvénient d'une taille de lot trop grande en inférence ?
  3. L'inférence d'un grand modèle de langage se divise en une phase traitant l'ensemble du texte d'entrée (prefill) et une phase produisant la sortie jeton par jeton (décodage). Quelle combinaison des facteurs déterminant principalement leurs performances est correcte (pour un petit lot) ?
  4. Quel est le rôle du cache KV utilisé dans l'inférence des grands modèles de langage ?
  5. Dans l'inférence d'un grand modèle de langage, quel problème survient souvent avec des textes longs ou de grands lots ?