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
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.”