Pile matérielle et logicielle de l'IA

Pourquoi la consultation de grandes tables d'embeddings, utilisées notamment dans les modèles de systèmes de recommandation, est-elle difficile à traiter pour le matériel d'IA ?

  1. AParce que la consultation demande un très grand nombre de multiplications
  2. BParce que les tables d'embeddings sont petites et tiennent toujours sur la puce
  3. CParce qu'il n'y a presque pas de calcul et que la lecture porte sur des emplacements dispersés d'une table gigantesque ; les unités matricielles ne sont pas exploitées et la vitesse dépend de la capacité, de la bande passante et de la latence mémoire
Afficher la réponse et l'explication

Réponse : C. Parce qu'il n'y a presque pas de calcul et que la lecture porte sur des emplacements dispersés d'une table gigantesque ; les unités matricielles ne sont pas exploitées et la vitesse dépend de la capacité, de la bande passante et de la latence mémoire

Dans les systèmes de recommandation, les tables contenant un vecteur par identifiant d'utilisateur ou de produit atteignent plusieurs centaines de GB, et chaque entrée lit et additionne des lignes dispersées de la table. Le calcul est quasi inexistant, les lectures sont irrégulières et ni la coalescence des accès ni les caches ne sont efficaces ; c'est très éloigné du point fort des accélérateurs optimisés pour le produit matriciel. Il faut répartir les tables dans la mémoire de nombreux GPU ou CPU pour disposer de la capacité et de la bande passante nécessaires.

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

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

  1. Quel ordre de la pile logicielle d'IA, de la couche la plus proche de l'utilisateur à la plus proche du matériel, est correct ?
  2. Quelle différence entre « entraînement » et « inférence » d'un réseau de neurones est correcte ?
  3. Laquelle des propositions suivantes n'explique pas pourquoi la mémoire nécessaire à l'entraînement est bien plus grande que pour l'inférence du même modèle ?
  4. Un modèle de 7 milliards de paramètres (7B) est entraîné en conservant poids, gradients et les deux états d'Adam en FP32 (4 octets). Quelle valeur est la plus proche de la mémoire nécessaire, activations exclues ?
  5. Si les poids d'un modèle de 7 milliards de paramètres (7B) sont stockés en FP16 (2 octets), quelle est approximativement la mémoire des poids ?