Hur Azure Machine Learning fungerar: arkitektur och konceptHow Azure Machine Learning works: Architecture and concepts

Lär dig mer om arkitekturen, begreppen och arbets flödet för Azure Machine Learning.Learn about the architecture, concepts, and workflow for Azure Machine Learning. Huvud komponenterna i tjänsten och det allmänna arbets flödet för att använda tjänsten visas i följande diagram:The major components of the service and the general workflow for using the service are shown in the following diagram:

Azure Machine Learning arkitektur och arbets flöde

ArbetsflödeWorkflow

Arbets flödet för Machine Learning-modellen följer i allmänhet den här ordningen:The machine learning model workflow generally follows this sequence:

  1. UtbildaTrain

    • Utveckla utbildnings skript för maskin inlärning i python eller med den visuella designern.Develop machine learning training scripts in Python or with the visual designer.
    • Skapa och konfigurera ett beräknings mål.Create and configure a compute target.
    • Skicka skripten till det konfigurerade Compute-målet som ska köras i den miljön.Submit the scripts to the configured compute target to run in that environment. Under utbildningen kan skripten läsa från eller skriva till data lager.During training, the scripts can read from or write to datastore. Och posterna för körningen sparas som körs i arbets ytan och grupperas under experiment.And the records of execution are saved as runs in the workspace and grouped under experiments.
  2. Paket – när en tillfredsställande körning hittas registrerar du den sparade modellen i modell registret.Package - After a satisfactory run is found, register the persisted model in the model registry.

  3. Verifiera - fråga experimentet efter loggade mått från aktuella och tidigare körningar.Validate - Query the experiment for logged metrics from the current and past runs. Om måtten inte indikerar ett önskat resultat går du tillbaka till steg 1 och itererar dina skript.If the metrics don't indicate a desired outcome, loop back to step 1 and iterate on your scripts.

  4. Distribuera – utveckla ett bedömnings skript som använder modellen och distribuera modellen som en webb tjänst i Azure, eller till en IoT Edge enhet.Deploy - Develop a scoring script that uses the model and Deploy the model as a web service in Azure, or to an IoT Edge device.

  5. Övervaka -Övervakare för data avvikelser mellan inlärnings data uppsättningen och data härlednings data för en distribuerad modell.Monitor - Monitor for data drift between the training dataset and inference data of a deployed model. Om det behövs går du tillbaka till steg 1 för att träna om modellen med nya tränings data.When necessary, loop back to step 1 to retrain the model with new training data.

Verktyg för Azure Machine LearningTools for Azure Machine Learning

Använd följande verktyg för Azure Machine Learning:Use these tools for Azure Machine Learning:

Anteckning

Även om den här artikeln definierar termer och begrepp som används av Azure Machine Learning definierar den inte termer och begrepp för Azure-plattformen.Although this article defines terms and concepts used by Azure Machine Learning, it does not define terms and concepts for the Azure platform. Mer information om terminologi för Azure-plattformen finns i ord listan Microsoft Azure.For more information about Azure platform terminology, see the Microsoft Azure glossary.

OrdlistaGlossary

AktiviteterActivities

En aktivitet representerar en tids krävande åtgärd.An activity represents a long running operation. Följande åtgärder är exempel på aktiviteter:The following operations are examples of activities:

  • Skapa eller ta bort ett beräknings målCreating or deleting a compute target
  • Köra ett skript på ett beräknings målRunning a script on a compute target

Aktiviteter kan ge aviseringar via SDK eller webb gränssnittet så att du enkelt kan övervaka förloppet för dessa åtgärder.Activities can provide notifications through the SDK or the web UI so that you can easily monitor the progress of these operations.

Notebook VMNotebook VM

En Azure Machine Learning Notebook VM är en fullständigt hanterad molnbaserad arbets station som innehåller flera verktyg och miljöer installerade för maskin inlärning.An Azure Machine Learning Notebook VM is a fully managed cloud-based workstation that includes multiple tools and environments installed for machine learning. Virtuella notebook-datorer kan användas som beräknings mål för mindre utbildnings-och inferencing-jobb.Notebook VMs can be used as a compute target for smaller training and inferencing jobs. För stora aktiviteter är Azure Machine Learning beräknings kluster med skalnings funktioner för flera noder ett bättre beräknings måls val.For large tasks, Azure Machine Learning compute clusters with multi-node scaling capabilities is a better compute target choice.

Läs mer om virtuella notebook-datorer.Learn more about Notebook VMs.

Compute-målCompute targets

Med ett beräknings mål kan du ange den beräknings resurs där du kör ditt utbildnings skript eller vara värd för tjänst distributionen.A compute target lets you specify the compute resource where you run your training script or host your service deployment. Den här platsen kan vara din lokala dator eller en molnbaserad beräknings resurs.This location may be your local machine or a cloud-based compute resource.

Lär dig mer om de tillgängliga beräknings målen för utbildning och distribution.Learn more about the available compute targets for training and deployment.

Data uppsättningar och data lagerDatasets and datastores

Azure Machine Learning data uppsättningar (för hands version) gör det enklare att komma åt och arbeta med dina data.Azure Machine Learning Datasets (preview) make it easier to access and work with your data. Data uppsättningar hanterar data i olika scenarier, till exempel modell utbildning och skapande av pipelines.Datasets manage data in various scenarios such as model training and pipeline creation. Med hjälp av Azure Machine Learning SDK kan du komma åt underliggande lagring, utforska data och hantera livs cykeln för olika definitioner av data uppsättningar.Using the Azure Machine Learning SDK, you can access underlying storage, explore data, and manage the life cycle of different Dataset definitions.

Data uppsättningar tillhandahåller metoder för att arbeta med data i populära format, t. ex. genom att använda from_delimited_files() eller to_pandas_dataframe().Datasets provide methods for working with data in popular formats, such as using from_delimited_files() or to_pandas_dataframe().

Mer information finns i skapa och registrera Azure Machine Learning data uppsättningar.For more information, see Create and register Azure Machine Learning Datasets. Fler exempel på hur du använder data uppsättningar finns i exempel antecknings böckerna.For more examples using Datasets, see the sample notebooks.

Ett data lager är en lagrings abstraktion över ett Azure Storage-konto.A datastore is a storage abstraction over an Azure storage account. Data lagret kan använda antingen en Azure Blob-behållare eller en Azure-filresurs som server dels lagringen.The datastore can use either an Azure blob container or an Azure file share as the back-end storage. Varje arbets yta har ett standard-datalager och du kan registrera ytterligare data lager.Each workspace has a default datastore, and you can register additional datastores. Använd python SDK API eller Azure Machine Learning CLI för att lagra och hämta filer från data lagret.Use the Python SDK API or the Azure Machine Learning CLI to store and retrieve files from the datastore.

SlutpunkterEndpoints

En slut punkt är en instansiering av din modell i antingen en webb tjänst som kan finnas i molnet eller en IoT-modul för integrerade enhets distributioner.An endpoint is an instantiation of your model into either a web service that can be hosted in the cloud or an IoT module for integrated device deployments.

Webb tjänst slut punktWeb service endpoint

När du distribuerar en modell som en webb tjänst kan slut punkten distribueras på Azure Container Instances, Azure Kubernetes-tjänsten eller FPGAs.When deploying a model as a web service the endpoint can be deployed on Azure Container Instances, Azure Kubernetes Service, or FPGAs. Du skapar tjänsten från din modell, ditt skript och tillhör ande filer.You create the service from your model, script, and associated files. De placeras i en bas behållar avbildning som innehåller körnings miljön för modellen.These are placed into a base container image which contains the execution environment for the model. Avbildningen har en belastningsutjämnad HTTP-slutpunkt som tar emot Poäng begär Anden som skickas till webb tjänsten.The image has a load-balanced, HTTP endpoint that receives scoring requests that are sent to the web service.

Azure hjälper dig att övervaka din webb tjänst genom att samla in Application Insights telemetri eller modellera telemetri, om du har valt att aktivera den här funktionen.Azure helps you monitor your web service by collecting Application Insights telemetry or model telemetry, if you've chosen to enable this feature. Telemetridata är bara tillgängliga för dig och lagras i Application Insights-och lagrings konto instanser.The telemetry data is accessible only to you, and it's stored in your Application Insights and storage account instances.

Om du har aktiverat automatisk skalning skalar Azure automatiskt distributionen.If you've enabled automatic scaling, Azure automatically scales your deployment.

Ett exempel på hur du distribuerar en modell som en webb tjänst finns i Distribuera en bild klassificerings modell i Azure Container instances.For an example of deploying a model as a web service , see Deploy an image classification model in Azure Container Instances.

IoT-modulens slut punkterIoT module endpoints

En distribuerad IoT module-slutpunkt är en Docker-behållare som innehåller din modell och tillhör ande skript eller program och eventuella ytterligare beroenden.A deployed IoT module endpoint is a Docker container that includes your model and associated script or application and any additional dependencies. Du distribuerar dessa moduler genom att använda Azure IoT Edge på gräns enheter.You deploy these modules by using Azure IoT Edge on edge devices.

Om du har aktiverat övervakning samlar Azure in telemetridata från modellen i Azure IoT Edge-modulen.If you've enabled monitoring, Azure collects telemetry data from the model inside the Azure IoT Edge module. Telemetridata är bara tillgängliga för dig och lagras i din lagrings konto instans.The telemetry data is accessible only to you, and it's stored in your storage account instance.

Azure IoT Edge säkerställer att modulen körs och övervakar den enhet som är värd för den.Azure IoT Edge ensures that your module is running, and it monitors the device that's hosting it.

MiljöerEnvironments

Azure ML-miljöer används för att ange konfigurationen (Docker/python/Spark/osv.) som används för att skapa en miljö för förberedelse av data, modell utbildning och modell hantering.Azure ML Environments are used to specify the configuration (Docker / Python / Spark / etc.) used to create a reproducible environment for data preparation, model training and model serving. De är hanterade och versions bara entiteter inom din Azure Machine Learning arbets yta som möjliggör återskapande, gransknings bara och bärbara Machine Learning-arbetsflöden över olika beräknings mål.They are managed and versioned entities within your Azure Machine Learning workspace that enable reproducible, auditable, and portable machine learning workflows across different compute targets.

Du kan använda ett miljö objekt i din lokala beräkning för att utveckla ditt utbildnings skript, återanvända samma miljö på Azure Machine Learning beräkning för modell utbildning i stor skala och till och med distribuera din modell med samma miljö.You can use an environment object on your local compute to develop your training script, reuse that same environment on Azure Machine Learning Compute for model training at scale, and even deploy your model with that same environment.

Lär dig hur du skapar och hanterar en ÅTERANVÄNDBAR ml-miljö för utbildning och härledning.Learn how to create and manage a reusable ML environment for training and inference.

KostnadsberäknareEstimators

För att under lätta modell träningen med populära ramverk, gör klassen uppskattning att du enkelt kan skapa körnings konfigurationer.To facilitate model training with popular frameworks, the estimator class allows you to easily construct run configurations. Du kan skapa och använda en generisk uppskattning för att skicka utbildnings skript som använder valfritt ramverk för inlärning (till exempel scikit – lära).You can create and use a generic Estimator to submit training scripts that use any learning framework you choose (such as scikit-learn).

För PyTorch-, TensorFlow-och kedje uppgifter-aktiviteter tillhandahåller Azure Machine Learning även de olika uppskattningarna PyTorch, TensorFlowoch Chainer för att förenkla användningen av dessa ramverk.For PyTorch, TensorFlow, and Chainer tasks, Azure Machine Learning also provides respective PyTorch, TensorFlow, and Chainer estimators to simplify using these frameworks.

Mer information finns i följande artiklar:For more information, see the following articles:

ExperimentExperiments

Ett experiment är en gruppering av många körningar från ett angivet skript.An experiment is a grouping of many runs from a specified script. Den tillhör alltid en arbets yta.It always belongs to a workspace. När du skickar en körning anger du ett experiment namn.When you submit a run, you provide an experiment name. Information för körningen lagras under det experimentet.Information for the run is stored under that experiment. Om du skickar in en körning och anger ett experiment namn som inte finns, skapas ett nytt experiment med det nyligen angivna namnet automatiskt.If you submit a run and specify an experiment name that doesn't exist, a new experiment with that newly specified name is automatically created.

Ett exempel på hur du använder ett experiment finns i Självstudier: träna din första modell.For an example of using an experiment, see Tutorial: Train your first model.

GitHub spårning och integreringGitHub tracking and integration

När du startar en utbildning som kör där käll katalogen är en lokal git-lagringsplats, lagras information om lagrings platsen i körnings historiken.When you start a training run where the source directory is a local Git repository, information about the repository is stored in the run history. Detta fungerar med körningar som skickats med en uppskattning, ML-pipeline eller skript körning.This works with runs submitted using an estimator, ML pipeline, or script run. Den fungerar även för körningar som skickats från SDK eller Machine Learning CLI.It also works for runs submitted from the SDK or Machine Learning CLI.

Mer information finns i git-integrering för Azure Machine Learning.For more information, see Git integration for Azure Machine Learning.

LoggningLogging

När du utvecklar din lösning använder du Azure Machine Learning python SDK i python-skriptet för att logga godtyckliga mått.When you develop your solution, use the Azure Machine Learning Python SDK in your Python script to log arbitrary metrics. Efter körningen frågar du måtten för att avgöra om körningen har genererat den modell som du vill distribuera.After the run, query the metrics to determine whether the run has produced the model you want to deploy.

ML pipelinesML Pipelines

Du använder maskin inlärnings pipeliner för att skapa och hantera arbets flöden som häftar ihop Machine Learning-faser.You use machine learning pipelines to create and manage workflows that stitch together machine learning phases. En pipeline kan till exempel omfatta förberedelse av data, modell utbildning, modell distribution och steg för härledning/poängsättning.For example, a pipeline might include data preparation, model training, model deployment, and inference/scoring phases. Varje fas kan omfatta flera steg, som var och en kan köras obevakade i olika beräknings mål.Each phase can encompass multiple steps, each of which can run unattended in various compute targets.

Pipeline-steg kan återanvändas och kan köras utan att köra efterföljande steg om utdata från det steget inte har ändrats.Pipeline steps are reusable, and can be run without rerunning subsequent steps if the output of that step hasn't changed. Du kan till exempel omträna en modell utan att köra kostsamma data förberedelse steg om data inte har ändrats.For example, you can retrain a model without rerunning costly data preparation steps if the data hasn't changed. Pipelines gör det också möjligt för data experter att samar beta medan de arbetar med olika delar av ett Machine Learning-arbetsflöde.Pipelines also allow data scientists to collaborate while working on separate areas of a machine learning workflow.

Mer information om maskin inlärnings pipeliner med den här tjänsten finns i pipelines och Azure Machine Learning.For more information about machine learning pipelines with this service, see Pipelines and Azure Machine Learning.

ModellerModels

En modell är i sin enklaste del en kod som tar indata och producerar utdata.At its simplest, a model is a piece of code that takes an input and produces output. Genom att skapa en maskin inlärnings modell kan du välja en algoritm, tillhandahålla data och justera disponeringsparametrarna.Creating a machine learning model involves selecting an algorithm, providing it with data, and tuning hyperparameters. Träning är en iterativ process som skapar en utbildad modell som kapslar in vad modellen lärt sig under inlärnings processen.Training is an iterative process that produces a trained model, which encapsulates what the model learned during the training process.

En modell skapas av en körning i Azure Machine Learning.A model is produced by a run in Azure Machine Learning. Du kan också använda en modell som har tränats utanför Azure Machine Learning.You can also use a model that's trained outside of Azure Machine Learning. Du kan registrera en modell i en Azure Machine Learning-arbetsyta.You can register a model in an Azure Machine Learning workspace.

Azure Machine Learning är en Framework-oberoende.Azure Machine Learning is framework agnostic. När du skapar en modell kan du använda alla populära ramverk för maskin inlärning, till exempel Scikit – lära, XGBoost, PyTorch, TensorFlow och kedjor.When you create a model, you can use any popular machine learning framework, such as Scikit-learn, XGBoost, PyTorch, TensorFlow, and Chainer.

Ett exempel på hur du tränar en modell med Scikit – lära och en uppskattningar finns i Självstudier: träna en bild klassificerings modell med Azure Machine Learning.For an example of training a model using Scikit-learn and an estimator, see Tutorial: Train an image classification model with Azure Machine Learning.

Modell registret håller reda på alla modeller i din Azure Machine Learning-arbetsyta.The model registry keeps track of all the models in your Azure Machine Learning workspace.

Modeller identifieras efter namn och version.Models are identified by name and version. Varje gången du registrerar en modell med samma namn som en befintlig, förutsätter registret att det är en ny version.Each time you register a model with the same name as an existing one, the registry assumes that it's a new version. Versionen ökar och den nya modellen registreras under samma namn.The version is incremented, and the new model is registered under the same name.

När du registrerar modellen kan du ange ytterligare metadata-Taggar och sedan använda taggarna när du söker efter modeller.When you register the model, you can provide additional metadata tags and then use the tags when you search for models.

Tips

En registrerad modell är en logisk behållare för en eller flera filer som utgör din modell.A registered model is a logical container for one or more files that make up your model. Om du till exempel har en modell som lagras i flera filer kan du registrera dem som en enskild modell i Azure Machine Learning arbets ytan.For example, if you have a model that is stored in multiple files, you can register them as a single model in your Azure Machine Learning workspace. Efter registreringen kan du ladda ned eller distribuera den registrerade modellen och ta emot alla filer som har registrerats.After registration, you can then download or deploy the registered model and receive all the files that were registered.

Du kan inte ta bort en registrerad modell som används av en aktiv distribution.You can't delete a registered model that is being used by an active deployment.

Ett exempel på hur du registrerar en modell finns i träna en bild klassificerings modell med Azure Machine Learning.For an example of registering a model, see Train an image classification model with Azure Machine Learning.

KörningarRuns

En körning är en enskild körning av ett utbildnings skript.A run is a single execution of a training script. Azure Machine Learning registrerar alla körningar och lagrar följande information:Azure Machine Learning records all runs and stores the following information:

  • Metadata om körning (tidstämpel, varaktighet och så vidare)Metadata about the run (timestamp, duration, and so on)
  • Mått som loggas av ditt skriptMetrics that are logged by your script
  • Utdatafiler som autosamlas in av experimentet eller som uttryckligen laddas upp av digOutput files that are autocollected by the experiment or explicitly uploaded by you
  • En ögonblicks bild av katalogen som innehåller dina skript, innan körningenA snapshot of the directory that contains your scripts, prior to the run

Du skapar en körning när du skickar ett skript för att träna en modell.You produce a run when you submit a script to train a model. En körning kan ha noll eller flera underordnade körningar.A run can have zero or more child runs. Körningen på den översta nivån kan till exempel ha två underordnade körningar, som var och en kan ha sin egen underordnade körning.For example, the top-level run might have two child runs, each of which might have its own child run.

Köra konfigurationerRun configurations

En körnings konfiguration är en uppsättning instruktioner som definierar hur ett skript ska köras i ett angivet beräknings mål.A run configuration is a set of instructions that defines how a script should be run in a specified compute target. Konfigurationen innehåller en mängd olika beteende definitioner, till exempel om du vill använda en befintlig python-miljö eller om du vill använda en Conda miljö som bygger på en specifikation.The configuration includes a wide set of behavior definitions, such as whether to use an existing Python environment or to use a Conda environment that's built from a specification.

En körnings konfiguration kan sparas i en fil i den katalog som innehåller ditt utbildnings skript, eller så kan den konstrueras som ett InMemory-objekt och användas för att skicka in en körning.A run configuration can be persisted into a file inside the directory that contains your training script, or it can be constructed as an in-memory object and used to submit a run.

För att till exempel köra konfigurationer, se Välj och Använd ett beräknings mål för att träna din modell.For example run configurations, see Select and use a compute target to train your model.

ÖgonblicksbilderSnapshots

När du skickar en körning komprimerar Azure Machine Learning den katalog som innehåller skriptet som en zip-fil och skickar den till beräknings målet.When you submit a run, Azure Machine Learning compresses the directory that contains the script as a zip file and sends it to the compute target. Zip-filen extraheras sedan och skriptet körs där.The zip file is then extracted, and the script is run there. Azure Machine Learning lagrar också zip-filen som en ögonblicks bild som en del av körnings posten.Azure Machine Learning also stores the zip file as a snapshot as part of the run record. Alla som har åtkomst till arbets ytan kan bläddra i en körnings post och ladda ned ögonblicks bilden.Anyone with access to the workspace can browse a run record and download the snapshot.

Anteckning

Du kan förhindra att onödiga filer tas med i ögonblicks bilden genom att göra en IGNORE-fil (. gitignore eller. amlignore).To prevent unnecessary files from being included in the snapshot, make an ignore file (.gitignore or .amlignore). Placera filen i ögonblicks bild katalogen och Lägg till de fil namn som ska ignoreras i den.Place this file in the Snapshot directory and add the filenames to ignore in it. Filen. amlignore använder samma syntax och mönster som. gitignore-filen.The .amlignore file uses the same syntax and patterns as the .gitignore file. Om båda filerna finns får filen. amlignore företräde.If both files exist, the .amlignore file takes precedence.

Utbildnings skriptTraining scripts

För att träna en modell anger du den katalog som innehåller utbildnings skriptet och tillhör ande filer.To train a model, you specify the directory that contains the training script and associated files. Du kan också ange ett experiment namn som används för att lagra information som samlas in under utbildningen.You also specify an experiment name, which is used to store information that's gathered during training. Under utbildningen kopieras hela katalogen till tränings miljön (Compute Target) och skriptet som anges av körnings konfigurationen startas.During training, the entire directory is copied to the training environment (compute target), and the script that's specified by the run configuration is started. En ögonblicks bild av katalogen lagras även under experimentet i arbets ytan.A snapshot of the directory is also stored under the experiment in the workspace.

Ett exempel finns i Självstudier: träna en bild klassificerings modell med Azure Machine Learning.For an example, see Tutorial: Train an image classification model with Azure Machine Learning.

ArbetsytorWorkspaces

Arbets ytan är den översta resursen för Azure Machine Learning.The workspace is the top-level resource for Azure Machine Learning. Det ger en central plats för att arbeta med alla artefakter som du skapar när du använder Azure Machine Learning.It provides a centralized place to work with all the artifacts you create when you use Azure Machine Learning. Du kan dela en arbets yta med andra.You can share a workspace with others. En detaljerad beskrivning av arbets ytor finns i Vad är en Azure Machine Learning arbets yta?.For a detailed description of workspaces, see What is an Azure Machine Learning workspace?.

Nästa stegNext steps

För att komma igång med Azure Machine Learning, se:To get started with Azure Machine Learning, see: