Microsoft’s Approach to AI
Although AI has been around for decades it is only recently that companies and organizations are starting to adopt it at scale. In my previous post I wrote about the new generation of technology building blocks that will shape the future of digital experiences with a specific focus on Artificial Intelligence, and what is driving the rapid expansion of this capability. In this post I will build on that conversation to discuss how Microsoft currently approaches AI from a business perspective. Before we go into the details, be sure to revisit the first post in this series for context on why AI is taking off now.
At Microsoft there are teams working on AI projects around the company which generally falls into 3 core categories of platform and product investment.
AI Platform & Services – We are focused on building a new set of AI services and tools to make AI accessible to every organization. At Microsoft we are platform builders by trade, that is we build the infrastructure that others use to build their products and services on. In the case of Artificial Intelligence, we are creating the infrastructure, services, and tools that allow developers and data scientists to infuse AI into their applications and services, as well as build new and unique solutions that are AI based.
Infusing AI – The second area of focus is looking at how we can make our core products better by infusing them with AI. A generation ago, industry embraced the Internet, weaving it into virtually every product and service. The same is now happening with AI. In many cases you might not even know it’s there – but it’s helping individuals and organizations connect and make more informed decisions.
Business Solutions – The third area is looking at how we start with deep AI capabilities to build a new generation of AI-based business solutions. We are looking at this first in terms of how we can use AI to help make people and organizations more productive, starting with some of our own processes that are used to run Microsoft.
These three areas represent an exciting period for bringing AI to life in a very pragmatic way. These efforts build on top of, and will continue to build on, the core set of research that is going on in the field of Artificial Intelligence by our Research group and others in the industry.
AI Platform & Services
It’s invigorating to watch the birth of a new platform or platform layer, which is what we are witnessing in AI right now. There are a set of tools and services that started out as pure research (see last week’s post) that are being normalized for use by the broad developer base and data scientists. This is an important step in the democratization of AI, as today it’s still difficult for organizations to find and hire people who are versed in the science of AI. Previous AI systems were primarily sophisticated rules-based engines, but with the growth and success of deep neural networks, and the ability to rapidly test and deploy AI algorithms, the baseline background for AI practitioners has changed. As a result, the state of the art for AI is quickly advancing, making it harder to find people who can be subject matter experts across the growing set of AI capabilities. Searching for AI research papers released in 2018 already shows over 800 published papers. In that light, the need for a platform layer that brings AI in a consistent fashion to traditional development teams is critical for getting started with AI for their use cases.
The Microsoft AI platform consists of infrastructure to provide AI at scale, services that provide core AI capabilities through a common set of APIs, and tools for practitioners who want to be hands on in the creation of their own custom AI models. Customers can now test and train at scale on CPUs and GPUs, and soon, will be able to tap the power of FPGAs – software programmable chips such as those powering Microsoft’s Project Brainwave and Jabil’s factory of the future as featured at our BUILD developer conference just last week. Already FPGAs offer a 132x speed enhancement over CPUs and being software programmable, FPGAs offer a balance of performance and future-proofing. As new innovations happen in AI methods, they can more quickly be deployed via software to the FPGA’s in contrast to building custom silicon such as the ASICs powering TPUs. As a result, time to market and deployment of these new innovations can be significantly reduced. FPGAs are now powering Bing search, and we’re seeing 5x lower hardware latency than TPUs for real-time AI and we are working to deploy FPGAs for customers as a part of the Intelligent Cloud, and Intelligent Edge devices.
- Pre-Trained AI Services - For most developers and organizations starting their AI journey, the core of this new platform is a set of Azure-powered Cognitive Services that help developers bring human cognition (the ability to speak, hear, translate, see, reason, etc.) into their applications. Taking the research breakthroughs and turning them into a consistent set of developer services takes some time, but we are seeing the fruit of that work with a growing set of cohesive services, with consistency in APIs, sample code, documentation, language support and more. These services give developers pre-built AI models, exposed as services for vision, speech, language, conversation, search, and knowledge. Many developers are using these services for creating great user experiences and solving business problems rather than spending the time to train their own deep neural networks. These core services work for a wide variety of developer needs and are also customizable for additional specifics an experience might require. Azure-powered services such as Custom Vision make it possible to upload labeled images, train with a few dozen images, then evaluate and learn to make your classifier more specific to a given task or process, and then even deploy to mobile devices such as Windows, iOS, and Android. The same can be done with custom language domains…say for lawyers or doctors. Cognitive Services provide the best of general purpose capability and customizability with speed to solution.
- Conversational AI - Hand in hand with Cognitive Services, we are seeing a transition to a more conversational user interaction as people start to infuse AI into their solutions. Providing the ability for developers to add naturally fluid conversations as part of an overall user experience, across canvasses and state, is the goal of the Azure Bot Services. With the Azure Bot Service and LUIS for language understanding, you can create, deploy and manage a bot that interacts with your users on the channels they already are in your apps, Facebook Messenger, Slack, Skype, Microsoft Teams, Websites, Cortana, and more. When trying to create a more natural conversational experience the Azure Bot Service can be combined with the Cognitive Services such as translation or custom vision to expand your bot’s capabilities over time.
- Tools and Open Formats - While these services and tools can be accessed independently they are also being integrated into some of our core tools such as the Azure Portal and Visual Studio. Developers and data scientists that want to work a layer deeper on the fundamental science, they can through support for key frameworks and tools within our platform. Since AI is still rapidly evolving some developers will be interested in researching new techniques or doing something very specific; like creating a generative adversarial network (GAN) or a very deep neural network. In those cases, people will want to use tools like Cognitive Toolkit, TensorFlow, Caffe, MXNet, Chainer, and more to train and deploy their own custom models. Azure is committed to support a broad range of these AI specific tool chains. To help in this space Microsoft is the co-founder of the Open Neural Network Exchange (ONNX) along with Facebook, which is an open format for exchanging deep learning models between different toolchains. Since announcing ONNX, other tech companies have joined including Amazon, AMD, ARM, Baidu, Huawei, IBM, Intel, Nvidia, Qualcomm, and many more.
- Extending to the Intelligent Edge - There is also a lot of great learning around the importance of edge support for AI as we delve further into world solutions and use cases. In this area Microsoft is focused on enabling AI at the intelligent edge through a variety of tools and offerings. There were several announcements around BUILD that highlight the effort to create an intelligent edge that supports real world AI scenarios. These include:
- Open sourcing the Azure IoT Edge Runtime
- Vision AI Developer Kit with Qualcomm with full support for Azure ML and Azure IoT Edge
- Windows SDK and Commercial Drone Solutions with DJI
- Azure Sphere a secure Linux-based device solution which is connected and cost-effective
Infusing AI into our Products and Services
Our second area of focus as a company is how can we make our products better by infusing them with AI. The goal of course is to create a better customer experience, and if done well, you don’t know that the products are infused with AI, they just work better. This work can be done either behind the scenes or directly in the experience. Behind the scenes, we use AI to run our networks more effectively; like Skype or Azure, or to protect people’s data and content in the cloud or on devices. Within our products we also strive to create unique experiences that would not be possible without AI. For example, the resume assistant in Word helps the author create a resume that identifies the top skills that are competitive with other people in the same field. PowerPoint designer enables anyone creating a slide with images to make them visually interesting regardless of their artistic ability. Excel Insights helps visualize patterns in your data, and the new Acronyms feature in Word that helps master company lingo with Machine Learning. Using Natural Language Processing and Language Understanding to allow real time conversations between people in two different languages over Skype is bridging communities around the world. These same tools can be used to enable closed captioning of a speech in PowerPoint, and even do the captioning in multiple languages at the same time. In Windows Hello, the ability to securely login to your PC just by looking at it is based on AI. There is a growing number of use cases, and if AI is properly infused into a product it should just work better.
The third area we focus on is how can companies use AI to improve their overall business. Whether it’s how products are built, customers and partners are helped, or employees are cared for, AI can support a broad set of standard use cases. In this area Microsoft has been using AI internally on a variety of processes that range from forecasting to marketing to customer care and more. As we spend time in this area and worked with a broad range of customers on their specific solutions, we’ve started to see a set of patterns emerge that reflect a lot of the focus of AI within organizations.
I find these patterns of virtual agents, ambient intelligence, AI-assisted professional, and autonomous systems to be helpful in having conversations with customers/partners around the potential opportunities to get started with AI for their business. In my next blog I will go deeper into these four patterns.
When it comes to AI, Microsoft is vested in creating a platform to allow developers and companies to infuse AI into their services and products, we are also using AI to create better products for our customers and finally we are using AI to help better run our company and help other companies better run theirs. This is Microsoft’s approach for making AI available for others. Join me next week for the third and final part of this series where I will delve a little deeper into how we are seeing customers adopt AI. If you missed the first part of the series, you can read it here.