Gépi tanulási modell üzembe helyezése és pontozása online végpont használatával

A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Megtudhatja, hogyan helyezhet üzembe egy online végpontot a modell üzembe helyezéséhez, hogy ne kelljen létrehoznia és kezelnie a mögöttes infrastruktúrát. Először üzembe kell helyeznie egy modellt a helyi gépen a hibák hibakereséséhez, majd üzembe helyezi és teszteli azt az Azure-ban.

Azt is megtudhatja, hogyan tekintheti meg a naplókat, és hogyan figyelheti a szolgáltatói szerződést (SLA). Egy modellel kell kezdenie, és végül egy skálázható HTTPS-/REST-végponttal kell végződnie, amelyet online és valós idejű pontozáshoz használhat.

Az online végpontok az online (valós idejű) következtetéshez használt végpontok. Kétféle online végpont létezik: felügyelt online végpontok és Kubernetes online végpontok. A végpontokkal, valamint a felügyelt online végpontok és a Kubernetes online végpontjai közötti különbségekkel kapcsolatos további információkért lásd: Mik azok az Azure Machine Learning-végpontok?.

A felügyelt online végpontok segítségével azonnal üzembe helyezheti a használatra kész ML-modelleket. A felügyelt online végpontok skálázható, teljes mértékben felügyelt módon működnek együtt a nagy teljesítményű processzorral és GPU-val rendelkező Azure-beli gépekkel. A felügyelt online végpontok gondoskodnak a modellek kiszolgálásáról, skálázásáról, védelméről és monitorozásáról, így nem kell foglalkoznia a mögöttes infrastruktúra beállításával és kezelésével.

A dokumentum fő példája felügyelt online végpontokat használ az üzembe helyezéshez. Ha inkább a Kubernetes-t szeretné használni, tekintse meg a jelen dokumentumban található megjegyzéseket a felügyelt online végponttal kapcsolatos vitafórummal.

Tipp

Ha felügyelt online végpontokat szeretne létrehozni a Azure Machine Learning stúdió, olvassa el a Felügyelt online végpontok használata a studióban című témakört.

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:

  • Az Azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) az Azure Machine Learning műveleteihez való hozzáférés biztosítására szolgál. A cikkben ismertetett lépések végrehajtásához a felhasználói fiókjához hozzá kell rendelnie az Azure Machine Learning-munkaterület tulajdonosi vagy közreműködői szerepkörét, vagy egy egyéni szerepkört, amely lehetővé teszi Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*. További információ: Azure Machine Learning-munkaterülethez való hozzáférés kezelése.

  • Ha még nem állította be az Alapértelmezett beállításokat az Azure CLI-hez, mentse az alapértelmezett beállításokat. Az előfizetés, a munkaterület és az erőforráscsoport értékeinek többszöri átadásának elkerülése érdekében futtassa a következő kódot:

    az account set --subscription <subscription ID>
    az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
    
  • (Nem kötelező) A helyi telepítéshez telepítenie kell a Docker Engine-t a helyi számítógépre. Erősen ajánljuk ezt a lehetőséget, így egyszerűbb a problémák hibakeresése.

Fontos

A dokumentumban szereplő példák feltételezik, hogy a Bash-felületet használja. Például linuxos rendszerből vagy Linuxos Windows-alrendszer.

A rendszer előkészítése

A mintaadattár klónozása

A cikk követéséhez először klónozza a mintaadattárat (azureml-examples). Ezután futtassa a következő kódot a mintakönyvtárba való ugráshoz:

git clone --depth 1 https://github.com/Azure/azureml-examples
cd azureml-examples
cd cli

Tipp

A használatával --depth 1 csak a legújabb véglegesítést klónozhatja az adattárba, ami csökkenti a művelet végrehajtásához szükséges időt.

Végpont nevének beállítása

A végpont nevének beállításához futtassa a következő parancsot (cserélje le YOUR_ENDPOINT_NAME egy egyedi névre).

Unix esetén futtassa a következő parancsot:

export ENDPOINT_NAME="<YOUR_ENDPOINT_NAME>"

Megjegyzés

A végpontneveknek egyedinek kell lenniük egy Azure-régióban. Az Azure-régióban westus2 például csak egy végpont lehet , amelynek a neve my-endpoint.

A végpont és az üzembe helyezés meghatározása

A következő kódrészlet a végpontokat/online/managed/sample/endpoint.yml fájlt jeleníti meg:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: my-endpoint
auth_mode: key

Megjegyzés

A YAML teljes leírását lásd: Online végpont YAML-referencia.

A végpont YAML-formátumára vonatkozó referenciát az alábbi táblázat ismerteti. Az attribútumok megadásának módjáról a RENDSZER előkészítése című YAML-példában vagy az online végpont YAML-referenciájában olvashat. A felügyelt végpontokkal kapcsolatos korlátozásokról további információt az Erőforrások kvótáinak kezelése és növelése az Azure Machine Learning használatával című témakörben talál.

Kulcs Leírás
$schema (Nem kötelező) A YAML-séma. A YAML-fájlban elérhető összes lehetőség megtekintéséhez a sémát az előző példában tekintheti meg egy böngészőben.
name A végpont neve. Az Azure-régióban egyedinek kell lennie.
Az elnevezési szabályok felügyelt online végpontkorlátok alatt vannak meghatározva.
auth_mode Kulcsalapú hitelesítéshez használható key . Azure Machine Learning-jogkivonat-alapú hitelesítéshez használható aml_token . key nem jár le, de aml_token lejár. (A legutóbbi jogkivonat lekérése a az ml online-endpoint get-credentials paranccsal.)

A példa tartalmazza a modell online végponton való üzembe helyezéséhez szükséges összes fájlt. Modell üzembe helyezéséhez a következőket kell tennie:

  • Modellfájlok (vagy a munkaterületen már regisztrált modell neve és verziója). A példában van egy scikit-learn modellünk, amely regressziót végez.
  • A modell pontozásához szükséges kód. Ebben az esetben van egy score.py fájlunk.
  • Olyan környezet, amelyben a modell fut. Amint látni fogja, a környezet lehet Egy Conda-függőségeket tartalmazó Docker-rendszerkép, vagy egy Docker-fájl.
  • A példánytípus és a skálázási kapacitás megadására vonatkozó beállítások.

Az alábbi kódrészlet a végpontokat/online/managed/sample/blue-deployment.yml fájlt jeleníti meg az összes szükséges bemenettel:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
  path: ../../model-1/model/
code_configuration:
  code: ../../model-1/onlinescoring/
  scoring_script: score.py
environment: 
  conda_file: ../../model-1/environment/conda.yml
  image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1

A táblázat a következő attribútumokat deploymentírja le:

Kulcs Leírás
name Az üzembe helyezés neve.
model Ebben a példában a modelltulajdonságokat a következő beágyazott módon adhatja meg: path. A rendszer automatikusan feltölti és regisztrálja a modellfájlokat egy automatikusan létrehozott névvel. A kapcsolódó ajánlott eljárásokért tekintse meg a következő szakaszban található tippet.
code_configuration.code.path A helyi fejlesztési környezet könyvtára, amely tartalmazza a modell pontozásához szükséges Összes Python-forráskódot. Beágyazott könyvtárakat és csomagokat is használhat.
code_configuration.scoring_script A helyi fejlesztési környezet pontozási könyvtárában code_configuration.code.path található Python-fájl. Ennek a Python-kódnak rendelkeznie kell egy init() függvénnyel és egy run() függvénnyel. A rendszer meghívja a függvényt init() a modell létrehozása vagy frissítése után (használhatja például a modell gyorsítótárazására a memóriában). A run() függvényt a rendszer a végpont minden hívásánál meghívja, hogy elvégezhesse a tényleges pontozást és előrejelzést.
environment A modell és a kód üzemeltetéséhez szükséges környezet adatait tartalmazza. Ebben a példában beágyazott definíciókkal rendelkezünk, amelyek tartalmazzák a következőtpath. A rendszerképet használjuk environment.docker.image . A conda_file függőségek a rendszerkép tetején lesznek telepítve. További információért tekintse meg a következő szakaszban található tippet.
instance_type Az üzembehelyezési példányokat üzemeltető virtuálisgép-termékváltozat. További információ: Felügyelt online végpontok által támogatott virtuálisgép-termékváltozatok.
instance_count Az üzemelő példányok száma. Alapozza az értéket a várt számítási feladatra. A magas rendelkezésre állás érdekében javasoljuk, hogy állítsa be legalább 3a értéketinstance_count. A frissítések végrehajtásához további 20%-ot foglalunk le. További információ: Felügyelt online végpontkvóták.

Az üzembe helyezés során a rendszer feltölti a helyi fájlokat, például a pontozási modell Python-forrását a fejlesztési környezetből.

A YAML-sémával kapcsolatos további információkért lásd az online végpont YAML-referenciáját.

Megjegyzés

Kubernetes használata felügyelt végpontok helyett számítási célként:

  1. Hozza létre és csatolja a Kubernetes-fürtöt számítási célként az Azure Machine Learning-munkaterülethez a Azure Machine Learning stúdió használatával.
  2. Használja a YAML végpontot a Kubernetes célként való megcélzásához a felügyelt YAML-végpont helyett. Szerkesztenie kell a YAML-et, hogy az értékét target a regisztrált számítási cél nevére módosítsa. Ezt a deployment.yaml fájlt használhatja, amely további tulajdonságokkal rendelkezik a Kubernetes üzembe helyezéséhez.

A cikkben használt összes parancs (kivéve az opcionális SLA-monitorozást és az Azure Log Analytics-integrációt) használható felügyelt végpontokkal vagy Kubernetes-végpontokkal.

Modell és környezet külön regisztrálása

Ebben a példában a (fájlok feltöltésének path helyét) beágyazottként adhatja meg. A parancssori felület automatikusan feltölti a fájlokat, és regisztrálja a modellt és a környezetet. Az éles környezetben ajánlott eljárásként regisztrálnia kell a modellt és a környezetet, és külön kell megadnia a regisztrált nevet és verziót a YAML-ben. Használja az űrlapot vagy environment: azureml:my-env:1a következőtmodel: azureml:my-model:1: .

Regisztrációhoz kinyerheti a YAML-definíciókat model a és environment a fájlból külön YAML-fájlokba, és használhatja a és az ml environment createa parancsokataz ml model create. Ha többet szeretne megtudni ezekről a parancsokról, futtassa a és az ml environment create -ha parancsotaz ml model create -h.

Különböző CPU- és GPU-példánytípusok használata

Az előző YAML egy általános célú típust (Standard_DS2_v2) és egy nem GPU-alapú Docker-képet használ (a YAML-ben lásd az image attribútumot). GPU-számítás esetén válassza ki a GPU számítási típus termékváltozatát és a GPU Docker-rendszerképet.

A támogatott általános célú és GPU-példánytípusokért lásd: Felügyelt online végpontok által támogatott virtuálisgép-termékváltozatok. Az Azure Machine Learning CPU- és GPU-alaprendszerképeinek listáját az Azure Machine Learning alaprendszerképei című témakörben találja.

Megjegyzés

Ha a Kubernetes-t szeretné használni a felügyelt végpontok helyett számítási célként, olvassa el a Kubernetes számítási cél bemutatása című témakört.

Több modell használata

Jelenleg üzembe helyezésenként csak egy modellt adhat meg a YAML-ben. Ha több modellel rendelkezik, a modell regisztrálásakor másolja az összes modellt fájlként vagy alkönyvtárként egy, a regisztrációhoz használt mappába. A pontozószkriptben használja az AZUREML_MODEL_DIR környezeti változót a modellgyökérmappa útvonalának lekéréséhez. A mögöttes könyvtárstruktúra megmarad. Ha több modellt szeretne üzembe helyezni egy üzemelő példányban, olvassa el a Több modell üzembe helyezése egy üzembe helyezéshez című témakört.

A pontozási szkript ismertetése

Tipp

Az online végpontok pontozási szkriptjének formátuma megegyezik a CLI előző verziójában és a Python SDK-ban használt formátummal.

Ahogy korábban említettük, a megadott code_configuration.scoring_script szkriptnek egy függvénysel init() és egy függvénnyel kell rendelkeznie run() .

Ez a példa a score.py fájlt használja: score.py

import os
import logging
import json
import numpy
import joblib


def init():
    """
    This function is called when the container is initialized/started, typically after create/update of the deployment.
    You can write the logic here to perform init operations like caching the model in memory
    """
    global model
    # AZUREML_MODEL_DIR is an environment variable created during deployment.
    # It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)
    # Please provide your model's folder name if there is one
    model_path = os.path.join(
        os.getenv("AZUREML_MODEL_DIR"), "model/sklearn_regression_model.pkl"
    )
    # deserialize the model file back into a sklearn model
    model = joblib.load(model_path)
    logging.info("Init complete")


def run(raw_data):
    """
    This function is called for every invocation of the endpoint to perform the actual scoring/prediction.
    In the example we extract the data from the json input and call the scikit-learn model's predict()
    method and return the result back
    """
    logging.info("model 1: request received")
    data = json.loads(raw_data)["data"]
    data = numpy.array(data)
    result = model.predict(data)
    logging.info("Request processed")
    return result.tolist()

A init() függvény a tároló inicializálása vagy elindításakor lesz meghívva. Az inicializálás általában röviddel az üzembe helyezés létrehozása vagy frissítése után történik. Ide írhatja a logikát a globális inicializálási műveletekhez, például a modell gyorsítótárazásához a memóriában (ahogy ebben a példában is). A run() függvény a végpont minden hívásához meghívható, és a tényleges pontozást és előrejelzést kell elvégeznie. A példában kinyerjük az adatokat a JSON-bemenetből, meghívjuk a scikit-learn modell metódusát predict() , majd visszaadjuk az eredményt.

Helyi végpontok használatával történő helyi üzembe helyezés és hibakeresés

A hibakeresés időt takaríthat meg, ezért javasoljuk , hogy helyileg tesztelje a végpontot. További információ: Online végpontok helyi hibakeresése a Visual Studio Code-ban.

Megjegyzés

Fontos

A helyi végpont üzembe helyezésének célja a kód és a konfiguráció ellenőrzése és hibakeresése az Azure-ban való üzembe helyezés előtt. A helyi üzemelő példányra az alábbi korlátozások vonatkoznak:

  • A helyi végpontok nem támogatják a forgalmi szabályokat, a hitelesítést és a mintavételi beállításokat.
  • A helyi végpontok végpontonként csak egy üzemelő példányt támogatnak.

Tipp

Az Azure Machine Learning-következtetés HTTP-kiszolgáló Python-csomagjával helyileg, Docker Engine nélkül is hibakeresést végezhet a pontozási szkriptben. A következtetési kiszolgálóval végzett hibakeresés segít a pontozási szkript hibakeresésében, mielőtt üzembe helyezené a helyi végpontokon, hogy a hibakeresést az üzembehelyezési tároló konfigurációi ne befolyásolják.

A modell helyi üzembe helyezése

Először hozzon létre egy végpontot. Helyi végpont esetén kihagyhatja ezt a lépést, és közvetlenül létrehozhatja az üzembe helyezést (következő lépés), amely létrehozza a szükséges metaadatokat. A modellek helyi üzembe helyezése fejlesztési és tesztelési célokra hasznos.

az ml online-endpoint create --local -n $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml

Most hozzon létre egy üzembe helyezést a végpont alatt.blue

az ml online-deployment create --local -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml

A --local jelző arra utasítja a parancssori felületet, hogy helyezze üzembe a végpontot a Docker-környezetben.

Tipp

A végpontok helyi teszteléséhez és hibakereséséhez használja a Visual Studio Code-ot. További információ: Online végpontok helyi hibakeresése a Visual Studio Code-ban.

A helyi üzembe helyezés sikerességének ellenőrzése

Ellenőrizze az állapotot annak ellenőrzéséhez, hogy a modell hiba nélkül lett-e üzembe helyezve:

az ml online-endpoint show -n $ENDPOINT_NAME --local

A kimenetnek az alábbi JSON-hoz hasonlónak kell lennie. A provisioning_state a következő: Succeeded.

{
  "auth_mode": "key",
  "location": "local",
  "name": "docs-endpoint",
  "properties": {},
  "provisioning_state": "Succeeded",
  "scoring_uri": "http://localhost:49158/score",
  "tags": {},
  "traffic": {}
}

A következő táblázat a lehetséges értékeket tartalmazza:provisioning_state

Állam Leírás
Létrehozás Az erőforrás létrehozása folyamatban van.
Frissítés Az erőforrás frissítése folyamatban van.
Törlés Az erőforrás törlése folyamatban van.
Sikeres A létrehozási/frissítési művelet sikeres volt.
Sikertelen A létrehozási/frissítési/törlési művelet nem sikerült.

A helyi végpont meghívása az adatok pontozásához a modell használatával

Hívja meg a végpontot a modell pontozásához a kényelem parancs használatával invoke , és adja át a JSON-fájlban tárolt lekérdezési paramétereket:

az ml online-endpoint invoke --local --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json

Ha REST-ügyfelet (például curl) szeretne használni, rendelkeznie kell a pontozási URI-vel. A pontozási URI lekéréséhez futtassa a parancsot az ml online-endpoint show --local -n $ENDPOINT_NAME. A visszaadott adatok között keresse meg az scoring_uri attribútumot. A curl-alapú mintaparancsok a jelen dokumentum későbbi részében érhetők el.

Tekintse át a naplókat a meghívási művelet kimenetének megtekintéséhez

A példában score.py fájlban a run() metódus naplózza a kimenetet a konzolon.

Ezt a kimenetet a get-logs következő paranccsal tekintheti meg:

az ml online-deployment get-logs --local -n blue --endpoint $ENDPOINT_NAME

Az online végpont üzembe helyezése az Azure-ban

Ezután helyezze üzembe az online végpontot az Azure-ban.

Üzembe helyezés az Azure-ban

A végpont felhőben való létrehozásához futtassa a következő kódot:

az ml online-endpoint create --name $ENDPOINT_NAME -f endpoints/online/managed/sample/endpoint.yml

A végpont alatt elnevezett blue üzemelő példány létrehozásához futtassa a következő kódot:

az ml online-deployment create --name blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml --all-traffic

Az üzembe helyezés akár 15 percet is igénybe vehet attól függően, hogy az alapul szolgáló környezet vagy rendszerkép első létrehozása folyamatban van-e. Az ugyanazt a környezetet használó későbbi üzemelő példányok gyorsabban befejezik a feldolgozást.

Tipp

  • Ha nem szeretné letiltani a CLI-konzolt, hozzáadhatja a jelzőt --no-wait a parancshoz. Ez azonban leállítja az üzembe helyezés állapotának interaktív megjelenítését.

Fontos

A --all-traffic fenti az ml online-deployment create jelölő az újonnan létrehozott üzemelő példány felé a végpont felé menő forgalom 100%-át foglalja le. Bár ez fejlesztési és tesztelési célokra hasznos, éles környezetben érdemes lehet egy explicit paranccsal megnyitni az új üzembe helyezés felé irányuló forgalmat. Például: az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100"

Tipp

A végpont állapotának ellenőrzése

A show parancs a végpont és az üzembe helyezés adatait provisioning_status tartalmazza:

az ml online-endpoint show -n $ENDPOINT_NAME

A munkaterület összes végpontját táblázatos formátumban listázhatja a list következő paranccsal:

az ml online-endpoint list --output table

Az online üzembe helyezés állapotának ellenőrzése

Ellenőrizze a naplókat, hogy a modell hiba nélkül lett-e üzembe helyezve:

az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME

Alapértelmezés szerint a naplókat a rendszer a következtetési kiszolgálóról kéri le. A storage-initializer naplóinak megtekintéséhez (például modellhez és kódhoz hasonló eszközöket csatlakoztat a tárolóhoz), adja hozzá a jelzőt --container storage-initializer .

Az üzembehelyezési naplókkal kapcsolatos további információkért lásd: Tárolónaplók lekérése.

A végpont meghívása az adatok pontozásához a modell használatával

A végpont meghívásához és néhány adat pontozásához használhatja a invoke parancsot vagy egy tetszőleges REST-ügyfelet:

az ml online-endpoint invoke --name $ENDPOINT_NAME --request-file endpoints/online/model-1/sample-request.json

Az alábbi példa bemutatja, hogyan szerezheti be a végponton való hitelesítéshez használt kulcsot:

Tipp

Szabályozhatja, hogy mely Azure Active Directory-rendszerbiztonsági tagok kaphatják meg a hitelesítési kulcsot, ha hozzárendeli őket egy egyéni szerepkörhöz, amely lehetővé teszi Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action a és Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/actiona használatát. További információ: Azure Machine Learning-munkaterülethez való hozzáférés kezelése.

ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n $ENDPOINT_NAME -o tsv --query primaryKey)

Ezután használja a curl-t az adatok pontozásához.

SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)

curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json

Figyelje meg, hogy a és get-credentials a parancsokkal szerezzük show be a hitelesítési hitelesítő adatokat. Figyelje meg azt is, hogy a --query jelzővel az attribútumokat csak arra szűrjük, amire szükségünk van. További információ: --queryAz Azure CLI-parancs kimenetének lekérdezése.

A hívási naplók megtekintéséhez futtassa újra a parancsot get-logs .

A jogkivonatok használatával történő hitelesítéssel kapcsolatos információkért lásd: Hitelesítés online végpontokon.

(Nem kötelező) Az üzemelő példány frissítése

Ha frissíteni szeretné a kódot, a modellt vagy a környezetet, frissítse a YAML-fájlt, majd futtassa a az ml online-endpoint update parancsot.

Megjegyzés

Ha egyetlen update parancsban frissíti a példányok számát és más modellbeállításokkal (kód, modell vagy környezet) együtt: először a skálázási művelet lesz végrehajtva, majd a többi frissítés lesz alkalmazva. Éles környezetben ajánlott ezeket a műveleteket külön végrehajtani.

A működés update megértése:

  1. Nyissa meg az online/model-1/onlinescoring/score.py fájlt.

  2. Módosítsa a függvény utolsó sorátinit(): After logging.info("Init complete"), add .logging.info("Updated successfully")

  3. Mentse a fájlt.

  4. Futtassa ezt a parancsot:

    az ml online-deployment update -n blue --endpoint $ENDPOINT_NAME -f endpoints/online/managed/sample/blue-deployment.yml
    

    Megjegyzés

    A YAML használatával történő frissítés deklaratív. Ez azt jelzi, hogy a YAML változásai megjelennek a mögöttes Azure-Resource Manager-erőforrásokban (végpontokban és üzemelő példányokban). A deklaratív megközelítés megkönnyíti a GitOps használatát: A végpontok és üzemelő példányok (sőt instance_count) minden módosítása a YAML-en megy keresztül.

    Tipp

    update A paranccsal az --set Azure CLI paraméterével felülbírálhatja a YAML-attribútumokat, vagy beállíthat bizonyos attribútumokat a YAML-fájl átadása nélkül. Az önálló attribútumok használata --set különösen hasznos fejlesztési és tesztelési forgatókönyvekben. Az első üzembe helyezés értékének instance_count vertikális felskálázásához például használhatja a jelzőt --set instance_count=2 . Mivel azonban a YAML nem frissül, ez a technika nem teszi lehetővé a GitOps használatát.

  5. Mivel módosította a init() függvényt (init() a végpont létrehozásakor vagy frissítésekor fut), az üzenet Updated successfully a naplókban lesz. Kérje le a naplókat a következő futtatásával:

    az ml online-deployment get-logs --name blue --endpoint $ENDPOINT_NAME
    

A update parancs helyi üzemelő példányokkal is működik. Használja ugyanazt az ml online-deployment update a parancsot a --local jelölővel.

Megjegyzés

A fenti példa a működés közbeni frissítésre.

  • Felügyelt online végpont esetén ugyanaz az üzembe helyezés frissül az új konfigurációval, egyszerre 20%-os csomópontokkal, azaz ha az üzemelő példány 10 csomóponttal rendelkezik, akkor egyszerre 2 csomópont lesz frissítve.
  • A Kubernetes online végpontja esetében a rendszer iterációslag létrehoz egy új üzembehelyezési példányt az új konfigurációval, és törli a régit.
  • Éles környezetben érdemes megfontolni a kék-zöld üzembe helyezést, amely biztonságosabb alternatívát kínál.

(Nem kötelező) Automatikus skálázás konfigurálása

Az automatikus skálázás automatikusan a megfelelő mennyiségű erőforrást futtatja az alkalmazásra háruló terhelés kezeléséhez. A felügyelt online végpontok támogatják az automatikus skálázást az Azure Monitor automatikus skálázási funkciójával való integrációval. Az automatikus skálázás konfigurálásához lásd: Online végpontok automatikus skálázása.

(Nem kötelező) SLA monitorozása az Azure Monitor használatával

Ha meg szeretné tekinteni a metrikákat, és riasztásokat szeretne beállítani az SLA alapján, hajtsa végre az online végpontok monitorozása című cikkben leírt lépéseket.

(Nem kötelező) Integrálás a Log Analyticsszel

A get-logs PARANCSSOR parancsa vagy az get_logs SDK metódusa csak az utolsó néhány száz naplósort biztosítja egy automatikusan kiválasztott példányból. A Log Analytics azonban lehetővé teszi a naplók tartós tárolását és elemzését. További információ a naplózás használatáról: Online végpontok monitorozása

E-mailek konfigurálása a studióban

Ha el szeretné kezdeni az e-mailek fogadását, amikor a feladat, az online végpont vagy a kötegelt végpont befejeződött, vagy ha probléma merült fel (sikertelen, megszakítva), kövesse az alábbi lépéseket:

  1. Az Azure ML Studióban a fogaskerék ikonra kattintva nyissa meg a beállításokat.
  2. Válassza a Email értesítések lapot.
  3. Váltás egy adott esemény e-mail-értesítéseinek engedélyezésére vagy letiltására.

Képernyőkép az Azure ML Studio beállításairól az e-mail-értesítések lapon.

A végpont és az üzembe helyezés törlése

Ha nem használja az üzemelő példányt, törölje a következő kód futtatásával (törli a végpontot és az összes mögöttes üzembe helyezést):

az ml online-endpoint delete --name $ENDPOINT_NAME --yes --no-wait

Következő lépések

Próbálja ki a modellek biztonságos üzembe helyezése a következő lépésként:

További információért tekintse át az alábbi cikkeket: