Google is betting big on artificial intelligence as the driver of next generation cloud technology. Microsoft and Amazon have been paying attention. After all, Microsoft and Amazon together dominate the cloud market — for the moment. To ensure that they remain in the driving seat, they came together last October to offer enterprises an open source development environment called Gluon to carry them forward into the next generation of cloud computing.
Gluon And The Cloud
Gluon is a new deep learning library that allows developers of all skills level to prototype, build, train and deploy machine learning models for cloud, "devices at the edge" and mobile apps. In this respect, the "edge" is particularly important. It refers to a way of optimizing cloud computing systems by performing data processing at the edge of the network, near the source of the data. This approach requires using resources that don't have to be continuously connected to a network such as laptops, smartphones, tablets and sensors.
At the moment, Gluon provides support for Apache MXNet, the open-source deep learning framework used to train, and deploy deep neural networks. In the coming months, it will also offer support for Microsoft Cognitive Toolkit, a deep learning framework developed by Microsoft in early 2016.
While Gluon has the potential to accelerate the use of artificial intelligence across cloud and mobile apps, it could also ensure that Google remains a distant third in the cloud space. Amazon-Microsoft are banking on the this partnership keeping them ahead once the next generation of cloud computing and artificial intelligence becomes commonplace.
Google Cloud Platform
Both Microsoft and Amazon have reason to watch Google. In July last year, research and advisory firm, Gartner released its Magic Quadrant for IaaS. They had Amazon Web Services and Microsoft alone in the leader's quadrant with a few other players outside of it. Google was placed in the visionaries quadrant and is looking good as a potential future leader in the category.
Gartner's commentary about Google reads, “Gartner clients typically choose GCP [Google Cloud Platform] as a secondary provider rather than a strategic provider, though GCP is increasingly chosen as a strategic alternative to AWS by customers whose businesses compete with Amazon, and that are more open source or DevOps-centric, and thus are less well-aligned to Microsoft Azure.” Google is increasingly being seen as an alternative to those that don’t want to work with AWS or Microsoft. It also has considerable AI fire-power in a world where this technology could be a game changer. Gluon is just one of the responses to that.
What makes it different to other development environments that are currently available? Eric Boyd is corporate VP of Microsoft AI and Research. He explained that the big difference between Gluon and other environments is that the Gluon interface gives developers the best of both worlds, notably a concise, easy-to-understand programming interface that enables developers to quickly prototype and experiment with neural network models, and a training method that has minimal impact on the speed of the underlying engine. “Developers can use the Gluon interface to create neural networks on the fly, and to change their size and shape dynamically. In addition, because the Gluon interface brings together the training algorithm and the neural network model, developers can perform model training one step at a time. This means it is much easier to debug, update and reuse neural networks,” says Boyd.
Gluon is a new environment so not a lot of people have used it yet. Chris Nicholson, CEO of San Francisco-based Skymind, the company behind Deeplearning4j, a deep learning tool for Java, has some thoughts on it though. “Gluon is easier to use than most deep learning tools, such as MxNet, TensorFlow or CNTK. It is most similar to a tool called Keras, which is commonly used on TensorFlow, just as Gluon was designed for MxNet,” he says.
With it, developers can build machine learning models using a simple Python API and a range of pre-built, optimized neural network components. According to a statement about Gluons, this makes it easier for developers at all skills level to build neural networks using simple code. AWS and Microsoft have also published Gluon’s reference specification so other deep learning engines can be integrated with the interface.
Who is Gluon For?
Gluon is an attempt to make deep learning technology available to all developers. The interface simplifies prototyping and building learning models without sacrificing speed. In fact, according to Microsoft and Amazon there are four specific advantages.
- Easy Coding: Comes with a set of plug-and-play neural network building blocks along with predefined layers, optimizers and initializers.
- Training Algorithm: Gluon doesn't require the neural network model to be rigidly defined. It provides a training algorithm that works with the model provide flexibility in the development process.
- Dynamic Graphs: Gluon enables developers to define neural network models that are dynamic, meaning they can be built on the fly using Python’s native control flow.
- High Performance: Gluon provides all of the above benefits without impacting the training speed.
"The potential of machine learning can only be realized if it is accessible to all developers. Today’s reality is that building and training machine learning models requires a great deal of heavy lifting and specialized expertise,” says Swami Sivasubramanian, Vice President of Amazon AI.
However, Boyd adds, easy as it may be to use, it still doesn’t get away from the fact, “To build an machine learning model, it’s important to understand how machine learning works, and Gluon doesn’t change that. What it does is, it simplifies the process of creating the model’s graph using simple Python language constructs, without restricting a developer to a toy or a less powerful machine learning toolkit,” Boyd added.
According to Nicholson, while Gluon is a useful introductory tool for them to learn about AI, they won't be able to build AI solutions without learning a lot.
When asked where this might be used in a business context Boyd says, “Gluon gives you the flexibility of changing the DNN graph on the fly based on the input data. This enables ease of debugging and is also invaluable for experimentation with complex networks.in a text processing application you might need to change the tree depth based on the data, for instance, the sentence length.”
Nicholson, for his part, believes that this is really just the beginning and that deep learning tools will keep getting easier, making AI available to more and more software developers and companies. “By using AI, they will have more insight into their data, which will allow them to increase revenues and cut costs. AI is going to transform a lot of businesses, as well as our society,” he says.