Microsoft and AWS Partnered On Open Source Deep Learning Library Gluon

Microsoft and AWS have agreed to work together on an open source deep learning interface or library called Gluon. Gluon will provide a high-level API giving developers the choice of interchangeably running multiple deep learning libraries.

The Gluon interface is available now on GitHub for use with MXNet (https://github.com/gluon-api/gluon-api/), CNTK support will be releasing soon.

Announced via a news post by Eric Boyd of Microsoft writes:

“As a society we face enormous challenges which AI has the potential to solve. However, developing with AI, especially deep learning models isn’t easy—it can be a fairly daunting and specialized practice for most data professionals. We believe bringing AI advances to all developers, on any platform, using any language, with an open AI ecosystem, will help ensure AI is more accessible and valuable to all.”

What is Gluon?

Gluon is a concise, dynamic, high-level deep learning library, or interface, for building neural networks. It can be used with either Apache MXNet or Microsoft Cognitive Toolkit, and will be supported in all Azure services, tools and infrastructure. Gluon offers an easy-to-use interface for developers, highly-scalable training, and efficient model evaluation–all without sacrificing flexibility for more experienced researchers. For companies, data scientists and developers Gluon offers simplicity without compromise through high-level APIs and pre-build/modular building blocks, and more accessible deep learning.

What are Gluon’s key features and benefits?

Gluon makes it easy for developers to learn, define, debug and then iterate or maintain deep neural networks, allowing developers to build and train their networks quickly. Key highlights include:

Symbolic and imperative programming. For advanced users, Gluon supports sophisticated techniques like dynamic graphs and flexible structures. Support for both symbolic and imperative programming is not found in other toolkits.

Hybridization. Gluon includes fully symbolic automatic differentiation of code that has been procedurally executed including control flow. Gluon achieves this through hybridization: static compute graphs are computed the first time and then cached and reused for subsequent iterations. The compute graphs can also be exported, e.g., for serving on mobile devices.

Define complex models. Gluon comes with a rich, built-in layers library that significantly simplifies the task of defining complex model architectures through reuse of the pre-built building blocks from the library.

Execution efficiency. Gluon has native support for loops and ragged tensors (batching variable length sequences) which translates into unparalleled execution efficiency for RNN and LSTM models.

Sparse data support. Gluon has comprehensive support for sparse and quantized data and operations, both for computation and communication. Sparsity is a common occurrence in the NLP domain DNNs, and quantization is crucial for runtime evaluation performance.

Advanced scheduling. While scheduling on a single GPU is easy, doing so on multiple GPUs is far more complex. Through its MXNet or Cognitive Toolkit backends, Gluon offers automatic distribution for both symbolic and imperative mode.