Qu'est-ce que Taille de lot (batch size) ?

Nombre d'entrées traitées ensemble. L'augmenter permet de réutiliser les poids et améliore l'efficacité, mais accroît la latence et la mémoire.

Nom japonais: バッチサイズ

« Taille de lot (batch size) » apparaît dans 4 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 Taille de lot (batch size)

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.

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 ?

  1. AParce que plus il y a d'entrées, moins il y a de calculs par entrée
  2. BParce qu'un lot plus grand réduit le nombre de poids
  3. CParce que les poids lus une fois servent au calcul de plusieurs entrées, ce qui augmente l'intensité arithmétique et permet d'exploiter efficacement les unités de calcul
Afficher la réponse et l'explication

Réponse : C. Parce que les poids lus une fois servent au calcul de plusieurs entrées, ce qui augmente l'intensité arithmétique et permet d'exploiter efficacement les unités de calcul

Avec une taille de lot B, le produit de la matrice de poids par B vecteurs devient le produit de la matrice de poids par une matrice de largeur B. La lecture des poids reste identique alors que les opérations sont multipliées par B ; l'intensité arithmétique est donc multipliée par environ B, et le traitement passe de la limitation par la mémoire à la limitation par le calcul. En inférence sur serveur, regrouper les requêtes de nombreux utilisateurs permet d'utiliser efficacement le GPU.

« Taille de lot (batch size) » dans les explications

Questions mentionnant « Taille de lot (batch size) » (4)

  1. 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 ?
  2. 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 ?
  3. Quel est l'inconvénient d'une taille de lot trop grande en inférence ?
  4. Un modèle dont les poids occupent environ 14 GB en FP16 est décodé avec une taille de lot 1 sur un GPU de 2 TB/s de bande passante mémoire. Quelle valeur est la plus proche de la borne inférieure du temps de génération d'un jeton ?

Termes associés

Intensité arithmétique Inférence GPU Débit (throughput) Cache KV All-reduce Attention Checkpointing de gradients Compilateur d'IA Décodage spéculatif

Retour au glossaire