What are the machine learning products at Microsoft?

Machine learning is a data science technique that allows computers to use existing data to forecast future behaviors, outcomes, and trends. By using machine learning, computers learn without being explicitly programmed.

Machine learning solutions are built iteratively, and have distinct phases:

  • Preparing data
  • Experimenting and training models
  • Deploying trained models
  • Managing deployed models

Microsoft provides a variety of product options to prep, build, deploy, and manage your machine learning models. Compare these products and choose what you need to develop your machine learning solutions most effectively.

Cloud-based options

The following options are available for machine learning in the Azure cloud.

Cloud options What it is What you can do with it
Azure Machine Learning Managed cloud service for machine learning Train, deploy, and manage models in Azure using Python and CLI
Azure Machine Learning Studio (classic) Drag–and–drop visual interface for machine learning Build, experiment, and deploy models using preconfigured algorithms

If you want to use pre-built AI and machine learning models, Azure Cognitive Services allows you to easily add intelligent features to your applications.

On-premises options

The following options are available for machine learning on-premises. On-premises servers can also run in a virtual machine in the cloud.

On-premises options What it is What you can do with it
SQL Server Machine Learning Services Analytics engine embedded in SQL Build and deploy models inside SQL Server
Microsoft Machine Learning Server Standalone enterprise server for predictive analysis Build and deploy models on pre-processed data

Development platforms and tools

The following development platforms and tools are available for machine learning.

Platforms/tools What it is What you can do with it
Azure Data Science Virtual Machine Virtual machine with pre-installed data science tools Develop machine learning solutions in a pre-configured environment
Azure Databricks Spark-based analytics platform Build and deploy models and data workflows
ML.NET Open-source, cross-platform machine learning SDK Develop machine learning solutions for .NET applications
Windows ML Windows 10 machine learning platform Evaluate trained models on a Windows 10 device
MMLSpark Open-source, distributed, machine learning and microservice framework for Apache Spark Create and deploy scalable machine learning applications for Scala and Python.

Azure Machine Learning

Azure Machine Learning is a fully managed cloud service used to train, deploy, and manage machine learning models at scale. It fully supports open-source technologies, so you can use tens of thousands of open-source Python packages such as TensorFlow, PyTorch, and scikit-learn. Rich tools are also available, such as Azure notebooks, Jupyter notebooks, or the Azure Machine Learning for Visual Studio Code extension to make it easy to explore and transform data, and then train and deploy models. Azure Machine Learning includes features that automate model generation and tuning with ease, efficiency, and accuracy.

Use Azure Machine Learning to train, deploy, and manage machine learning models using Python and CLI at cloud scale. For a low-code or no-code option, use the interactive, visual interface (preview) to easily and quickly build, test, and deploy models using pre-built machine learning algorithms.

Try the free or paid version of Azure Machine Learning.

Type Cloud-based machine learning solution
Supported languages Python
Machine learning phases Data preparation
Model training
Key benefits Central management of scripts and run history, making it easy to compare model versions.

Easy deployment and management of models to the cloud or edge devices.
Considerations Requires some familiarity with the model management model.

Azure ML Studio (Classic)

Studio (classic) gives you an interactive, visual workspace that you can use to easily and quickly build, test, and deploy models using pre-built machine learning algorithms. Studio (classic) publishes models as web services that can easily be consumed by custom apps or BI tools such as Excel. No programming is required - you construct your machine learning model by connecting datasets and analysis modules on an interactive canvas, and then deploy it with a couple clicks.

Type Cloud-based, drag-and-drop machine learning solution
Supported languages Python, R
Machine learning phases Data preparation
Model training
Key benefits Interactive visual interface enables machine learning modeling with minimal code.

Built-in Jupyter Notebooks for data exploration.

Direct deployment of trained models as Azure web services.
Considerations Limited scalability. The maximum size of a training dataset is 10 GB.

Online only. No offline development environment.

Azure Cognitive Services

Azure Cognitive Services is a set of APIs that enable you to build apps that use natural methods of communication. These APIs allow your apps to see, hear, speak, understand, and interpret user needs with just a few lines of code. Easily add intelligent features to your apps, such as:

  • Emotion and sentiment detection
  • Vision and speech recognition
  • Language understanding (LUIS)
  • Knowledge and search

Use Cognitive Services to develop apps across devices and platforms. The APIs keep improving, and are easy to set up.

Type APIs for building intelligent applications
Supported languages many options depending on the service
Machine learning phases Deployment
Key benefits Incorporating machine learning capabilities in applications using pre-trained models.

Variety of models for natural communication methods with vision and speech.

SQL Server Machine Learning Services

SQL Server Microsoft Machine Learning Service adds statistical analysis, data visualization, and predictive analytics in R and Python for relational data in SQL Server databases. R and Python libraries from Microsoft include advanced modeling and machine learning algorithms, which can run in parallel and at scale, in SQL Server.

Use SQL Server Machine Learning Services when you need built-in AI and predictive analytics on relational data in SQL Server.

Type On-premises predictive analytics for relational data
Supported languages Python, R
Machine learning phases Data preparation
Model training
Key benefits Encapsulate predictive logic in a database function, making it easy to include in data-tier logic.
Considerations Assumes a SQL Server database as the data tier for your application.

Microsoft Machine Learning Server

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, and it is also available on HDInsight as Microsoft Machine Learning Server (ML Server). It provides an execution engine for solutions built using RevoScaleR, revoscalepy, and MicrosoftML packages, and extends open-source R and Python with support for high-performance analytics, statistical analysis, machine learning, and massively large datasets. This 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 build and operationalize models built with R and Python on a server, or distribute R and Python training at scale on a Hadoop or Spark cluster.

Type On-premises enterprise server for predictive analytics
Supported languages Python, R
Machine learning phases Model training
Key benefits High scalability.
Considerations You need to deploy and manage Machine Learning Server in your enterprise.

Azure Data Science Virtual Machine

The Azure Data Science Virtual Machine is a customized virtual machine environment on the Microsoft 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.

The Data Science Virtual Machine is supported as a target for Azure Machine Learning. It is available in versions for both Windows and Linux Ubuntu. For specific version information and a list of what’s included, see Introduction to the Azure Data Science Virtual Machine.

Use the Data Science VM 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.

Type Customized virtual machine environment for data science
Key benefits Reduced time to install, manage, and troubleshoot data science tools and frameworks.

The latest versions of all commonly used tools and frameworks are included.

Virtual machine options include highly scalable images with GPU capabilities for intensive data modeling.
Considerations The virtual machine cannot be accessed when offline.

Running a virtual machine incurs Azure charges, so you must be careful to have it running only when required.

Azure Databricks

Azure Databricks is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform. Databricks is integrated with Azure to provide one-click setup, streamlined workflows, and an interactive workspace that enables collaboration between data scientists, data engineers, and business analysts. Use Python, R, Scala, and SQL code in web-based notebooks to query, visualize, and model data.

Use Databricks when you want to collaborate on building machine learning solutions on Apache Spark.

Type Apache Spark-based analytics platform
Supported languages Python, R, Scala, SQL
Machine learning phases Data query
Model training


ML.NET is a free, open-source, and cross-platform machine learning framework that enables you to build custom machine learning solutions and integrate them into your .NET applications.

Use ML.NET when you want to integrate machine learning solutions into your .NET applications.

Type Open-source framework for developing custom machine learning applications
Languages supported .NET

Windows ML

Windows ML inference engine allows you to use trained machine learning models in your applications, evaluating trained models locally on Windows 10 devices.

Use Windows ML when you want to use trained machine learning models within your Windows applications.

Type Inference engine for trained models in Windows devices
Languages supported C#/C++, JavaScript


Microsoft ML for Apache Spark (MMLSpark) is an open source library that expands the distributed computing framework Apache Spark. MMLSpark adds many deep learning and data science tools to the Spark ecosystem, including seamless integration of Spark Machine Learning pipelines with Microsoft Cognitive Toolkit (CNTK), LightGBM, LIME (Model Interpretability), and OpenCV. You can use these tools to create powerful predictive models on any Spark cluster, such as Azure Databricks or Cosmic Spark.

MMLSpark also brings new networking capabilities to the Spark ecosystem. With the HTTP on Spark project, users can embed any web service into their SparkML models. Additionally, MMLSpark provides easy-to-use tools for orchestrating Microsoft Cognitive Services at scale. For production-grade deployment, the Spark Serving project enables high throughput, sub-millisecond latency web services, backed by your Spark cluster.

Type Open-source, distributed machine learning and microservice framework for Apache Spark
Languages supported Scala 2.11, Java, Python 3.5+, R (beta)
Machine learning phases Data preparation
Model training
Key benefits Scalability
Streaming + Serving compatible
Considerations Requires Apache Spark

Next steps