The company has open sourced the artificial intelligence framework it uses to power speech recognition in its Cortana digital assistant and Skype Translate applications. This means that anyone in the world is now free to view, modify, and use Microsoft’s code in their own software.
The framework, called, CNTK, is based on a branch of artificial intelligence called deep learning, which seeks to help machines do things like recognize photos and videos or understanding human speech by mimicking the structure and functions of the human brain. Tech giants like Microsoft, Google and Facebook have invested heavily in deep learning research for years, going so far as to hire many of academics who pioneered the field. Now, just as academics publish their research so that it can be critiqued and advanced by other researchers, these companies are releasing their deep learning software in much the same way.
‘We want this to be useful not just for academics but for commercial artificial intelligence.’XUEDONG HUANG, MICROSOFT
Last year Google open sourced its artificial intelligence engineTensorFlow, which the company uses for many of its own applications, including voice recognition in Android and even its flagship search engine. Soon after, Facebook open sourced designs for custom hardware designed to run the latest AI algorithms and China’s largest search engine, Baidu, open sourced its the artificial intelligence training software.
Microsoft actually released CNTK, which is similar in many ways to Google’s TensorFlow, back in April, months before Google released its own framework, but the code was restricted to non-commercial use. Now Microsoft is letting anyone, including corporations, use CNTK for whatever they want. “We want this to be useful not just for academics but for commercial artificial intelligence and deep learning companies,” says Xuedong Huang, Microsoft’s chief speech scientist.
All the Computers
CNTK has a big advantage over TensorFlow for people outside of academia: it can take advantage of the power of many servers at the same time. That’s important because it’s rare that a single computer is powerful enough to handle a real-world artificial intelligence application, such as speech recognition on an app used by millions of people. Internally, Google likely uses TensorFlow on thousands of servers at a time. But the version Google released to the public, Huang says, can’t be used in this way. In fact, few deep learning frameworks other than CNTK support running across multiple servers right out of the box, though it’s possible to do with other open source software such asTorch, which is used by Facebook and Google.
According to Microsoft’s internal testing, CNTK is much more efficient than other open source deep learning tools. It’s also one of the few deep learning frameworks that supports Microsoft Windows. One downside, however, is that the framework only supports C++ and its own custom language, which might make it more difficult for some developers to start using. But Microsoft plans to add support for the popular programming languages Python—possibly the most common language among artificial intelligence researchers—and C# in the near future. And now that it’s open source, programmers will be able to add support for their favorite languages themselves.