This week Microsoft released a beta version of its deep learning software package, the Cognitive Toolkit, into GitHub, the popular open source hosting service. The new release, which was announced in a company blog, marks the transition of the toolkit from an internal research project into something Microsoft plans to support for production work into the foreseeable future.
Up until this week, the software was called the Computational Network Toolkit (CNTK) and was used mostly for in-house machine learning applications in areas like search (think Bing) and speech recognition (think Skype Translator and Cortana). Over time, as software is want to do, the toolkit became more generalized and full-featured. The release adds a number of new capabilities, including allowing developers to access the software via Python and C++. The latest version also includes algorithms for reinforcement learning, a form of machine learning driven by reward feedback.
The toolkit’s main advantage, at least from Microsoft’s perspective, is its superior performance compared with other popular open source frameworks like Caffe, TensorFlow, and Torch. The ability to scale a training problem across multiple servers and GPUs is key to its performance. According to NVIDIA, this latest version of the toolkit can tap into all eight Pascal P100 GPUs on its DGX-1 server, doubling the performance of the previous version.
As the use of machine learning spreads from the hyperscale companies and research organizations into commercial enterprises, demand for machine learning software like this should start to see a significant uptick. The Cognitive Toolkit is a newcomer in this space, but having a major software provider backing it could be a decisive advantage. And the fact that the vast majority of businesses already use Microsoft software should further that advantage.
Of course, Microsoft’s move to open up its software is not completely altruistic, or maybe not altruistic at all. The company’s cloud rental service, Azure, includes GPU virtual machines for HPC, and yes, deep learning users. The new Azure N-Series machines are equipped with NVIDIA K80 and M60 GPUs for just such purposes. While the N-Series has been stuck in preview mode since August, at some point Microsoft will make it generally available. Given that the company has stated that the Cognitive Toolkit has been optimized to run on these GPU-powered Azure servers, it stands to gain some business once it connects all the dots.
To read more about Microsoft’s plans for the Cognitive Toolkit, feel free to peruse the in-house blog that explains the rationale for the new release.