Compare Microsoft machine learning products and technologies
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 Synapse Analytics |
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 machine learning | Windows 10 machine learning platform | Evaluate trained models on a Windows 10 device |
SynapseML | 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 Azure Machine Learning for free.
Item | Description |
---|---|
Type | Cloud-based machine learning solution |
Supported languages | Python, R |
Machine learning phases | Model training Deployment MLOps/Management |
Key benefits | Code first (SDK) and studio and 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 AI services
Azure AI 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:
- Vision: Object detection, face recognition, optical character recognition (OCR), and so on. For more information, see Computer Vision, Face, Azure AI Document Intelligence.
- Speech: Speech to text, text to speech, Speaker Recognition, and so on. For more information, see Speech service.
- Language: Translation, Sentiment analysis, key phrase extraction, language understanding, and so on. See Translator, Text Analytics, Language Understanding, QnA Maker
- Decision: Anomaly detection, content moderation, reinforcement learning. For more information, see Anomaly Detector, Content Moderator, Personalizer.
Use Azure AI services to develop apps across devices and platforms. The APIs keep improving, and are easy to set up.
Item | Description |
---|---|
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:
- SQL Server Machine Learning Services
- Machine Learning Services on SQL Server Big Data Clusters
- Azure SQL Managed Instance Machine Learning Services
- Machine learning in Azure Synapse Analytics
- Machine learning and AI with ONNX in Azure SQL Edge
- Machine Learning extension for Azure Data Studio
Use SQL machine learning when you need built-in AI and predictive analytics on relational data in SQL.
Item | Description |
---|---|
Type | On-premises predictive analytics for relational data |
Supported languages | Python, R, SQL |
Machine learning phases | Data preparation Model training Deployment |
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 machine learning solutions. It has many popular data science, machine learning 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.
Item | Description |
---|---|
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 graphics processing unit (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 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.
Item | Description |
---|---|
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 Management Deployment |
ML.NET
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.
Item | Description |
---|---|
Type | Open-source cross-platform framework for developing custom machine learning applications with .NET |
Languages supported | C#, F# |
Machine learning phases | Data preparation Training Deployment |
Key benefits | Data science and machine learning experience not required Use familiar tools (Visual Studio, Microsoft Visual Studio Code) and languages Deploy where .NET runs Extensible Scalable Local-first experience |
Windows machine learning
Windows machine learning inference engine allows you to use trained machine learning models in your applications, evaluating trained models locally on Windows 10 devices.
Use Windows machine learning when you want to use trained machine learning models within your Windows applications.
Item | Description |
---|---|
Type | Inference engine for trained models in Windows devices |
Languages supported | C#/C++, JavaScript |
SynapseML
SynapseML (formerly known as MMLSpark) is an open-source library that simplifies the creation of massively scalable machine learning pipelines. SynapseML provides APIs for a variety of different machine learning tasks such as text analytics, vision, anomaly detection, and many others. SynapseML is built on the Apache Spark distributed computing framework and shares the same API as the SparkML/MLLib library, allowing you to seamlessly embed SynapseML models into existing Apache Spark workflows.
SynapseML adds many deep learning and data science tools to the Spark ecosystem, including seamless integration of Spark Machine Learning pipelines with Light Gradient Boosting Machine (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.
SynapseML also brings networking capabilities to the Spark ecosystem. With the HTTP on Spark project, users can embed any web service into their SparkML models. Additionally, SynapseML provides easy-to-use tools for orchestrating Azure AI services at scale. For production-grade deployment, the Spark Serving project enables high throughput, submillisecond latency web services, backed by your Spark cluster.
Item | Description |
---|---|
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 Deployment |
Key benefits | Scalability Streaming + Serving compatible Fault-tolerance |
Considerations | Requires Apache Spark |
Contributors
This article is maintained by Microsoft. It was originally written by the following contributors.
Principal author:
- Zoiner Tejada | chief executive officer (CEO) and Architect
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 training.