Azure Machine Learning is an integrated, end-to-end data science and advanced analytics solution. It enables data scientists to prepare data, develop experiments, and deploy models at cloud scale.
The main components of Azure Machine Learning are:
Together, these applications and services help significantly accelerate your data science project development and deployment.
Azure Machine Learning fully supports open source technologies. You can use tens of thousands of open source Python packages, such as the following machine learning frameworks:
You can execute your experiments in managed environments such as Docker containers and Spark clusters. You can also use advanced hardware such as GPU-enabled virtual machines in Azure to accelerate your execution.
Azure Machine Learning is built on top of the following open source technologies:
It also includes Microsoft’s own open source technologies, such as Microsoft Machine Learning Library for Apache Spark and Cognitive Toolkit.
In addition, you also benefit from some of the most advanced, tried-and-true machine learning technologies developed by Microsoft designed to solve on large-scale problems. They are battle-tested in many Microsoft products, such as:
The following are some of the Microsoft machine learning technologies included with Azure Machine Learning:
Azure Machine Learning Workbench is a desktop application plus command-line tools, supported on both Windows and macOS. It allows you to manage machine learning solutions through the entire data science life cycle:
Here are the core functionalities offered by Azure Machine Learning Workbench:
For more information, reference the following articles:
The Experimentation Service handles the execution of machine learning experiments. It also supports the Workbench by providing project management, Git integration, access control, roaming, and sharing.
Through easy configuration, you can execute your experiments across a range of compute environment options:
The Experimentation Service constructs virtual environments to ensure that your script can be executed in isolation with reproducible results. It records run history information and presents the history to you visually. You can easily select the best model out of your experiment runs.
For more information, please reference Experimentation Service Configuration.
Model Management Service allows data scientists and dev-ops teams to deploy predictive models into a wide variety of environments. Model versions and lineage are tracked from training runs to deployments. Models are stored, registered, and managed in the cloud.
Using simple CLI commands, you can containerize your model, scoring scripts and dependencies into Docker images. These images are registered in your own Docker registry hosted in Azure (Azure Container Registry). They can be reliably deployed to the following targets:
Kubernetes running in the Azure Container Service (ACS) is used for cloud scale-out deployment. Model execution telemetry is captured in AppInsights for visual analysis.
For more information on Model Management Service, reference Model Management Overview
The MMLSpark(Microsoft Machine Learning Library for Apache Spark) is an open-source Spark package that provides deep learning and data science tools for Apache Spark. It integrates Spark Machine Learning Pipelines with the Microsoft Cognitive Toolkit and OpenCV library. It enables you to quickly create powerful, highly scalable predictive, and analytical models for large image and text datasets. Some highlights include:
For more information, reference Using MMLSpark in Azure Machine Learning.
Visual Studio Code Tools for AI is an extension in Visual Studio Code to build, test, and deploy Deep Learning and AI solutions. It features many integration points with Azure Machine Learning, including:
Besides Azure Machine Learning, there are a wide variety of options in Azure to build, deploy, and manage machine learning models.
Microsoft Machine Learning Services enables you to run, train, and deploy machine learning models using R or Python. You can use data located on-premises and in SQL Server databases.
Use Microsoft Machine Learning Services when you need to train or deploy models on-premises, or inside of Microsoft SQL Server. Models built with Machine Learning Services can be deployed using Azure Machine Learning Model Management.
Microsoft Machine Learning Server is an enterprise server for hosting and managing parallel and distributed workloads of R and Python processes. Microsoft Machine Learning Server runs on Linux, Windows, Hadoop, and Apache Spark. It is also available on HDInsight. It provides an execution engine for solutions built using Microsoft Machine Learning packages, and extends open source R and Python with support for the following scenarios:
Value-added functionality is provided through proprietary packages that install with the server. For development, you can use IDEs such as R Tools for Visual Studio and Python Tools for Visual Studio.
Use Microsoft Machine Learning Server when you need to:
The Data Science Virtual Machine (DSVM) is a customized VM image on Microsoft’s Azure cloud built specifically for doing data science. It has many popular data science and other tools pre-installed and pre-configured to jump-start building intelligent applications for advanced analytics. It is available on Windows Server and on Linux. We offer Windows edition of DSVM on Server 2016 and Server 2012. We offer Linux edition of the DSVM on Ubuntu 16.04 LTS and on OpenLogic 7.2 CentOS-based Linux distributions.
Use the Data Science Virtual Machine when you need to run or host your jobs on a single node. Or if you need to remotely scale up your processing on a single machine. The Data Science Virtual Machine is supported as a target for both Azure Machine Learning Experimentation and Azure Machine Learning Model Management.
Spark MLLib in HDInsight lets you create models as part of Spark jobs that are executing on big data. Spark lets you easily transform and prepare data and then scale out model creation in a single job. Models created through Spark MLLib can be deployed, managed, and monitored through Azure Machine Learning Model Management. Training runs can be dispatched and managed with Azure Machine Learning Experimentation. Spark can also be used to scale out data preparation jobs created in the Machine Learning Workbench.
Use Spark when you need to scale out your data processing and create models as part of a data pipeline. You can author Spark jobs in Scala, Java, Python, or R.
Azure Batch AI Training helps you experiment in parallel with your AI models using any framework and then trains them at scale across clustered GPUs. Describe your job requirements and configuration to run, and we handle the rest.
Batch AI Training enables you to scale out deep learning jobs across clustered GPUs, using frameworks such as:
Azure Machine Learning Model Management can be used to take models from Batch AI Training to deploy, manage, and monitor them. Batch AI Training will be integrated with Azure Machine Learning Experimentation in the future.
The Microsoft Cognitive Toolkit is a unified deep-learning toolkit that describes neural networks as computational steps in a directed graph. In this directed graph, leaf nodes represent input values or network parameters, while other nodes represent matrix operations upon their inputs. The Cognitive Toolkit allows you to easily realize and combine popular model types such as feed-forward DNNs, convolutional nets (CNNs), and recurrent networks (RNNs/LSTMs). It implements stochastic gradient descent (SGD, error backpropagation) learning with automatic differentiation and parallelization across multiple GPUs and servers.
Use the Cognitive Toolkit when you want to build a model using deep learning. The Cognitive Toolkit can be used in any of the preceding services.
Microsoft Cognitive Services is a set of 30 APIs that enable you build apps that use natural methods of communication. These APIs allow your apps to see, hear, speak, understand, and interpret our needs with just a few lines of code. Easily add intelligent features to your apps, such as:
Microsoft Cognitive Services can be used to develop apps across devices and platforms. The APIs keep improving and are easy to set up.
Note
You can try Azure Machine Learning for free. No credit card or Azure subscription is required. Get started now.