Microsoft And Facebook Announces An Open Standard For AI And Deep Learning

As Artificial Intelligence and deep learning have gone mainstream, many companies are bringing their own AI-compatible products into the market.

But the problem is, the software that runs on deep learning and AI=specific hardware are mostly developed using custom solutions, created uniquely by individual companies Microsoft and Facebook are teaming up to change that.

The two have announced an open source project that aims to create a shared model representation of neural networks across different programming frameworks.

Called the Open Neural Network Exchange (ONNX), the project has a goal to make things possible to share models across Cognitive Toolkit, PyTorch, and Caffe2.

At the moment of the introduction, ONNX is supposed to help solve one of the key issues in the machine learning ecosystem. But the thing is, there's a profusion of different frameworks for setting and executing neural networks and other machine learning systems. They're all different, and they aren't interoperable.

For this reason ONNX is also meant to solve this issue.

For Facebook, ONNX can be used to export a trained model created with PyTorch and use it with Caffe2 for inference. On Microsoft's side, the company said that it's working on a version of Cognitive Toolkit (also known as CNTK) that uses ONNX.

ONNX provides a shared model representation for interoperability and innovation in the AI framework ecosystem. This should make it easier for developers to create and run computation graphs that represent neural networks.

ONNX works by tracing how a neural network is generated using one of these frameworks when they are executed at runtime. Then, using that information, ONNX can create a generic computation graph that can be moved around.

This is possible because each of those frameworks produces a very similar end result when it comes to computation, although the higher level representation is different.

The biggest issue concerning ONNX is that the system is not yet compatible with some popular machine frameworks, such as: Google's TensorFlow and Apache MXNet, which is Amazon's preferred machine learning framework.

In addition to that, ONNX also doesn’t support some more complex networks, like those created in PyTorch with dynamic flow control.

Facebook said that it had to make changes to both PyTorch and Caffe2 in order to support the project.

Both Microsoft and Facebook have said that they are hoping for the open source community to help them evolve ONNX, so support for more frameworks will be possible in the future.

Published: 
07/09/2017