Pile matérielle et logicielle de l'IA

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) ?

  1. APrefill : bande passante mémoire ; décodage : performances de calcul
  2. BPrefill : performances de calcul ; décodage : bande passante mémoire
  3. CDans les deux cas, la vitesse du stockage
Afficher la réponse et l'explication

Réponse : B. Prefill : performances de calcul ; décodage : bande passante mémoire

Le prefill calcule ensemble des centaines à des milliers de jetons d'entrée ; les poids sont réutilisés par de nombreux jetons, le calcul devient un produit matrice-matrice et il est limité par le calcul. Le décodage lit tous les poids pour chaque jeton produit mais ne calcule qu'un jeton ; son intensité arithmétique est faible et il est limité par la mémoire. La vitesse de décodage est donc déterminée approximativement par bande passante mémoire ÷ taille des poids.

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

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

  1. Quel est le rôle du cache KV utilisé dans l'inférence des grands modèles de langage ?
  2. Dans l'inférence d'un grand modèle de langage, quel problème survient souvent avec des textes longs ou de grands lots ?
  3. 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 ?
  4. Comment le volume de calcul de l'auto-attention d'un Transformer croît-il avec la longueur n de la séquence d'entrée ?
  5. Quel est le principe essentiel des implémentations rapides de l'attention comme FlashAttention ?