1
头图

By reading this article, you will gain an understanding of the architecture and concepts of Azure Machine Learning (hereinafter: Azure Machine Learning), and gain an in-depth understanding of these components and how they work together to assist in the process of building, deploying, and maintaining machine learning models.

Workspace

Machine Learning Workspace is the top-level resource for Azure Machine Learning. Workspaces can be used centrally to:

  • Manage resources used to train and deploy models, such as compute
  • Store assets created when using Azure Machine Learning, including: environments, experiments, pipelines, datasets, models, endpoints

computes

A compute target is any machine or group of machines used to run training scripts or host service deployments. You can use a local computer or a remote computing resource as a computing target. You can use compute targets to train on your local machine and scale to the cloud without changing your training scripts.

Azure Machine Learning introduces 2 virtual machines (VMs) configured for machine learning tasks that are fully managed and cloud-based:

  • Compute instance: is a VM that includes multiple tools and environments installed for machine learning. The primary purpose of a compute instance is for your development workstation. You don't need setup to start running the sample notebooks. Compute instances can also be used as computational targets for training and inference jobs.
  • Computing cluster: It is a virtual machine cluster with multi-node scalability. Compute clusters are better suited for large jobs and production computing goals. The cluster automatically scales when the job is submitted. It is used as a training compute target or for dev/test deployments.

Dataset and Datastore

Azure Machine Learning datasets make it easier to access and process data. By creating a dataset, you create a reference to the location of the data source and a copy of its metadata. Because the data remains in its existing location, you do not incur additional storage costs or risk the integrity of the data source. The data store stores connection information (such as your subscription ID and token authorization) in a Key Vault associated with the workspace, so you can securely access your store without hard coding it in scripts.

Environment

An environment is an encapsulation of the environment in which a machine learning model is trained or scored. Environments specify Python packages, environment variables, and software settings around training and scoring scripts.

Experiment

An experiment is a grouping of many runs from a given script. It always belongs to the workspace. When you submit the runtime, you need to provide an experiment name. Run information is stored under this experiment. If the name doesn't exist when you submit your experiment, a new experiment will be created automatically. view detailed configuration

model

The simplest model is a piece of code that takes an input and produces an output. Creating a machine learning model involves choosing an algorithm, feeding it data, and tuning hyperparameters. Training is an iterative process that generates a trained model, which encapsulates what the model learned during training.

You can bring in models trained outside of Azure Machine Learning, or you can train models by submitting experimental runs to compute targets in Azure Machine Learning. Once you have the model, you can register the model in the workspace.
Azure Machine Learning is framework agnostic. You can use any popular machine learning framework to create models, such as Scikit-learn, XGBoost, PyTorch, TensorFlow, and Chainer.

deploy

Deploying a registered model as a service endpoint requires the following components:

  • Environment: This environment encapsulates the dependencies needed to run the model for inference
  • Scoring: The script accepts the request, uses the model to score the request, and returns the result
  • Inference configuration: The inference configuration specifies the environment, entry scripts, and other components required to run the model as a service

Automation

▌Azure Machine Learning CLI

Azure Machine Learning CLI is an extension to Azure CLI, the cross-platform command-line interface for the Azure platform. This extension provides commands to automate machine learning activities.

▌Machine learning pipeline

You can use machine learning pipelines to create and manage workflows that stitch together machine learning stages. For example, a pipeline might include data preparation, model training, model deployment, and inference/scoring stages. Each stage can contain multiple steps, each of which can be run automatically in various computational goals.
Also, the steps of the pipeline are reusable and can be run without rerunning the previous steps if the output of those steps has not changed. For example, if the data has not changed, you can retrain the model without rerunning the tedious data preparation steps. With pipelines, data scientists collaborate as they work on different parts of the machine learning workflow.

▌Monitoring and logging

Azure Machine Learning provides the following monitoring and logging capabilities:

  • For data scientists, you can monitor your experiments and log information about training runs
  • For administrators, you can use Azure Monitor to monitor information about workspaces, related Azure resources, and events such as resource creation and deletion
  • For DevOps or MLOps, you can monitor information generated by models deployed as web services, identify deployment issues, and collect data submitted to the service

For more on how Azure Machine Learning works, the link to read the original article


微软技术栈
418 声望994 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。