Pile matérielle et logicielle de l'IA

Quel est le principal traitement effectué par les compilateurs d'IA comme XLA, TVM ou la fonction de compilation de PyTorch ?

  1. ATraduire les réponses d'un modèle d'IA en langage humain
  2. BCollecter automatiquement les données d'entraînement
  3. CAnalyser le graphe de calcul du modèle, optimiser la fusion d'opérations, l'agencement des données, le tuilage, etc., et générer du code pour le matériel cible
Afficher la réponse et l'explication

Réponse : C. Analyser le graphe de calcul du modèle, optimiser la fusion d'opérations, l'agencement des données, le tuilage, etc., et générer du code pour le matériel cible

Le compilateur d'IA reçoit le modèle sous forme de graphe de calcul (opérations et flux de données), fusionne les opérations regroupables, supprime les calculs inutiles, choisit l'agencement mémoire, ajuste la taille des tuiles, etc., et génère des noyaux adaptés à la cible, GPU, NPU ou autre. Il produit automatiquement le code optimal pour chaque matériel à partir du même modèle, ce qui réduit fortement l'effort d'optimisation manuelle.

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

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

  1. Quelle définition du « graphe de calcul » utilisé dans les frameworks et compilateurs d'IA est correcte ?
  2. Quelle définition d'ONNX est correcte ?
  3. 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 ?
  4. Pourquoi les opérations élément par élément comme la ReLU ou la normalisation de couche prennent-elles souvent beaucoup de temps au regard de leur nombre d'opérations dans les calculs d'IA ?
  5. Dans les réseaux de neurones convolutifs, pourquoi le calcul de convolution est-il parfois converti en produit matriciel par une méthode comme im2col ?

Comparatifs sur ce thème