Meglévő folyamatfeladatok üzembe helyezése kötegelt végpontokon
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
A Batch-végpontok lehetővé teszik a folyamatösszetevők üzembe helyezését, így kényelmesen üzembe helyezheti a folyamatokat az Azure Machine Tanulás. A Batch-végpontok elfogadják a folyamatösszetevőket az üzembe helyezéshez. Ha azonban már van egy sikeresen futó folyamatfeladata, az Azure Machine Tanulás elfogadhatja ezt a feladatot a kötegelt végpont bemeneteként, és automatikusan létrehozhatja a folyamatösszetevőt. Ebben a cikkben megtudhatja, hogyan használhatja a meglévő folyamatfeladatot bemenetként a kötegelt üzembe helyezéshez.
A következőket fogja elsajátítani:
- Futtassa és hozza létre az üzembe helyezni kívánt folyamatfeladatot
- Batch-telepítés létrehozása a meglévő feladatból
- Az üzemelő példány tesztelése
A példa ismertetése
Ebben a példában egy egyszerű parancsfeladatból álló folyamatot fogunk üzembe helyezni, amely a "hello world!" szöveget nyomtatja. Ahelyett, hogy az üzembe helyezés előtt regisztrálnánk a folyamat összetevőjét, egy meglévő folyamatfeladatot jelölünk, amelyet üzembe helyezéshez használunk. Az Azure Machine Tanulás ezután automatikusan létrehozza a folyamatösszetevőt, és üzembe helyezi azt kötegelt végponti folyamatösszetevőként.
A cikkben szereplő példa az azureml-examples adattárban található kódmintákon alapul. Ha helyileg szeretné futtatni a parancsokat a YAML és más fájlok másolása/beillesztése nélkül, először klónozza az adattárat, majd módosítsa a könyvtárakat a mappára:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
A példában szereplő fájlok a következők:
cd endpoints/batch/deploy-pipelines/hello-batch
Előfeltételek
A cikkben ismertetett lépések végrehajtása előtt győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:
Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot. Próbálja ki az Azure Machine Tanulás ingyenes vagy fizetős verzióját.
Egy Azure Machine Learning-munkaterület. Ha nincs ilyenje, az Azure Machine Tanulás-munkaterületek kezelése című cikk lépéseit követve hozzon létre egyet.
Győződjön meg arról, hogy rendelkezik a következő engedélyekkel a munkaterületen:
Batch-végpontok és -üzemelő példányok létrehozása vagy kezelése: Használjon tulajdonosi, közreműködői vagy egyéni szerepkört, amely lehetővé teszi
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
.ARM-üzemelő példányok létrehozása a munkaterület erőforráscsoportjában: Használjon tulajdonosi, közreműködői vagy egyéni szerepkört, amely lehetővé teszi
Microsoft.Resources/deployments/write
abban az erőforráscsoportban, amelyben a munkaterület telepítve van.
Az Azure Machine Tanulás használatához telepítenie kell a következő szoftvert:
Az Azure CLI és az
ml
Azure Machine Tanulás bővítménye.az extension add -n ml
Feljegyzés
A Batch-végpontok folyamatösszetevő-üzembe helyezését az
ml
Azure CLI bővítményének 2.7-es verziójában vezettük be. Az utolsó verzió lekérésére használhatóaz extension update --name ml
.
Csatlakozás a munkaterülethez
A munkaterület az Azure Machine Learning legfelső szintű erőforrása, amely egy központi helyet biztosít az Azure Machine Learning használata során létrehozott összetevőkkel való munkához. Ebben a szakaszban ahhoz a munkaterülethez csatlakozunk, amelyben üzembe helyezési feladatokat fog végrehajtani.
Adja meg az előfizetés azonosítójának, munkaterületének, helyének és erőforráscsoportjának értékeit a következő kódban:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Futtassa az üzembe helyezni kívánt folyamatfeladatot
Ebben a szakaszban egy folyamatfeladat futtatásával kezdjük:
Az alábbi pipeline-job.yml
fájl a folyamatfeladat konfigurációját tartalmazza:
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
Hozza létre a folyamatfeladatot:
Batch-végpont létrehozása
A folyamatfeladat üzembe helyezése előtt üzembe kell helyeznünk egy kötegelt végpontot az üzembe helyezés üzemeltetéséhez.
Adja meg a végpont nevét. A kötegvégpont nevének minden régióban egyedinek kell lennie, mivel a név a hívási URI létrehozásához használatos. Az egyediség biztosításához fűzze hozzá a záró karaktereket az alábbi kódban megadott névhez.
A végpont konfigurálása:
Hozza létre a végpontot:
A végpont URI-jának lekérdezése:
A folyamatfeladat üzembe helyezése
A folyamatösszetevő üzembe helyezéséhez létre kell hoznunk egy kötegelt üzembe helyezést a meglévő feladatból.
Meg kell adnunk az Azure Machine Tanulás az üzembe helyezni kívánt feladat nevét. Esetünkben ez a feladat a következő változóban van feltüntetve:
Konfigurálja az üzembe helyezést.
A
deployment-from-job.yml
fájl tartalmazza az üzembe helyezés konfigurációját. Figyelje meg, hogyan használjuk a kulcsotjob_definition
ahelyettcomponent
, hogy azt jeleznénk, hogy ez az üzembe helyezés egy folyamatfeladatból jön létre: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
Tipp.
Ez a konfiguráció feltételezi, hogy van egy számítási fürt neve
batch-cluster
. Ezt az értéket lecserélheti a fürt nevére.Hozza létre az üzembe helyezést:
Futtassa a következő kódot egy batch-üzembe helyezés létrehozásához a batch-végpont alatt, és állítsa be alapértelmezett üzembe helyezésként.
az ml batch-deployment create --endpoint $ENDPOINT_NAME --set job_definition=azureml:$JOB_NAME -f deployment-from-job.yml
Tipp.
Figyelje meg a .
--set job_definition=azureml:$JOB_NAME
Mivel a feladatnevek egyediek, a parancs--set
itt a feladat nevének módosítására szolgál, amikor a munkaterületen futtatja.Az üzembe helyezés használatra kész.
Az üzemelő példány tesztelése
Az üzembe helyezés létrehozása után készen áll a feladatok fogadására. Az alapértelmezett üzembe helyezést az alábbiak szerint hívhatja meg:
A következőkkel figyelheti a bemutató előrehaladását, és streamelheti a naplókat:
Az erőforrások eltávolítása
Ha végzett, törölje a társított erőforrásokat a munkaterületről:
Futtassa a következő kódot a kötegvégpont és annak mögöttes üzembe helyezésének törléséhez. --yes
a törlés megerősítésére szolgál.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes