ONNX (Open Neural Network Exchange) est un standard ouvert lancé en 2017 par Microsoft et Meta, conçu pour faciliter le déploiement des modèles de machine learning en rendant les modèles portables et indépendants des frameworks d'origine. Il fonctionne en convertissant le code d'un modèle (comme PyTorch ou TensorFlow) en un graphe statique d'opérations mathématiques standardisées, stocké dans un fichier .onnx, puis exécuté par ONNX Runtime, un moteur optimisé pour maximiser les performances sur différents matériels.
L'intérêt principal d'ONNX réside dans sa capacité à résoudre des problèmes concrets de production, comme l'incompatibilité entre les environnements d'entraînement et de déploiement, ou les contraintes des cibles légères (mobile, embarqué). Il permet également d'optimiser les performances d'inférence en fusionnant des couches et en réduisant la latence, tout en restant plus léger que les frameworks traditionnels.
Bien qu'il existe d'autres formats comme TorchScript ou GGUF, ONNX se distingue par sa polyvalence, couvrant aussi bien les modèles classiques que les architectures de vision, ce qui en fait un choix stratégique pour un déploiement unifié et efficace.