Open Neural Network Exchange (Onnx) : tel est le format d'apprentissage machine sur lequel Microsoft et de Facebook ont uni leurs forces pour permettre à leurs analystes de données de partager facilement des modèles qualifiés entre différents frameworks d'apprentissage machine. Onnx doit ainsi servir de socle commun pour représenter les données utilisées par les réseaux neuronaux. La plupart des frameworks utilisent un format spécifique de modèle et il faut passer par un outil de conversion pour le faire fonctionner avec les modèles d'autres frameworks.
Onnx va permettre d'échanger les modèles entre frameworks sans passer par cette étape de conversion. Un modèle qualifié pour un framework pourra être utilisé en inférence par un autre framework. Microsoft affirme que le format Onnx offre des avantages qui vont bien au-delà de la conversion de formats. Selon l’éditeur, Onnx permet par exemple aux développeurs de choisir des frameworks adaptés à une tâche et à un workflow en cours d’exécution et de profiter du fait qu’un framework est généralement optimisé pour différents cas d’usage : l’apprentissage rapide, le support des architectures de réseau flexibles, l’inférence sur les périphériques mobiles, etc.
Les frameworks Caffe2, PyTorch et Cognitive Toolkit supportent déjà Onnx
Facebook précise que quelques frameworks importants offrant le support Onnx sont déjà dans les tuyaux. C’est le cas de Caffe2, PyTorch (deux projets Facebook) et de Cognitive Toolkit (projet Microsoft), qui supporteront le format en septembre. « Les modèles qualifiés pour l'un de ces frameworks pourront être exportés vers un autre framework pour l'inférence », a ainsi déclaré Facebook. Cependant, les premières mises à jour de ces versions compatibles Onnx ne couvriront pas toutes les fonctions. Dans le cas de PyTorch par exemple, Facebook note que « certains programmes très évolués de PyTorch comme ceux proposant le contrôle de flux dynamique » ne bénéficieront pas encore du support total de Onnx.
Par ailleurs, on ne sait pas très bien comment Onnx se comportera avec certains formats de modèles. Par exemple, le format Core ML conçu par Apple permet de créer des modèles de petite taille, très précis pouvant être déployés et servis depuis des périphériques comme l’iPhone. De plus, c’est un format propriétaire. L'un des objectifs à long terme d'Onnx est de faciliter la livraison de modèles en inférence vers différents types de cibles.