Comparing Microsoft Machine Learning products.
Date created: April 20, 2019.
On this article, I would like to briefly compare 3 Machine Learning options
offered by Microsoft. The ML products I would like to compare are SQL Server
Machine Learning Services, Azure SQL Database Machine Learning Services, and
Azure Machine Learning Services.
SQL Server Machine Learning Services is an In-database Machine Learning
(ML) solution, where the analytics engine is embedded in SQL Server. It is an
on-premises predictive analytics for relational data. No data movement needed,
this ML option assumes a SQL Server database as the data tier for your
application. You build and deploy models inside SQL Server. Model training on
full datasets where your data lives, in a secure, compliant, scalable way.
Encapsulate predictive logic in a database function, making it easy to include
in data-tier logic. Existing and new applications can access an operate the
Machine Learning models by just calling or using a SQL stored procedure. SQL
Server Machine Learning Services is an on-premise ML solution for enterprises,
that can run on a virtual machine on the cloud, and supports both R and Python.
Machine learning phases: data preparation, model training and deployment.
Meanwhile,
Azure SQL Database Machine Learning Services has the same in-database
Machine Learning benefits as SQL Server Machine Learning Services, but in your
Azure SQL database (vCore-model) which is a PaaS database option. There is no
need to configure external scripts enabled via system stored procedure
sp_configure because once you are signed up, machine learning is enabled for
your Azure SQL database. This option is in preview and for now supports R
(version 3.4.4.) but support for Python may be coming in the future. The
relational data can be used in R scripts through stored procedures, T-SQL script
containing R statements, or R code containing T-SQL.
About
Azure Machine Learning Service, it is a cloud-based only, drag-and-drop
machine learning solution. Build, experiment, and deploy models using
preconfigured algorithms. It includes experimentation, model management and
multiple deployment options. This option of ML only supports Python. Key
benefits: you can use data coming from many sources in Azure; 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. Azure Machine
Learning Service 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. This ML option has
a
free and a paid version. Azure Machine Learning Service covers all Machine
Learning phases: data preparation, model training, deployment, and management.
For more information, read
here.