Pile matérielle et logicielle de l'IA

Quel est le principal objectif de la « fusion d'opérateurs » utilisée dans les calculs d'IA ?

  1. ARegrouper plusieurs opérations dans un seul noyau pour éviter d'écrire puis de relire les résultats intermédiaires en mémoire
  2. BFusionner deux modèles d'IA en un seul pour améliorer la précision des réponses
  3. CFaire fondre physiquement les unités de calcul pour les relier
Afficher la réponse et l'explication

Réponse : A. Regrouper plusieurs opérations dans un seul noyau pour éviter d'écrire puis de relire les résultats intermédiaires en mémoire

Un produit matriciel est souvent suivi d'opérations élément par élément comme l'ajout d'un biais, une fonction d'activation ou une normalisation. Exécutées dans des noyaux séparés, elles écrivent à chaque fois le résultat intermédiaire en mémoire pour qu'il soit relu par le noyau suivant, et les accès mémoire prennent plus de temps que le calcul. Regroupées dans un seul noyau, elles s'enchaînent en gardant les résultats intermédiaires dans les registres ou la mémoire interne à la puce.

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

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

  1. Le traitement consistant à ajouter un biais au résultat d'un produit matriciel puis à appliquer une ReLU est fusionné de trois noyaux séparés en un seul. Qu'est-ce qui diminue principalement ?
  2. Quel est le principal traitement effectué par les compilateurs d'IA comme XLA, TVM ou la fonction de compilation de PyTorch ?
  3. Quelle définition du « graphe de calcul » utilisé dans les frameworks et compilateurs d'IA est correcte ?
  4. Quelle définition d'ONNX est correcte ?
  5. Quelle est la principale raison pour laquelle les environnements d'exécution d'inférence comme TensorRT ou ONNX Runtime sont plus rapides qu'une inférence directe dans le framework d'entraînement ?

Comparatifs sur ce thème