Train machine learning models at the edge

Azure Container Registry
Azure Machine Learning
Azure Stack Hub
Azure Virtual Machines

Azure Machine Learning provides cloud-native tooling to train, tune, and deploy machine-learning and deep-learning models. However, some data sets can't be sent to the cloud. By using this solution, data scientists can use Machine Learning to train portable models with on-premises data and compute resources.

Architecture

Architecture diagram of an architecture that uses components in Azure and Azure Stack for training machine learning models from on-premises data.

Download a Visio file of this architecture.

Workflow

  1. Deploy the Azure Stack Hub virtual machine (VM) and register it with Azure Machine Learning as a compute target.
  2. Create an experiment in Machine Learning that uses the VM in Azure Stack Hub as a compute target.
  3. After the model is trained, it's registered and containerized.
  4. The model is ready for deployment to locations that are either on-premises or in the cloud.

Components

This solution uses the following components:

Scenario details

This scenario generates portable machine learning models from data that exists only on-premises. It uses a VM that runs on Azure Stack Hub. The VM is registered as a compute target in Machine Learning, which lets it access data that is only available on-premises. In this scenario, the data is stored in Blob Storage running in the on-premises environment of Azure Stack Hub.

After Machine Learning trains the model, it's registered, containerized, and added to Container Registry for deployment. For this iteration of the pattern, the VM that trains the model and runs in Azure Stack Hub must be reachable over the public internet.

Potential use cases

An organization that has on-premises or legacy data can use this solution to support their data scientists in unlocking insights by using tools that they understand. This solution also supports scenarios in which the data for training can't be stored in the cloud due to regulations or due to the size of the data set.

Considerations

These considerations implement the pillars of the Azure Well-Architected Framework, which is a set of guiding tenets that can be used to improve the quality of a workload. For more information, see Microsoft Azure Well-Architected Framework.

Consider the following points when deciding how to implement this solution.

Reliability

Reliability ensures your application can meet the commitments you make to your customers. For more information, see Overview of the reliability pillar.

Ensure that the training scripts and Azure Stack Hub VM have access to the on-premises data that's used for training.

Security

Security provides assurances against deliberate attacks and the abuse of your valuable data and systems. For more information, see Overview of the security pillar.

This solution lets Machine Learning access possibly sensitive on-premises data. Ensure that the account that connects via secure shell (SSH) to the Azure Stack Hub VM has a strong password and that training scripts don't preserve or upload data to the cloud.

Cost optimization

Cost optimization is about looking at ways to reduce unnecessary expenses and improve operational efficiencies. For more information, see Overview of the cost optimization pillar.

To explore the cost of running this scenario, use the Azure pricing calculator, which preconfigures all Azure services.

Operational excellence

Operational excellence covers the operations processes that deploy an application and keep it running in production. For more information, see Overview of the operational excellence pillar.

Ensure that models and experiments are appropriately registered, versioned, and tagged to avoid confusion during deployment of the model.

Performance efficiency

Performance efficiency is the ability of your workload to scale to meet the demands placed on it by users in an efficient manner. For more information, see Performance efficiency pillar overview.

To enable this solution to scale, you'll need to create an appropriately sized VM on Azure Stack Hub for training.

Contributors

This article is maintained by Microsoft. It was originally written by the following contributors.

Principal authors:

  • Ronmia Bess | Content Developer 2

Other contributors:

To see non-public LinkedIn profiles, sign in to LinkedIn.

Next steps