Modellek, összetevők és környezetek megosztása munkaterületeken a regisztrációs adatbázisokkal
Az Azure Machine Tanulás beállításjegyzéke lehetővé teszi a szervezeten belüli munkaterületek közötti együttműködést. A regisztrációs adatbázisok használatával modelleket, összetevőket és környezeteket oszthat meg.
Két olyan eset van, amikor ugyanazt a modellkészletet, összetevőt és környezetet szeretné használni több munkaterületen:
- Munkaterületek közötti MLOps: Betanítást fog elvégezni egy
dev
munkaterületen, és üzembe kell helyeznie azttest
aprod
munkaterületeken. Ebben az esetben a végpontok közötti teljes körű vonalvezetést szeretné használni, amelyre a modell telepítvetest
van vagyprod
munkaterületeken, valamint a munkaterületen a modelldev
betanításához használt betanítási feladat, metrikák, kódok, adatok és környezet között. - Modellek és folyamatok megosztása és újrafelhasználása különböző csapatokban: A megosztás és az újrafelhasználás javítja az együttműködést és a hatékonyságot. Ebben a forgatókönyvben érdemes lehet közzétenni egy betanított modellt, valamint a hozzá tartozó összetevőket és környezeteket, amelyek a központi katalógusba való betanítása során használatosak. Innen más csapatok munkatársai kereshetnek és újra felhasználhatják a saját kísérleteikben megosztott objektumokat.
Ebből a cikkből megtudhatja, hogyan:
- Hozzon létre egy környezetet és összetevőt a beállításjegyzékben.
- A beállításjegyzékből származó összetevővel elküldhet egy modellbetanítási feladatot egy munkaterületen.
- Regisztrálja a betanított modellt a beállításjegyzékben.
- Telepítse a modellt a beállításjegyzékből egy online végpontra a munkaterületen, majd küldjön egy következtetési kérelmet.
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.
Az Azure Machine Tanulás beállításjegyzéket modellek, összetevők és környezetek megosztásához. Beállításjegyzék létrehozásához tekintse meg a beállításjegyzék létrehozását ismertető témakört.
Egy Azure Machine Learning-munkaterület. Ha nincs ilyenje, a gyorsútmutató lépéseit követve hozzon létre egyet a munkaterület erőforrásainak létrehozása című cikkben.
Fontos
A munkaterület létrehozásához használt Azure-régiónak (helynek) szerepelnie kell az Azure Machine Tanulás beállításjegyzékében támogatott régiók listájában
Az Azure CLI és a
ml
bővítmény vagy az Azure Machine Tanulás Python SDK v2:Az Azure CLI és a bővítmény telepítéséhez lásd a parancssori felület (v2) telepítését, beállítását és használatát.
Fontos
A jelen cikkben szereplő CLI-példák feltételezik, hogy a Bash (vagy kompatibilis) rendszerhéjat használja. Például linuxos rendszerből vagy Linuxos Windows-alrendszer.
A példák azt is feltételezik, hogy az Azure CLI alapértelmezett beállításaival nem kell megadnia az előfizetés, a munkaterület, az erőforráscsoport vagy a hely paramétereit. Az alapértelmezett beállítások megadásához használja az alábbi parancsokat. Cserélje le a következő paramétereket a konfiguráció értékeire:
- Cserélje le a
<subscription>
értékét a saját Azure-előfizetése azonosítójára. - Cserélje le
<workspace>
az Azure Machine Tanulás munkaterület nevére. - Cserélje le
<resource-group>
a munkaterületet tartalmazó Azure-erőforráscsoportra. - Cserélje le
<location>
a munkaterületet tartalmazó Azure-régióra.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
A parancs használatával
az configure -l
megtekintheti az aktuális alapértelmezett beállításokat.- Cserélje le a
Példák klónozása adattár
A cikkben szereplő kódpéldák a nyc_taxi_data_regression
példák adattárában található mintán alapulnak. Ha ezeket a fájlokat a fejlesztési környezetben szeretné használni, az alábbi parancsokkal klónozza az adattárat, és módosítsa a könyvtárakat a példára:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
A CLI-példában módosítsa a könyvtárakat cli/jobs/pipelines-with-components/nyc_taxi_data_regression
a példák adattárának helyi klónjára.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
SDK-kapcsolat létrehozása
Tipp.
Erre a lépésre csak a Python SDK használatakor van szükség.
Hozzon létre ügyfélkapcsolatot az Azure Machine Tanulás munkaterülethez és a beállításjegyzékhez:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Környezet létrehozása a beállításjegyzékben
A környezetek határozzák meg a docker-tárolót és a Python-függőségeket, amelyekre a betanítási feladatok futtatásához vagy a modellek üzembe helyezéséhez van szükség. A környezetekkel kapcsolatos további információkért tekintse meg a következő cikkeket:
- Környezeti fogalmak
- Környezetek (CLI) -cikkek létrehozása.
Tipp.
Ugyanez a CLI-parancs az ml environment create
használható környezetek munkaterületen vagy beállításjegyzékben való létrehozásához. A parancs parancsgal való --workspace-name
futtatása létrehozza a környezetet egy munkaterületen, míg a parancs futtatásával --registry-name
létrehozza a környezetet a beállításjegyzékben.
Létrehozunk egy környezetet, amely a python:3.8
Docker-rendszerképet használja, és telepíti a betanítási feladat futtatásához szükséges Python-csomagokat a SciKit Learn keretrendszer használatával. Ha klónozta a példák adattárát, és a mappában cli/jobs/pipelines-with-components/nyc_taxi_data_regression
van, látnia kell a docker-fájlra env_train/Dockerfile
hivatkozó környezetdefiníciós fájltenv_train.yml
. A env_train.yml
referencia alább látható:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1
build:
path: ./env_train
A környezet létrehozása az az ml environment create
alábbiak szerint
az ml environment create --file env_train.yml --registry-name <registry-name>
Ha hibaüzenetet kap arról, hogy egy ilyen nevű és verziójú környezet már létezik a beállításjegyzékben, szerkesztheti a version
mezőt env_train.yml
, vagy megadhat egy másik verziót a parancssori felületen, amely felülbírálja a verzió értékét a beállításjegyzékben env_train.yml
.
# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version
Tipp.
version=$(date +%s)
csak Linuxon működik. Ha ez nem működik, cserélje le $version
véletlenszerű számra.
Jegyezze fel a name
parancs kimenetéből az ml environment create
a környezetet és version
a környezetet, és használja őket a következő parancsokkalaz ml environment show
. Amikor létrehoz egy összetevőt a beállításjegyzékben, szüksége lesz a name
version
következő szakaszra.
az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>
Tipp.
Ha más környezeti nevet vagy verziót használt, cserélje le a paramétereket és --version
a --name
paramétereket ennek megfelelően.
A beállításjegyzék összes környezetének felsorolására is használható az ml environment list --registry-name <registry-name>
.
Az Azure Machine Tanulás studio összes környezetében tallózhat. Lépjen a globális felhasználói felületre, és keresse meg a regisztrációs adatok bejegyzését .
Összetevő létrehozása a beállításjegyzékben
Az összetevők az Azure Machine Tanulás-folyamatok újrafelhasználható építőelemei az Azure Machine Tanulás. Az egyes folyamatlépések kódját, parancsát, környezetét, bemeneti felületét és kimeneti felületét egy összetevőbe csomagolhatja. Ezután újra felhasználhatja az összetevőt több folyamatban anélkül, hogy a függőségek és a kód portolásával kellene foglalkoznia minden alkalommal, amikor másik folyamatot ír.
Egy összetevő munkaterületen való létrehozása lehetővé teszi, hogy az összetevőt a munkaterület bármely folyamatfeladatában használja. Egy összetevő beállításjegyzékben való létrehozása lehetővé teszi, hogy az összetevőt a szervezet bármely munkaterületén lévő folyamatokban használja. Az összetevők beállításjegyzékben való létrehozása nagyszerű módja annak, hogy moduláris, újrafelhasználható segédprogramokat vagy megosztott betanítási feladatokat hozzon létre, amelyeket a szervezet különböző csapatai kísérletezhetnek.
Az összetevőkkel kapcsolatos további információkért tekintse meg az alábbi cikkeket:
Összetevők használata folyamatokban (SDK)
Fontos
A beállításjegyzék csak az elnevezett eszközök (adat/modell/összetevő/környezet) használatát támogatja. Ha egy beállításjegyzékben lévő objektumra szeretne hivatkozni, először létre kell hoznia azt a beállításjegyzékben. Különösen a folyamatösszetevők esetében, ha referencia-összetevőt vagy környezetet szeretne a folyamatösszetevőben, először létre kell hoznia az összetevőt vagy a környezetet a beállításjegyzékben.
Győződjön meg arról, hogy a mappában cli/jobs/pipelines-with-components/nyc_taxi_data_regression
van. Megtalálja a Scikit Learn betanítási szkriptjét és a válogatott környezetetAzureML-sklearn-0.24-ubuntu18.04-py37-cpu
tartalmazó összetevődefiníciós fájlttrain.yml
.train_src/train.py
A létrehozott Scikit Learn-környezetet a válogatott környezet helyett perverz lépésben fogjuk használni. A mező szerkesztésével environment
hivatkozhat a train.yml
Scikit Learn-környezetre. Az eredményként kapott összetevődefiníciós fájl train.yml
hasonló lesz a következő példához:
# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
training_data:
type: uri_folder
test_split_ratio:
type: number
min: 0
max: 1
default: 0.2
outputs:
model_output:
type: mlflow_model
test_data:
type: uri_folder
code: ./train_src
environment: azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1`
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
--test_split_ratio ${{inputs.test_split_ratio}}
Ha eltérő nevet vagy verziót használt, az általánosabb ábrázolás a következőképpen néz ki: environment: azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
ezért győződjön meg arról, hogy lecseréli az <registry-name>
, <sklearn-environment-name>
és <sklearn-environment-version>
ennek megfelelően. Ezután futtassa a az ml component create
parancsot az összetevő létrehozásához az alábbiak szerint.
az ml component create --file train.yml --registry-name <registry-name>
Tipp.
Ugyanezzel a parancssori felületi paranccsal az ml component create
is létrehozhat összetevőket egy munkaterületen vagy beállításjegyzékben. A parancs parancsgal való --workspace-name
futtatása létrehozza az összetevőt egy munkaterületen, míg a parancs futtatásával --registry-name
létrehozza az összetevőt a beállításjegyzékben.
Ha nem szeretné szerkeszteni a train.yml
környezetet, felülbírálhatja a környezet nevét a parancssori felületen az alábbiak szerint:
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
# or if you used a different name or version, replace `<sklearn-environment-name>` and `<sklearn-environment-version>` accordingly
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
Tipp.
Ha hibaüzenetet kap arról, hogy az összetevő neve már létezik a beállításjegyzékben, szerkesztheti a verziót train.yml
a parancssori felületen, vagy felülbírálhatja a verziót egy véletlenszerű verzióval.
Jegyezze fel az name
összetevőt version
a parancs kimenetéből az ml component create
, és használja őket a következő parancsokkal az ml component show
. A munkaterületen végzett betanítási feladat létrehozásakor szüksége lesz a name
következő szakaszra és version
a következő szakaszra.
az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>
A beállításjegyzék összes összetevőjét is az ml component list --registry-name <registry-name>
listázhatja.
Az Azure Machine Tanulás studióban minden összetevőt tallózhat. Lépjen a globális felhasználói felületre, és keresse meg a regisztrációs adatok bejegyzését .
Folyamatfeladat futtatása munkaterületen a beállításjegyzékből származó összetevő használatával
Amikor olyan folyamatfeladatot futtat, amely egy beállításjegyzékből származó összetevőt használ, a számítási erőforrások és a betanítási adatok helyiek a munkaterületen. A feladatok futtatásával kapcsolatos további információkért tekintse meg a következő cikkeket:
- Feladatok futtatása (CLI)
- Feladatok futtatása (SDK)
- Folyamatfeladatok összetevőkkel (CLI)
- Folyamatfeladatok összetevőkkel (SDK)
Futtatunk egy folyamatfeladatot az előző szakaszban létrehozott Scikit Learn betanítási összetevővel egy modell betanításához. Ellenőrizze, hogy a mappában cli/jobs/pipelines-with-components/nyc_taxi_data_regression
van-e. A betanítási adatkészlet a data_transformed
mappában található. Szerkessze a component
train_job
fájl szakaszában single-job-pipeline.yml
található szakaszt az előző szakaszban létrehozott betanítási összetevőre való hivatkozáshoz. Az eredmény alább single-job-pipeline.yml
látható.
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: ./data_transformed
outputs:
model_output:
type: mlflow_model
test_data:
A fő szempont az, hogy ez a folyamat egy munkaterületen fog futni egy olyan összetevő használatával, amely nem az adott munkaterületen található. Az összetevő egy beállításjegyzékben található, amely a szervezet bármely munkaterületén használható. Ezt a betanítási feladatot bármely olyan munkaterületen futtathatja, amelyhez hozzáférése van anélkül, hogy aggódnia kellene a betanítási kód és a környezet elérhetővé tételével a munkaterületen.
Figyelmeztetés
- A folyamatfeladat futtatása előtt győződjön meg arról, hogy a munkaterület, amelyen futtatni fogja a feladatot, egy Olyan Azure-régióban található-e, amelyet az összetevőt létrehozó beállításjegyzék támogat.
- Ellenőrizze, hogy a munkaterület rendelkezik-e a számítási fürt nevével
cpu-cluster
, vagy szerkessze acompute
mezőtjobs.train_job.compute
a számítás nevével.
Futtassa a folyamatfeladatot a az ml job create
paranccsal.
az ml job create --file single-job-pipeline.yml
Tipp.
Ha nem konfigurálta az alapértelmezett munkaterületet és erőforráscsoportot az előfeltételek szakaszban leírtak szerint, meg kell adnia a --workspace-name
működéshez szükséges az ml job create
paramétereket és --resource-group
paramétereket.
Másik lehetőségként kihagyhatja a parancssori felület által train_job
használt összetevő nevét, és felülbírálhatja a szerkesztéstsingle-job-pipeline.yml
.
az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
Mivel a betanítási feladatban használt összetevő egy beállításjegyzéken keresztül van megosztva, a feladatot elküldheti a szervezet bármely olyan munkaterületére, amelyhez hozzáféréssel rendelkezik, akár különböző előfizetések között is. Ha például dev-workspace
test-workspace
prod-workspace
ebben a három munkaterületen futtatja a betanítási feladatot, az ugyanolyan egyszerű, mint három az ml job create
parancs futtatása.
az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>
Az Azure Machine Tanulás Studióban válassza ki a feladat kimenetében található végponthivatkozást a feladat megtekintéséhez. Itt elemezheti a betanítási metrikákat, ellenőrizheti, hogy a feladat az összetevőt és a környezetet használja-e a beállításjegyzékből, és áttekintheti a betanított modellt. Jegyezze fel a name
feladatot a kimenetből, vagy keresse meg ugyanazokat az információkat a feladat áttekintéséből az Azure Machine Tanulás Studióban. Ezekre az információkra szüksége lesz a betanított modell letöltéséhez a következő szakaszban, amely a modellek beállításjegyzékben való létrehozását ismerteti.
Modell létrehozása a beállításjegyzékben
Ebben a szakaszban megtudhatja, hogyan hozhat létre modelleket egy beállításjegyzékben. A modellek kezelésével kapcsolatos további információkért tekintse át az Azure Machine Tanulás modellkezelését. A modell beállításjegyzékben való létrehozásának két különböző módját vizsgáljuk meg. Az első a helyi fájlokból származik. Másodszor, a munkaterületen regisztrált modell másolása egy beállításjegyzékbe.
Mindkét beállításban MLflow formátumú modellt fog létrehozni, amely segít a modell következtetésre történő üzembe helyezésében következtetési kód írása nélkül.
Modell létrehozása a beállításjegyzékben helyi fájlokból
Töltse le a modellt, amely a kimeneteként train_job
érhető el az előző szakaszban szereplő feladat nevére cserélve <job-name>
. A modellnek és az MLflow metaadatfájljainak elérhetőnek kell lenniük a ./artifacts/model/
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name
# review the model files
ls -l ./artifacts/model/
Tipp.
Ha nem konfigurálta az alapértelmezett munkaterületet és erőforráscsoportot az előfeltételek szakaszban leírtak szerint, meg kell adnia a --workspace-name
működéshez szükséges az ml model create
paramétereket és --resource-group
paramétereket.
Figyelmeztetés
A kimenet a az ml job list
következőnek lesz átadva sed
: . Ez csak Linux-rendszerhéjakon működik. Ha Windows rendszeren dolgozik, futtassa az ml job list --parent-job-name <job-name> --query [0].name
és sztriptízelje a betanítási feladat nevében látható idézeteket.
Ha nem tudja letölteni a modellt, a mappa előző szakaszában cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/
található betanítási feladat által betanított MLflow-mintamodellt talál.
Hozza létre a modellt a beállításjegyzékben:
# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>
Tipp.
- Használjon véletlenszerű számot a paraméterhez, ha hibaüzenet jelenik meg, amely szerint a
version
modell neve és verziója létezik. - Ugyanezzel a PARANCSSOR-paranccsal
az ml model create
hozhat létre modelleket egy munkaterületen vagy beállításjegyzékben. A parancs parancsgal való--workspace-name
futtatása létrehozza a modellt egy munkaterületen, míg a parancs futtatásával--registry-name
létrehozza a modellt a beállításjegyzékben.
Modell megosztása munkaterületről beállításjegyzékbe
Ebben a munkafolyamatban először létrehozza a modellt a munkaterületen, majd megosztja azt a beállításjegyzékben. Ez a munkafolyamat akkor hasznos, ha a megosztás előtt tesztelni szeretné a modellt a munkaterületen. Például helyezze üzembe a végpontokon, próbáljon ki következtetéseket néhány tesztadattal, majd másolja a modellt egy beállításjegyzékbe, ha minden jól néz ki. Ez a munkafolyamat akkor is hasznos lehet, ha különböző technikákat, keretrendszereket vagy paramétereket használó modellek sorozatát fejleszti, és csak egyet szeretne előléptetni a beállításjegyzékben éles jelöltként.
Győződjön meg arról, hogy rendelkezik a folyamatfeladat nevével az előző szakaszból, és cserélje le azt a parancsban az alábbi betanítási feladat nevének lekéréséhez. Ezután regisztrálja a modellt a betanítási feladat kimenetéből a munkaterületre. Figyelje meg, hogy a --path
paraméter hogyan hivatkozik a szintaxissal rendelkező kimeneti train_job
kimenetre azureml://jobs/$train_job_name/outputs/artifacts/paths/model
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model
Tipp.
- Használjon véletlenszerű számot a paraméterhez, ha hibaüzenetet kap, amely szerint a
version
modell neve és verziója létezik." - Ha nem konfigurálta az alapértelmezett munkaterületet és erőforráscsoportot az előfeltételek szakaszban leírtak szerint, meg kell adnia a
--workspace-name
működéshez szükségesaz ml model create
paramétereket és--resource-group
paramétereket.
Jegyezze fel a modell nevét és verzióját. Ellenőrizheti, hogy a modell regisztrálva van-e a munkaterületen a Studio felhasználói felületén való böngészéssel vagy parancs használatával az ml model show --name nyc-taxi-model --version $model_version
.
Ezután megosztja a modellt a munkaterületről a beállításjegyzékbe.
# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>
Tipp.
- Győződjön meg arról, hogy a megfelelő modellnevet és verziót használja, ha módosította a
az ml model create
parancsban. - A fenti parancs két választható paraméterrel rendelkezik: "--share-with-name" és "--share-with-version". Ha ezek nincsenek megadva, az új modell neve és verziója megegyezik a megosztott modell nevével és verziójával.
Jegyezze fel a modell és a
name
parancs kimenetétaz ml model create
, és használja őket a következő parancsokkalaz ml model show
.version
A modell online végponton való üzembe helyezésekor a következő szakaszban ésversion
az azt követő szakaszban kellname
következtetnie.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>
A beállításjegyzékben szereplő összes modell listázására vagy az Azure Machine Tanulás studio felhasználói felületén található összes összetevő tallózására is használhatóaz ml model list --registry-name <registry-name>
. Lépjen a globális felhasználói felületre, és keresse meg a Regisztrációs adatbázis központot.
Az alábbi képernyőképen egy azure machine-Tanulás studiobeli beállításjegyzékben lévő modell látható. Ha létrehozott egy modellt a feladat kimenetéből, majd átmásolta a modellt a munkaterületről a beállításjegyzékbe, látni fogja, hogy a modell rendelkezik a modellt betanított feladatra mutató hivatkozással. Ezen a hivatkozáson navigálhat a betanítási feladatra a modell betanításához használt kód, környezet és adatok áttekintéséhez.
Modell üzembe helyezése a beállításjegyzékből az online végpontra a munkaterületen
Az utolsó szakaszban egy modellt fog üzembe helyezni a beállításjegyzékből egy online végpontra egy munkaterületen. Bármely olyan munkaterületet üzembe helyezhet, amelyhez hozzáféréssel rendelkezik a szervezetben, feltéve, hogy a munkaterület helye a beállításjegyzék által támogatott helyek egyike. Ez a funkció akkor hasznos, ha betanított egy modellt egy dev
munkaterületen, és most már üzembe kell helyeznie a modellt test
vagy prod
a munkaterületet, miközben megőrzi a modell betanításához használt kód, környezet és adatok vonaladatait.
Az online végpontok lehetővé teszik modellek üzembe helyezését és következtetési kérelmek küldését a REST API-kon keresztül. További információ: Gépi tanulási modell üzembe helyezése és pontszáma online végpont használatával.
Hozzon létre egy online végpontot.
az ml online-endpoint create --name reg-ep-1234
Frissítse a model:
mappában elérhető sort deploy.yml
, cli/jobs/pipelines-with-components/nyc_taxi_data_regression
hogy a perverz lépésben hivatkozzon a modell nevére és verziójára. Online üzembe helyezés létrehozása az online végponton. Az deploy.yml
alábbiakban látható a hivatkozás.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS2_v2
instance_count: 1
Hozza létre az online üzembe helyezést. Az üzembe helyezés több percet is igénybe vehet.
az ml online-deployment create --file deploy.yml --all-traffic
Kérje le a pontozási URI-t, és küldjön be egy mintapontozási kérelmet. A pontozási kérelem mintaadatai a scoring-data.json
mappában cli/jobs/pipelines-with-components/nyc_taxi_data_regression
érhetők el.
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json
Tipp.
curl
parancs csak Linuxon működik.- Ha nem konfigurálta az alapértelmezett munkaterületet és erőforráscsoportot az előfeltételek szakaszban leírtak szerint, meg kell adnia a
--workspace-name
működéshezaz ml online-endpoint
szükséges paramétereket és--resource-group
az ml online-deployment
paramétereket.
Az erőforrások eltávolítása
Ha nem használja az üzemelő példányt, a költségek csökkentése érdekében törölnie kell. Az alábbi példa törli a végpontot és az összes mögöttes üzembe helyezést: