Facebook and its partners in the artificial intelligence (AI) community are building open source tools to accelerate AI development and make the ecosystem more interoperable. Following are the latest updates on these initiatives.
ONNX adds partners
The proliferation of different AI frameworks, hardware, and other technologies has made it difficult for developers to build with tools that work together. Open Neural Network Exchange (ONNX), an open specification for representing deep learning models, is aimed at creating a more interoperable ecosystem. It allows developers to easily move models between state-of-the-art tools so they can choose the best combination for their needs.
ONNX launched in September 2017 as a partnership between Facebook, Amazon Web Services (AWS), and Microsoft. It has grown rapidly with the addition of leading technology companies including AMD, ARM, IBM, Intel, NVIDIA, and Qualcomm, as well as BITMAIN, MediaTek, and Preferred Networks.
In May at its annual F8 developer conference, Facebook announced the availability of several new capabilities, including a production-ready CoreML converter, which allows developers to quickly build apps with intelligent new features across Apple products. In addition, Baidu added support for its PaddlePaddle deep learning framework. Six popular deep-learning frameworks now support the ONNX model format.
NVIDIA's TensorRT4 also has a native ONNX parser that provides an easy path to import ONNX models from deep-learning frameworks into TensorRT for optimizing inference on GPUs. These capabilities further bolster updates from AWS, which can serve ONNX models using Model Server for Apache MXNet, and Microsoft's next major update to Windows will allow ONNX models to run natively on hundreds of millions of Windows devices.
More recently, Hewlett Packard Enterprise (HPE) joined ONNX to further open AI standards. Additionally, partners are continuing to work closely together on related initiatives around ONNX. For example, BITMAIN and Skymizer have partnered on an open neural network compiler to accelerate performance on AI ASICs.
ONNX 1.2.2 released
ONNX released version 1.2.2 recently, which includes upgrades to built-in operators and other additions to improve the ONNX developer experience. ONNX supports a broad set of models including convolutional neural networks (CNNs), typically applied to computer vision tasks, and recurrent neural networks/long short-term memory (RNNs/LSTMs), including arbitrary control flow and other typical architectures. Highlights of ONNX 1.2.2 include:
- More than 250 merged pull requests from Facebook, Microsoft, Amazon, and many others
- Upgrades to ONNX operator support allowing for broader model support
- Type and shape inference function added for all operators
- New operators added including upsample, identity, acos, asin, atan, cos, sin, tan, and multinomial
- Several additional operator updates and bug fixes
- Improvements to the ONNX IR (intermediate representation) including experimental support for functions and attribute reference
We also added type annotations to our python code to help ONNX developers more easily contribute to the project by ensuring high code quality, readability, and reliability.
PyTorch 1.0 for research-to-production
In May, Facebook announced PyTorch 1.0, the next version of its open source deep learning platform. It natively supports ONNX as its model export format, allowing developers to build and train models in PyTorch 1.0 that are interoperable with other AI frameworks and hardware platforms such as iOS and Windows devices.
PyTorch 1.0 brings together the research flexibility of the existing PyTorch framework and combines it with the modular, production-oriented capabilities of Caffe2 to provide developers with a fast, seamless path from AI research to production. Facebook currently uses some of this same technology to experiment rapidly and deploy AI breakthroughs to over 2 billion people across the world.
As part of the PyTorch 1.0 deep learning platform, we're also open sourcing many AI tools. These include libraries such as Translate for fast, flexible neural machine translation, as well as machine learning compilers like Glow, which accelerates framework performance on AI-specific hardware platforms.
We're building PyTorch 1.0 in the open, with a beta available in the next few months. We'll also continue to open source new libraries, models, and more to support development in computer vision, language, speech, and reasoning.
Advancing AI together
Facebook is excited to advance the world's AI with open source tools for developers and joint initiatives that make AI development easier and more open. We are continuing to partner closely with leading technology companies, researchers, and the community, and we encourage you to join and contribute. You can learn more about our work by visiting Facebook's AI developers site.