Share via


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 azt test a prod munkaterületeken. Ebben az esetben a végpontok közötti teljes körű vonalvezetést szeretné használni, amelyre a modell telepítve test van vagy prod munkaterületeken, valamint a munkaterületen a modell dev 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.

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:

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_regressionvan, látnia kell a docker-fájlra env_train/Dockerfilehivatkozó 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 nameversion 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 .

Képernyőkép a beállításjegyzékben lévő környezetekről.

Ö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:

Győződjön meg arról, hogy a mappában cli/jobs/pipelines-with-components/nyc_taxi_data_regressionvan. 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.ymlkö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 .

Képernyőkép a beállításjegyzék összetevőiről.

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:

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_regressionvan-e. A betanítási adatkészlet a data_transformed mappában található. Szerkessze a componenttrain_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 a compute mezőt jobs.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-workspacetest-workspaceprod-workspaceebben 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.

Képernyőkép a folyamatról az Azure Machine Tanulás Studióban.

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éges az 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 és version az azt követő szakaszban kell name 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.

Képernyőkép a beállításjegyzékben lévő modellekről.

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éshez az ml online-endpoint szükséges paramétereket és --resource-groupaz 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:

az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait

Következő lépések