Distribuera befintliga pipelinejobb till batchslutpunkter
GÄLLER FÖR:Azure CLI ml extension v2 (current)
Python SDK azure-ai-ml v2 (aktuell)
Med Batch-slutpunkter kan du distribuera pipelinekomponenter, vilket ger ett bekvämt sätt att operationalisera pipelines i Azure Mašinsko učenje. Batch-slutpunkter accepterar pipelinekomponenter för distribution. Men om du redan har ett pipelinejobb som körs kan Azure Mašinsko učenje acceptera jobbet som indata till batchslutpunkten och skapa pipelinekomponenten automatiskt åt dig. I den här artikeln får du lära dig hur du använder ditt befintliga pipelinejobb som indata för batchdistribution.
Du lär dig att:
- Kör och skapa det pipelinejobb som du vill distribuera
- Skapa en batchdistribution från det befintliga jobbet
- Testa distributionen
Om det här exemplet
I det här exemplet ska vi distribuera en pipeline som består av ett enkelt kommandojobb som skriver ut "hello world!". I stället för att registrera pipelinekomponenten före distributionen anger vi ett befintligt pipelinejobb som ska användas för distribution. Azure Mašinsko učenje skapar sedan pipelinekomponenten automatiskt och distribuerar den som en distribution av en batchslutpunktspipelinekomponent.
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/klistra in YAML och andra filer klonar du först lagringsplatsen och ändrar sedan kataloger till mappen:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
Filerna för det här exemplet finns i:
cd endpoints/batch/deploy-pipelines/hello-batch
Förutsättningar
Innan du följer stegen i den här artikeln kontrollerar du att du har följande förutsättningar:
En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar. Prova den kostnadsfria eller betalda versionen av Azure Mašinsko učenje.
En Azure Machine Learning-arbetsyta. Om du inte har någon använder du stegen i artikeln Hantera Azure Mašinsko učenje-arbetsytor för att skapa en.
Kontrollera att du har följande behörigheter på arbetsytan:
Skapa eller hantera batchslutpunkter och distributioner: Använd en ägare, deltagare eller anpassad roll som tillåter
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
.Skapa ARM-distributioner i arbetsytans resursgrupp: Använd en roll som ägare, deltagare eller anpassad som tillåter
Microsoft.Resources/deployments/write
i den resursgrupp där arbetsytan distribueras.
Du måste installera följande programvara för att arbeta med Azure Mašinsko učenje:
Azure CLI och
ml
tillägget för Azure Mašinsko učenje.az extension add -n ml
Kommentar
Distributioner av pipelinekomponenter för Batch-slutpunkter introducerades i version 2.7 av
ml
tillägget för Azure CLI. Användaz extension update --name ml
för att hämta den senaste versionen av den.
Anslut till din arbetsyta
Arbetsytan är resursen på den översta nivån i Azure Machine Learning, och är en central plats där du kan arbeta med alla artefakter du skapar när du använder Azure Machine Learning. I det här avsnittet ansluter vi till arbetsytan där du ska utföra distributionsuppgifter.
Skicka in värdena för ditt prenumerations-ID, arbetsyta, plats och resursgrupp i följande kod:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Kör pipelinejobbet som du vill distribuera
I det här avsnittet börjar vi med att köra ett pipelinejobb:
Följande pipeline-job.yml
fil innehåller konfigurationen för pipelinejobbet:
pipeline-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
experiment_name: hello-pipeline-batch
display_name: hello-pipeline-batch-job
description: This job demonstrates how to run the a pipeline component in a pipeline job. You can use this example to test a component in an standalone job before deploying it in an endpoint.
compute: batch-cluster
component: hello-component/hello.yml
Skapa pipelinejobbet:
Skapa en batchslutpunkt
Innan vi distribuerar pipelinejobbet måste vi distribuera en batchslutpunkt som värd för distributionen.
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.
Konfigurera slutpunkten:
Skapa slutpunkten:
Fråga slutpunkts-URI:n:
Distribuera pipelinejobbet
För att distribuera pipelinekomponenten måste vi skapa en batchdistribution från det befintliga jobbet.
Vi måste berätta för Azure Mašinsko učenje namnet på det jobb som vi vill distribuera. I vårt fall anges det jobbet i följande variabel:
Konfigurera distributionen.
Filen
deployment-from-job.yml
innehåller distributionens konfiguration. Observera hur vi använder nyckelnjob_definition
i stället förcomponent
för att ange att den här distributionen skapas från ett pipelinejobb:deployment-from-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-from-job endpoint_name: hello-pipeline-batch type: pipeline job_definition: azureml:job_name_placeholder settings: continue_on_step_failure: false default_compute: batch-cluster
Dricks
Den här konfigurationen förutsätter att du har ett beräkningskluster med namnet
batch-cluster
. Du kan ersätta det här värdet med namnet på klustret.Skapa distributionen:
Kör följande kod för att skapa en batchdistribution under batchslutpunkten och ange den som standarddistribution.
az ml batch-deployment create --endpoint $ENDPOINT_NAME --set job_definition=azureml:$JOB_NAME -f deployment-from-job.yml
Dricks
Observera användningen av
--set job_definition=azureml:$JOB_NAME
. Eftersom jobbnamnen är unika används kommandot--set
här för att ändra namnet på jobbet när du kör det på arbetsytan.Distributionen är klar för användning.
Testa distributionen
När distributionen har skapats är den redo att ta emot jobb. Du kan anropa standarddistributionen på följande sätt:
Du kan övervaka förloppet för showen och strömma loggarna med hjälp av:
Rensa resurser
När du är klar tar du bort de associerade resurserna från arbetsytan:
Kör följande kod för att ta bort batchslutpunkten och dess underliggande distribution. --yes
används för att bekräfta borttagningen.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes
Nästa steg
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för