Microsoft launched version 2.0 of what is now called the Microsoft Cognitive Toolkit.
This open-source toolkit, which was formerly known as CNTK, is Microsoft’s competitor to similar tools like Caffe, TensorFlow and Torch. The previous version was able to challenge many of its competitors in terms of speed, this second version puts an emphasis on usability, for example, by adding support for Python and the popular Keras neural networking library, and future extensibility, while still maintaining and improving its speed.
In October 2016, the toolkit was originally launched into its beta phase and the team has tested it ever since. Now, the company deems it to be ready for production use.
The technical fellow of Microsoft Xuedong Huang stated that the 1.0 release was focused about open sourcing Microsoft’s internal toolkit and making it available for large users. As it was particularly an internal tool, though, it didn’t support Python for example, even though it’s by far the most popular language among machine learning developers.
It was very good at working with time series data for building recurrent neural nets as Microsoft originally made this toolkit for speech recognition systems. With coming of this update, the team has not only improved the Cognitive Toolkit’s performance for other kinds of neural nets, but also laid the groundwork for making it easier to extend the system in the long run.
Huang stressed that the first version of the Cognitive Toolkit performed well among its competitors pretty easily on a number of standard tests. And that’s where Keras comes in, Keras is a popular Python-based deep-learning library that’s already supported by TensorFlow and Theano, for example.
Now that the Cognitive Toolkit also supports it, thanks to its new extensible architecture, developers can not only easily take their existing Keras-based applications to the Cognitive Toolkit but also see a major speed-up. Huang states that under the right situation, the Cognitive Toolkit can outperform its competitors by up to 3 times.
Moreover, version 2.0 also includes Java language bindings for model evaluation and a number of new tools that allow trained models to run on relatively low-powered devices, including smartphones.
The Cognitive Toolkit is used extensively within Microsoft already. Some groups inside the company also use other toolkits, though, as Huang freely admitted. “There is no one toolkit that is great at everything,” Huang said. “We are not saying that the Microsoft Cognitive Toolkit is the solution for everything but we want to help the AI community.”
Like Google, Facebook and others, Microsoft would of course love for the machine learning ecosystem to build more of its solutions around its toolkit. To do that, it needs to increase its mind share among developers, though. Unsurprisingly, Microsoft is stressing the fact that the Cognitive Toolkit is a battle-tested system that it uses to power most of its internal AI systems, including Cortana, and that it can train models faster than most of its competitors.
Looking ahead, Huang noted that it’s hard to say what features will arrive in version 3.0. “AI and deep learning is a field that moves so fast, the best thing we can do is to continuously adapt and iterate and improve,” he told. One feature he definitely wants to keep, though, is the Cognitive Toolkit’s performance leadership. “We are absolutely aware of the challenges to support this massive and amazing AI community.”