BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Microsoft Azure Machine Learning is a collection of services and tools intended to help developers train and deploy machine learning models. Microsoft provides these tools and services through its Azure public cloud.
Azure Machine Learning services
The Microsoft Azure Machine Learning suite includes an array of tools and services, including:
Azure Machine Learning Workbench: Workbench is an end-user Windows/MacOS application that handles primary tasks for a machine learning project, including data import and preparation, model development, experiment management and model deployment in multiple environments. Workbench interoperates with major third-party tools, including Git for version control and Jupyter Notebook for data cleaning and transformation, statistical modeling and data visualization.
Azure Machine Learning Experimentation Service: This service interoperates with Workbench to provide project management, access control and version control (through Git). It helps support the execution of machine learning experiments to build and train models. Experimentation also focuses on the construction of virtualized environments, which enables developers to properly isolate and operate models, and records details of each run to aid in model development. Experimentation can deploy models locally, in a local Docker container, a Docker container within a remote virtual machine (VM) and through a scale-out Spark cluster running in Azure.
Azure Machine Learning Model Management: This service helps developers track and manage model versions; register and store models; process models and dependencies into Docker image files; register those images in their own Docker registry in Azure; and deploy those container images to a wide assortment of computing environments, including IoT edge devices.
Microsoft Machine Learning Libraries for Apache Spark (MMLSpark): MMLSpark provides a series of tools that integrate Spark pipelines with related machine learning tools, including Microsoft Cognitive Toolkit and OpenCV library. These libraries accelerate the development of machine learning models that involve image and text data.
Visual Studio Code Tools for AI: This service is an extension of Visual Studio Code (VS Code) -- a desktop source code editor for Windows, macOS and Linux -- that helps developers create scripts and gather metrics for Azure Machine Learning experiments.
Azure Machine Learning Studio: This is a visual, drag-and-drop tool designed to help users build and deploy predictive analysis models with no coding required.
Azure Machine Learning deployment options
Data scientists and developers can use Microsoft Azure Machine Learning tools to create and deploy models on premise, in the Azure cloud and at the edge with Azure IoT edge computing. However, Azure also offers several high-performance deployment options, including:
VMs with graphic processing units (GPUs): The Azure VMs designed to run machine learning projects increasingly use GPUs, rather than more traditional central processing units (CPUs), because they can handle the complex math and parallel processing required to render images efficiently -- a feature that is ideal for many artificial intelligence and machine learning computations.
Field-programmable gate arrays (FPGAs) as a service: FPGA chips can be programmed using machine learning models, which allows models to operate at computer hardware speeds, and vastly improves the performance of machine learning and data analytics projects. FPGA services are currently limited to supporting projects in TensorFlow and ResNet50-based image classification and recognition.
Microsoft Machine Learning Server: This deployment option provides an enterprise-class server intended specifically for distributed, highly parallel workloads developed in languages such as R or Python. It is intended for tasks such as high-performance analytics, machine learning and data analysis, and runs on Linux, Windows, Hadoop and Apache Spark.
Azure Data Science Virtual Machine: This is a VM in Azure intended for data science projects under Windows Server, Ubuntu Linux and OpenLogic CentOS. It includes data science and development tools, and enterprises can use it to build data analytics and machine learning applications. Developers can call Azure Data Science VMs from Azure's Experimentation or Model tools.
Microsoft Azure Machine Learning integrates with an array of machine learning platforms and frameworks -- many of which are open source. In addition to Microsoft Cognitive Toolkit, support frameworks include Spark ML, TensorFlow and scikit-learn framework.