Microsoft and Facebook launch ONNX for model interoperability

The Open Neural Network Exchange (ONNX) was first introduced in September 2017 by Facebook and Microsoft as an open standard for representing deep learning models, and its production-ready version 1.0 was announced on December 8, 2017 in a joint post by Facebook, Amazon Web Services, and Microsoft.

ONNX defines a common file format and a shared set of operators so that a model trained in one framework can be exported and run in another. At launch it bridged Facebook’s Caffe2 and PyTorch with Microsoft’s Cognitive Toolkit, and support quickly followed in Apache MXNet, NVIDIA’s TensorRT, and others. Hardware vendors including AMD, ARM, IBM, Intel, Huawei, NVIDIA, and Qualcomm signed on, since a single interchange format meant they could optimize for one target rather than every framework. In October 2019 ONNX was contributed to the LF AI and Data Foundation under the Linux Foundation, putting it under open governance.

ONNX matters because it decoupled model training from model deployment. Teams could research in a flexible framework like PyTorch and then ship to a fast, hardware-specific runtime without rewriting the model, which became a standard pattern in production machine learning.