Amazon's Werner Vogels announced last week that the deep learning library MXNet would be their officially adopted deep learning framework, and that AWS would contribute to its long-term success through increased open-source code contributions, improved documentation, and supporting tools for visualization, development and migration from other frameworks.
Vogels noted the class of Machine learning, known as deep learning, increasingly addresses a range of computing tasks where programming explicit algorithms is infeasible. These are domains like fraud detection, recommendation pipelines, inventory and product review auditing. Machine leaning is also extensively used in search, autonomous drones, robotics in fulfillment centers, text and speech recognition. Vogels noted three factors used to consider deep learning framework choices; the ability to scale, development speed, and portability.
Some of the deep learning packages Amazon evaluated and that are supported by AWS, are Caffe, CNTK, MXNet, TensorFlow, Theano, and Torch. AWS determined MXNet as the scalable framework and Amazon calling on the open-source community to invest more effort in MXNet. The approach AWS takes on developing machine learning platform offerings will be like that of RDS, but:
"in the area of deep learning frameworks, [and] we will support all popular deep learning frameworks by providing the best set of EC2 instances and appropriate software tools for them."
Vogels noted the Deep Learning AMI and accompanying cloud formation template released earlier this year. The AMI is a 64-bit Amazon Linux distribution pre-installed with CNTK support, package updates for MXNet, Graphviz, pygal, and python pandas. The distribution also comes with six pre-built deep learning frameworks; NXNet, Caffe, TensorFlow, Theano, Torch and CNTK. NVIDIA CUDA Toolkit and cuDNN library installers, Anaconda, Python 2 and 3. AMI reviews indicated it's of a first-generation AMI that potentially provides a good basis for analytics engineers to start working with GPU architectures.
MXNet was initially developed by the University of Washington and Carnegie Mellon University (CMU), to support convolutional neural networks (CNN) and long short-term memory networks (LSTM). CMU Dean of Computer science, Andrew Moore noted:
MXNet, born and bred here at CMU, is the most scalable framework for deep learning I have seen, and is a great example of what makes this area of computer science so beautiful - that you have different disciplines which all work so well together; imaginative linear algebra working in a novel way with massive distributed computation leading to a whole new ball game for deep learning. We're excited about Amazon's investment in MXNet, and can't wait to see MXNet go from strength to strength
CMU trained Inception V3 on MXNet on a cluster of P2 instances with varying GPU counts. MXNet can consume as little as 4 GB of memory when serving deep networks with as many as 1000 layers. MXNet supports api's for Python, C++ with Android and iOS compilation support. R, Scala, Julia, Matlab and JavaScript.