Qu'est-ce que ONNX ?

Format de modèle commun permettant d'échanger des modèles entre frameworks et moteurs d'inférence différents. Abréviation de Open Neural Network Exchange.

Nom japonais: ONNX

« ONNX » apparaît dans 2 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 ONNX

Quelle définition d'ONNX est correcte ?

  1. ALe nom d'une puce semi-conductrice dédiée à l'IA
  2. BUne méthode de compression des données d'entraînement de l'IA
  3. CUn format de modèle commun pour échanger des modèles entre frameworks et environnements d'exécution d'inférence différents
Afficher la réponse et l'explication

Réponse : C. Un format de modèle commun pour échanger des modèles entre frameworks et environnements d'exécution d'inférence différents

ONNX (Open Neural Network Exchange) est une norme représentant le graphe de calcul et les poids d'un modèle dans un format commun. Un modèle entraîné par exemple avec PyTorch et exporté en ONNX peut être chargé et exécuté par l'environnement d'inférence d'une autre société ou par les outils de divers matériels. Séparant l'environnement d'entraînement de celui d'inférence, il facilite le choix du mécanisme d'exécution optimal pour chaque équipement.

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 ?

  1. AIls optimisent le graphe sous la forme requise par la seule inférence et effectuent fusion d'opérations, quantification, choix de noyaux adaptés au matériel, etc.
  2. BIls omettent des calculs et produisent des réponses approximatives
  3. CIls augmentent le nombre de poids du modèle
Afficher la réponse et l'explication

Réponse : A. Ils optimisent le graphe sous la forme requise par la seule inférence et effectuent fusion d'opérations, quantification, choix de noyaux adaptés au matériel, etc.

Les frameworks d'entraînement privilégient la souplesse d'écriture et l'enregistrement nécessaire à la rétropropagation, ce qui est superflu pour la seule inférence. Après chargement du modèle, l'environnement d'inférence supprime les parties inutiles à l'inférence, fusionne les opérations, réduit au besoin la précision des poids et des activations, et choisit les noyaux les plus rapides pour le GPU ou le NPU cible. La latence et la mémoire d'un même modèle diminuent ainsi fortement.

« ONNX » dans les explications

Questions mentionnant « ONNX » (2)

  1. Quelle définition d'ONNX est correcte ?
  2. 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 ?

Termes associés

Inférence Graphe de calcul Moteur d'inférence (runtime) Rétropropagation GPU NPU (unité de traitement neuronal) All-reduce Attention Cache KV Checkpointing de gradients

Retour au glossaire