In this article we discuss the set of products, tools and services Microsoft offers for leveraging the power of AI in application development lifecycle. The biggest advantage of Azure AI stack is the diversity where even a software developer with limited knowledge on machine learning and AI theories is able to develop intelligent apps using the pre-built intelligent components. There are three main pillars in Microsoft AI platform.
- AI Services
- AI Infrastructure
- AI Tools Will discuss the nature of services each of these pillars are offering and their key advantages.
Microsoft offers a variety of pertained ready to use AI services that can be easily combine with the existing application development life cycle. Most of these services are exposed as RESTful APIs which aligns with the micro services architecture. Here are the main services comes under this pillar.
- Conversational AI – Microsoft Bot Framework and Language Understanding Intelligent Service (LUIS) allows the developers to build conversational agents that can work across different messaging platforms. LUIS performs the natural language understanding task inside chatbot agents through a no-code graphical user interface which makes the bot development more developer friendly.
- Trained Services – Cognitive services offer a set of powerful pretrained intelligent services that can be consumed as web services. Cognitive services can be used for understanding language, speech, computer vision related tasks as well as for intelligent search.
- Custom Services – Cognitive services are suitable for most of the applications while some specific use cases may need custom trained image classification or speech recognition models. These custom machine learning services provide custom model training through graphical wizards making the complex machine learning tasks more user friendly.
When it comes to AI software architecture governance, it demands the flexibility in handling large amounts of data with high variation and velocity. Microsoft AI infrastructure caters both the aspects.
- AI on Data – Since data is the key component of any AI application, Microsoft provides a range of different data storage and management solutions to serve the need. (E.g. Azure SQL, SQL Datawarehouse, Azure DataLake, CosmosDB)
- AI Compute – Microsoft provided a wide range of computing infrastructure for machine learning and deep learning model training workloads. They even have an option to train complex neural network architectures faster with GPU accelerated computing as well as FPGA.
One of the major advantages in Microsoft AI stack is its adaptability for existing AI development tools and frameworks. VSCode and Visual Studio both provide AI tools which allows the developers to connect the Azure resources to the development environment. Developers have the ability to use their familiar open source machine learning and deep learning libraries with Azure machine learning without any hassle using the AI tools. The recently introduced one-stop portal Azure Machine Learning Studio (ml.azure.com) provides a managed interface for accessing all machine learning related resources and code on the Azure cloud.
In the upcoming articles we are discussing the use cases of these products and services and the ways you can adapt them for developing intelligent applications.