With this Little Project, Microsoft and Facebook are Planning to Solve One of the Biggest Challenges in Deep Learning Systems
The fragmentation of the deep learning technology ecosystem has been one of the biggest roadblocks for the mainstream adoption of these frameworks. The large number of heterogeneous deep learning frameworks, each one with their own strengths and weaknesses, makes it really challenging for developers and organizations to select the right tool fo the job. More importantly, interoperability across the different deep learning stacks is almost non-existent. Now Microsoft and Facebook seem to have a solution.
Called the Open Neural Network Exchange(ONNX) , the result of the collaboration between Microsoft and Facebook makes it possible to share neural networks across different deep learning runtimes. Specifically, the first version of ONNX focuses on the interoperability between PyTorch and Caffe2. This is mostly based on the fact that both technology stacks are broadly adopted across different Facebook divisions such as Applied Machine Learning(AML) or Facebook AI Research(FAIR). Additionally, ONNX is planning to add support for Microsoft Cognitive Toolkit(CNTK) in the near future.
At its core, ONNX works by tracing the execution of a deep learning model and creating a generic computation graph that can be used across different frameworks. This is possible because, as it turns out, all those different deep learning frameworks generate very similar computation graphs at runtime. However, PyTorch, CNTK and Caffe2 had to be modified in order to support ONNX which indicates that there is going to be some effort required to adapt frameworks such as Apache MxNet, TensorFlow, Theano, PaddlePaddle and others to the ONNX stack.
Beyond the obvious benefits in terms of portability and interoperability, there are several intangible benefits to the adoption of ONNX. Let’s discuss a few that come to mind:
1 — Boosting AI Algorithm Marketplaces
Algorithm marketplaces (such as Algorithmia) are an emerging field in the AI technology ecosystem. Until now, AI algorithm marketplaces host models in their own runtime representation and there is no portability to other frameworks. Technologies such as ONNX can enable the adoption of deep learning models hosted in a marketplace across different frameworks which should help to boost the adoption of AI marketplaces to more mainstream scenarios.
2 — Consistent Monitoring and Evaluation Tools
ONNX provides a generic computation graph that is agnostic to the different deep learning frameworks. As a result, ONNX should open the door to new AI model monitoring and evaluation tools that use the generic computation graph to work consistently across the different stacks. Similarly, AI lifecycle management platforms such as BitFusion or Floyd could immediately benefit from embracing ONNX.
3 — Trained Model Reusability
ONNX allows the reusability of trained neural networks across other different AI models and frameworks. As a result, ONNX should be able to boost the creation of new AI training tools that perform efficiently in multi-framework environments.
ONNX is still in very early stages but its already showing a lot of promise. In the very near future, we should expect to see new deep learning runtimes and platforms to add support for ONNX.