Du kan distribuera pipelinekomponenter under en batchslutpunkt, vilket ger ett bekvämt sätt att operationalisera dem i Azure Machine Learning. I den här artikeln får du lära dig hur du skapar en batchdistribution som innehåller en enkel pipeline. Du lär dig att:
Skapa och registrera en pipelinekomponent
Skapa en batchslutpunkt och distribuera en pipelinekomponent
Testa distributionen
Om det här exemplet
I det här exemplet ska vi distribuera en pipelinekomponent som består av ett enkelt kommandojobb som skriver ut "hello world!". Den här komponenten kräver inga indata eller utdata och är det enklaste pipelinedistributionsscenariot.
Exemplet i den här artikeln baseras på kodexempel som finns på lagringsplatsen azureml-examples . Om du vill köra kommandona lokalt utan att behöva kopiera eller klistra in YAML och andra filer använder du följande kommandon för att klona lagringsplatsen och gå till mappen för kodningsspråket:
Följande behörigheter på Azure Machine Learning-arbetsytan:
För att skapa eller hantera batchslutpunkter och distributioner: Använd en ägare, deltagare eller anpassad roll som har tilldelats behörigheterna Microsoft.MachineLearningServices/workspaces/batchEndpoints/* .
För att skapa Azure Resource Manager-distributioner i arbetsytans resursgrupp: Använd en ägare, deltagare eller anpassad roll som har tilldelats behörigheten Microsoft.Resources/deployments/write i resursgruppen där arbetsytan distribueras.
Azure Machine Learning CLI eller Azure Machine Learning SDK för Python:
Distributioner av pipelinekomponenter för batchslutpunkter introduceras i version 2.7 av ml tillägget för Azure CLI.
az extension update --name ml Använd kommandot för att hämta den senaste versionen.
Klasserna ModelBatchDeployment och PipelineComponentBatchDeployment introduceras i version 1.7.0 av SDK:et.
pip install -U azure-ai-ml Använd kommandot för att hämta den senaste versionen.
Anslut till din arbetsyta
Arbetsytan är resursen på den översta nivån för Azure Machine Learning. Det är en central plats där du kan arbeta med alla artefakter som du skapar när du använder Azure Machine Learning. I det här avsnittet ansluter du till arbetsytan där du utför dina distributionsuppgifter.
Batch-slutpunkter kan distribuera antingen modeller eller pipelinekomponenter. Pipelinekomponenter kan återanvändas och du kan effektivisera MLOps-metoden med hjälp av delade register för att flytta dessa komponenter från en arbetsyta till en annan.
Pipelinekomponenten i det här exemplet innehåller ett enda steg som bara skriver ut ett "hello world"-meddelande i loggarna. Det kräver inga indata eller utdata.
Filen hello-component/hello.yml innehåller konfigurationen för pipelinekomponenten:
Ange ett namn för slutpunkten. Namnet på en batchslutpunkt måste vara unikt i varje region eftersom namnet används för att konstruera anrops-URI:n. För att säkerställa unikhet lägger du till eventuella avslutande tecken i det namn som anges i följande kod.
För att distribuera pipelinekomponenten måste vi skapa en batchdistribution. En distribution är en uppsättning resurser som krävs för att vara värd för den tillgång som utför det faktiska arbetet.
Skapa ett beräkningskluster. Batchslutpunkter och distributioner körs på beräkningskluster. De kan köras på alla Azure Machine Learning-beräkningskluster som redan finns på arbetsytan. Därför kan flera batchdistributioner dela samma beräkningsinfrastruktur. I det här exemplet arbetar vi med ett Azure Machine Learning-beräkningskluster med namnet batch-cluster. Nu ska vi kontrollera att beräkningen finns på arbetsytan eller skapa den på annat sätt.
Filen deployment.yml innehåller distributionens konfiguration. Du kan kontrollera YAML-schemat för den fullständiga batchslutpunkten för extra egenskaper.
deployment = PipelineComponentBatchDeployment(
name="hello-batch-dpl",
description="A hello world deployment with a single step.",
endpoint_name=endpoint.name,
component=hello_batch,
settings={"continue_on_step_failure": False, "default_compute": compute_name},
)
Hantera datainmatning och förberedelse, modellträning och distribution samt övervakning av maskininlärningslösningar med Python, Azure Machine Learning och MLflow.
Ta reda på hur du får åtkomst till indata från olika källor i Azure Machine Learning-batchslutpunktsjobb. Se kod för anrop för Azure CLI, Python SDK och REST API.
Lär dig hur du felsöker och diagnostiserar fel med batchslutpunktsjobb, inklusive att undersöka loggar för bedömning av jobb och lösningssteg för vanliga problem.