When comes to machine learning and artificial intelligence, it’s no longer a question of how to deliver it. The question now is how to get developers and enterprises to use AI and machine learning.
It’s not been long since machine learning was the province of research labs. In fact, the first time I talked to Microsoft about its deep-learning machine learning work was a conversation about that basic research back in 2014 with Peter Lee, now Microsoft Research’s leader for AI.
Back then, Skype Translator and Cortana were Microsoft’s first machine learning-powered applications. Now, machine learning tools are everywhere, with Azure’s machine learning platform the flagship service and the Cognitive Services Toolkit a quick on-ramp to machine learning, with prebuilt models for common scenarios like image recognition. Those same services also power Microsoft’s conversational user experiences, through its Bot Framework. It’s even in your databases, with new analytics and machine learning tools in SQL Server 2017.
It’s time to go to AI School
So how do you start using these tools in your applications? Microsoft’s idea is to send you back to school—to Microsoft’s own AI School, that is.
Building on the familiar framework of online training courses, the AI School site is designed to introduce many common machine learning concepts and tools, helping you learn how and, more important, when to use them. It’s a useful mix of modules, with some covering general AI topics and others more focused on Azure’s machine learning features and tools.
Perhaps the most important modules are those that introduce Python, the language that’s used by many data analysis and machine learning toolkits. They cover analytical tools like Jupyter Notebooks, as well as libraries that handle and manipulate large amounts of in-memory data. If you’re not familiar with Python, studying these modules is an important step because much of Azure’s machine learning tools works with Python – especially its deep learning services.
AI School combines educational resources from a variety of services, including Microsoft, academic partners, and publishers. The core introduction to AI technologies is an existing course on EdX (offered for free, with the option of paying to get a completion certificate). You’ll need to set aside plenty of time to work your way through this EdX course, about 16 hours over four weeks. But there’s a lot in it, including working with Azure machine learning, building machine learning models, using Cognitive Services APIs, and using the Bot Framework.
With machine learning at the heart of Microsoft’s enterprise strategy, providing routes for developers to move from traditional programming models to working with data at scale is an important task for Microsoft. Although Microsoft is building the tools for handling machine learning into its own languages, and providing API-based quickstart guides via its Cognitive Services, the one-size-fits-all model really won’t work for most problems that need machine learning solutions. Understanding statistical analytics is only the start of working with modern AI, even if you’re only using the new SQL Server features or building a conversational bot using the intent model in Microsoft’s Language Understanding Intelligent Service (LUIS).
Spending a few hours a week in AI School should help you get up to speed on both fundamental skills and Azure-specific machine learning features and services.
Applying machine learning to your code in Visual Studio
Another aspect of Microsoft’s AI push is the beta set of Visual Studio Tools for AI, which plug in to all versions of Visual Studio, including the free Visual Studio Community edition. They provide direct access to the Azure Machine Learning Gallery, with sample code and models for common machine learning scenarios. Some are familiar, like the Predictive Maintenance model used for internet of things (IoT) applications, while others explore using languages like R to build machine learning models.
Most machine learning frameworks use Python, now a first-class language in Visual Studio, but you can also use BrainScript with CNTK. You can import and use existing Python-based machine learning models in Azure: Start by cloning a Git repository, and you’re ready to go.
If you’re using Azure to build and test your own machine learning models, especially if you’re using Microsoft’s own CNTK neural network deep learning tools or Google’s TensorFlow, you’ll find the Visual Studio Tools for AI an essential add-in. They work directly with Azure’s Batch AI and Machine Learning services, so you can quickly send machine learning jobs to AI-focused Azure virtual machines, including GPU instances. Debugging tools help you train and test your machine learning models without leaving the IDE, and support for the open source TensorBoard visualization tools add new ways of showing how well models perform.
Once you’ve used the Azure tools to build, train, and test your machine learning models, you can turn them into services ready for use in your applications, either running in Azure or exported in container runtimes, again without leaving Visual Studio. There’s a lot to be said for having a one-stop shop for building your machine learning-based applications, from model design to training to test to code. Smaller models are tested and trained locally, leaving Azure compute time for larger problems.
Getting to grips with machine learning isn’t something you can do overnight. You’ll need to build a mix of data analytics and programming skills, working with Python, R, and deep learning frameworks, as well as use cognitive cloud services as a quick on-ramp to more complex work. With both AI School and Visual Studio Tools for AI, Microsoft is helping both those new to modern AI and to experts.