Compare the machine learning products and technologies from Microsoft

Learn about the machine learning products and technologies from Microsoft. Compare options to help you choose how to most effectively build, deploy, and manage your machine learning solutions.

Cloud-based machine learning products

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 platform for machine learning Use a pretrained model. Or, train, deploy, and manage models on Azure using Python and CLI
Azure Cognitive Services Pre-built AI capabilities implemented through REST APIs and SDKs Build intelligent applications quickly using standard programming languages. Doesn't require machine learning and data science expertise
Azure SQL Managed Instance Machine Learning Services In-database machine learning for SQL Train and deploy models inside Azure SQL Managed Instance
Machine learning in Azure Synapse Analytics Analytics service with machine learning Train and deploy models inside Azure SQL Managed Instance
Machine learning and AI with ONNX in Azure SQL Edge Machine learning in SQL on IoT Train and deploy models inside Azure SQL Edge
Azure Databricks Apache Spark-based analytics platform Build and deploy models and data workflows using integrations with open-source machine learning libraries and the MLFlow platform.

On-premises machine learning products

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 In-database machine learning for SQL Train and deploy models inside SQL Server
Machine Learning Services on SQL Server Big Data Clusters Machine learning in Big Data Clusters Train and deploy models on SQL Server Big Data Clusters

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
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 microservices framework for Apache Spark Create and deploy scalable machine learning applications for Scala and Python.
Machine Learning extension for Azure Data Studio Open-source and cross-platform machine learning extension for Azure Data Studio Manage packages, import machine learning models, make predictions, and create notebooks to run experiments for your SQL databases

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 Compute instances, Jupyter notebooks, or the Azure Machine Learning for Visual Studio Code extension, a free extension that allows you to manage your resources, model training workflows and deployments in Visual Studio Code. Azure Machine Learning includes features that automate model generation and tuning with ease, efficiency, and accuracy.

Use Python SDK, Jupyter notebooks, R, and the CLI for machine learning at cloud scale. For a low-code or no-code option, use Azure Machine Learning's interactive, designer in the studio 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, R
Machine learning phases Model training
Key benefits Code first (SDK) and studio & drag-and-drop designer web interface authoring options.

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 Cognitive Services

Azure Cognitive Services is a set of pre-built APIs that enable you to build apps that use natural methods of communication. The term pre-built suggests that you do not need to bring datasets or data science expertise to train models to use in your applications. That's all done for you and packaged as APIs and SDKs that allow your apps to see, hear, speak, understand, and interpret user needs with just a few lines of code. You can easily add intelligent features to your apps, such as:

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 Various options depending on the service. Standard ones are C#, Java, JavaScript, and Python.
Machine learning phases Deployment
Key benefits Build intelligent applications using pre-trained models available through REST API and SDK.
Variety of models for natural communication methods with vision, speech, language, and decision.
No machine learning or data science expertise required.

SQL machine learning

SQL machine learning adds statistical analysis, data visualization, and predictive analytics in Python and R for relational data, both on-premises and in the cloud. Current platforms and tools include:

Use SQL machine learning when you need built-in AI and predictive analytics on relational data in SQL.

Type On-premises predictive analytics for relational data
Supported languages Python, R, SQL
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 database as the data tier for your application.

Azure Data Science Virtual Machine

The Azure Data Science Virtual Machine is a customized virtual machine environment on the Microsoft Azure cloud. It is available in versions for both Windows and Linux Ubuntu. The environment is built specifically for doing data science and developing ML solutions. It has many popular data science, ML frameworks, and other tools pre-installed and pre-configured to jump-start building intelligent applications for advanced analytics.

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 preparation
Data preprocessing
Model training
Model tuning
Model inference


ML.NET is an open-source, and cross-platform machine learning framework. With ML.NET, you can build custom machine learning solutions and integrate them into your .NET applications. ML.NET offers varying levels of interoperability with popular frameworks like TensorFlow and ONNX for training and scoring machine learning and deep learning models. For resource-intensive tasks like training image classification models, you can take advantage of Azure to train your models in the cloud.

Use ML.NET when you want to integrate machine learning solutions into your .NET applications. Choose between the API for a code-first experience and Model Builder or the CLI for a low-code experience.

Type Open-source cross-platform framework for developing custom machine learning applications with .NET
Languages supported C#, F#
Machine learning phases Data preparation
Key benefits Data science & ML experience not required
Use familiar tools (Visual Studio, VS Code) and languages
Deploy where .NET runs
Local-first experience

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 Azure Cognitive Services at scale. For production-grade deployment, the Spark Serving project enables high throughput, submillisecond latency web services, backed by your Spark cluster.

Type Open-source, distributed machine learning and microservices 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

  • To learn about all the Artificial Intelligence (AI) development products available from Microsoft, see Microsoft AI platform
  • For training in developing AI and Machine Learning solutions with Microsoft, see Microsoft Learn