Microsoft today is announcing the beta launch of version 2.0 of its open-source deep learning framework. Until now, the software has been called Computational Network Toolkit, or CNTK, but now Micorosft is changing the name to Cognitive Toolkit. The new name lines up more clearly with Microsoft’s “cognitive” marketing push of the past few months.
Instead of just being accessible through the programming language C++, Cognitive Toolkit now has native support for Python (specifically Python 3; Python 2 support is coming). The lack of Python has been the single biggest deficiency of Cognitive Toolkit, Microsoft chief speech scientist Xuedong Huang told VentureBeat in an interview.
“That’s why external adoption has been very small,” Huang said.
Performance has also been improved and reinforcement learning — an approach involving teaching machines through trial and error — has been added to the 2.0 release. And people can work with software in Microsoft’s Visual Studio integrated development environment (IDE), as opposed to just running Cognitive Toolkit as a script, Huang said.
Deep learning — which involves training artificial neural networks on lots of data, like images, and then getting them to make inferences about new data — is hot right now, and plenty of other open-source options exist. Most prominently, Google promotes its TensorFlow software, but Torch, Caffe, Paddle, and several others are also available.
But while Google is using deep learning — and specifically TensorFlow — in more and more places, Microsoft is doing something similar with Cognitive Toolkit. Products like Windows, Bing, and Skype Translator, among others, have been using it in different ways. Now, with version 2.0, Microsoft has something that it thinks many other companies can put into production. Refrigerator company Liebherr is already using it.
Cognitive Toolkit is general-purpose software, so it can work well on multiple kinds of data, including speech, text, and images. And the training phase can be done on multiple standard x86 central processing units (CPUs) or graphics processing units (GPUs). The distributed aspect is important because it enables faster computing.
Over time, Microsoft wants to make Cognitive Toolkit more widely available, with support for R and C#, Huang said. For now, people can try out Cognitive Toolkit on the GPU-backed instances offered by the Microsoft Azure public cloud, Huang said. But the cloud is open, in the sense that it can also support TensorFlow and Caffe, he said.
New benchmarks from Microsoft show Cognitive Toolkit outperforming TensorFlow, Torch, and Caffe for training in two scenarios — four GPUs and one CPU, and four GPUs and two CPUs.
In January, Microsoft moved CNTK from CodePlex to GitHub and gave it a less-restrictive MIT license.
A blog post has more detail.