Ebből a cikkből megtudhatja, hogyan helyezhet üzembe autoML-betanított gépi tanulási modellt egy online (valós idejű következtetési) végponton. Az automatizált gépi tanulás, más néven automatizált ml vagy AutoML a gépi tanulási modell fejlesztésének időigényes, iteratív feladatainak automatizálása. További információ: Mi az automatizált gépi tanulás (AutoML)?.
Ebből a cikkből megtudhatja, hogyan helyezhet üzembe AutoML-betanított gépi tanulási modellt online végpontokon a következőkkel:
Üzembe helyezés az Azure Machine Tanulás Studióból, kód nélkül
Az AutoML által betanított modell automatikus gépi tanulási oldalról történő üzembe helyezése kód nélküli felület. Vagyis nem kell készítenie egy pontozó szkriptet és környezetet, mindkettő automatikusan létrejön.
Ugrás az automatizált gépi tanulási lapra a stúdióban
Válassza ki a kísérletet, és futtassa
A Modellek lap kiválasztása
Válassza ki az üzembe helyezni kívánt modellt
Miután kiválasztott egy modellt, az Üzembe helyezés gomb megjelenik egy legördülő menüvel
Válassza az Üzembe helyezés valós idejű végpontra lehetőséget
A rendszer létrehozza az üzembe helyezéshez szükséges modellt és környezetet.
A varázsló befejezése a modell online végponton való üzembe helyezéséhez
Manuális üzembe helyezés a studióból vagy a parancssorból
Ha jobban szeretné szabályozni az üzembe helyezést, letöltheti a betanítási összetevőket, és üzembe helyezheti őket.
Az üzembe helyezéshez szükséges összetevők letöltéséhez:
Nyissa meg az automatizált gépi tanulási kísérletet, és futtassa a gépi tanulási munkaterületen
A Modellek lap kiválasztása
Válassza ki a használni kívánt modellt. Miután kiválasztott egy modellt, a Letöltés gomb engedélyezve lesz
Letöltés kiválasztása
Kapni fog egy zip-fájlt, amely a következőket tartalmazza:
Conda-környezet specifikációs fájl neve conda_env_<VERSION>.yml
Egy Python-pontozófájl neve scoring_file_<VERSION>.py
Maga a modell egy Python-fájlban .pkl , model.pkl
A fájlok használatával történő üzembe helyezéshez használhatja a stúdiót vagy az Azure CLI-t.
Ugrás a Modellek lapra az Azure Machine Tanulás Studióban
Válassza a + Modell regisztrálása lehetőséget
Az automatizált gépi tanulási futtatásból letöltött modell regisztrálása
Lépjen a Környezetek lapra, válassza az Egyéni környezet lehetőséget, majd a + Létrehozás lehetőséget az üzembe helyezés környezetének létrehozásához. Egyéni környezet létrehozása a letöltött conda yaml használatával
Válassza ki a modellt, és a Telepítés legördülő menüben válassza az Üzembe helyezés valós idejű végpontra lehetőséget
Online végpont és üzembe helyezés létrehozásához végezze el a varázsló összes lépését
A parancssori felületről történő üzembe helyezés létrehozásához szüksége lesz az Azure CLI-re az ML v2 kiterjesztéssel. Futtassa a következő parancsot, hogy meggyőződjön arról, hogy mindkettőt elvégezte:
az version
Ha hibaüzenetet kap, vagy nem jelenik meg Extensions: ml a válaszban, kövesse a Telepítés és a parancssori felület (v2) beállításának lépéseit.
Bejelentkezés:
az login
Ha több Azure-előfizetéshez is hozzáfér, beállíthatja az aktív előfizetést:
az account set -s "<YOUR_SUBSCRIPTION_NAME_OR_ID>"
Állítsa be az alapértelmezett erőforráscsoportot és munkaterületet arra a helyre, ahol létre szeretné hozni az üzembe helyezést:
az configure --defaults group=$GROUP workspace=$WORKSPACE location=$LOCATION
A pontozófájl elhelyezése a saját könyvtárában
Hozzon létre egy hívott src/ könyvtárat, és helyezze bele a letöltött pontozófájlt. Ez a könyvtár feltöltve van az Azure-ba, és tartalmazza az összes forráskódot, amely a következtetés elvégzéséhez szükséges. AutoML-modell esetén csak az egyetlen pontozási fájl található.
A végpont és az üzembe helyezés yaml-fájljának létrehozása
Ha online végpontot szeretne létrehozni a parancssorból, létre kell hoznia egy endpoint.yml-fájlt és egy deployment.yml-fájlt . Az Azure Machine Tanulás Példák adattárból vett következő kód a végpontokat/online/felügyelt/minta/, amely az összes szükséges bemenetet rögzíti:
Az AutoML-modellek lapról letöltött fájlok használatához módosítania kell ezt a fájlt.
Hozzon létre egy fájlt automl_endpoint.yml , és automl_deployment.yml illessze be a fenti példa tartalmát.
Módosítsa a végpont értékét name . A végpont nevének egyedinek kell lennie az Azure-régióban. A végpont nevének nagybetűvel vagy kisbetűvel kell kezdődnie, és csak "-" és alfanumerikus karakterekből áll.
A fájlban automl_deployment módosítsa a kulcsok értékét az alábbi útvonalakon:
Elérési út
Módosítsa a következőre:
model:path
A letöltött fájl elérési útja model.pkl .
code_configuration:code:path
Az a könyvtár, amelyben a pontozófájlt elhelyezte.
code_configuration:scoring_script
A Python-pontozófájl neve (scoring_file_<VERSION>.py).
environment:conda_file
A letöltött Conda környezeti fájl (conda_env_<VERSION>.yml) fájl URL-címe.
Megjegyzés:
A YAML teljes leírását az online végpont YAML-hivatkozásában talál.
az ml online-endpoint create -f automl_endpoint.yml
az ml online-deployment create -f automl_deployment.yml
Az üzembe helyezés létrehozása után a végpont meghívása a modell használatával történő adatok pontozásához a végponton leírtak szerint pontszámot adhat meg.
Hozzon létre egy hívott src/ könyvtárat, és helyezze bele a letöltött pontozófájlt. Ez a könyvtár feltöltve van az Azure-ba, és tartalmazza az összes forráskódot, amely a következtetés elvégzéséhez szükséges. AutoML-modell esetén csak az egyetlen pontozási fájl található.
Csatlakozás az Azure Machine Tanulás-munkaterületre
Importálja a szükséges kódtárakat:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
ManagedOnlineEndpoint,
ManagedOnlineDeployment,
Model,
Environment,
CodeConfiguration,
)
from azure.identity import DefaultAzureCredential
Konfigurálja a munkaterület részleteit, és szerezze be a munkaterülethez a leírót:
# enter details of your Azure Machine Learning workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AZUREML_WORKSPACE_NAME>"
# get a handle to the workspace
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
A végpont és az üzembe helyezés létrehozása
Ezután létrehozzuk a felügyelt online végpontokat és üzembe helyezéseket.
Online végpont konfigurálása:
Tipp.
name: A végpont neve. Egyedinek kell lennie az Azure-régióban. A végpont nevének nagybetűvel vagy kisbetűvel kell kezdődnie, és csak "-" és alfanumerikus karakterekből áll. Az elnevezési szabályokkal kapcsolatos további információkért tekintse meg a végpontkorlátokat.
auth_mode : Kulcsalapú hitelesítéshez használható key . Azure Machine-Tanulás jogkivonatalapú hitelesítéshez használhatóaml_token. Az A key nem jár le, de aml_token lejár. A hitelesítéssel kapcsolatos további információkért lásd : Hitelesítés online végponton.
# Creating a unique endpoint name with current datetime to avoid conflicts
import datetime
online_endpoint_name = "endpoint-" + datetime.datetime.now().strftime("%m%d%H%M%f")
# create an online endpoint
endpoint = ManagedOnlineEndpoint(
name=online_endpoint_name,
description="this is a sample online endpoint",
auth_mode="key",
)
Hozza létre a végpontot:
A MLClient korábban létrehozottak használatával most létrehozzuk a végpontot a munkaterületen. Ez a parancs elindítja a végpont létrehozását, és megerősítést ad vissza, amíg a végpont létrehozása folytatódik.
ml_client.begin_create_or_update(endpoint)
Online üzembe helyezés konfigurálása:
Az üzembe helyezés a tényleges következtetést okozó modell üzemeltetéséhez szükséges erőforrások készlete. Létrehozunk egy üzembe helyezést a végponthoz az ManagedOnlineDeployment osztály használatával.
A fenti példában feltételezzük, hogy az AutoML-modellek lapról letöltött fájlok a src könyvtárban találhatók. A kód paramétereit a helyzetnek megfelelően módosíthatja.
Paraméter
Módosítsa a következőre:
model:path
A letöltött fájl elérési útja model.pkl .
code_configuration:code:path
Az a könyvtár, amelyben a pontozófájlt elhelyezte.
code_configuration:scoring_script
A Python-pontozófájl neve (scoring_file_<VERSION>.py).
environment:conda_file
A letöltött Conda környezeti fájl (conda_env_<VERSION>.yml) fájl URL-címe.
Hozza létre az üzembe helyezést:
MLClient A korábban létrehozottak használatával most létrehozzuk az üzembe helyezést a munkaterületen. Ez a parancs elindítja az üzembe helyezés létrehozását, és megerősítést kérő választ ad vissza, amíg a telepítés létrehozása folytatódik.
ml_client.begin_create_or_update(blue_deployment)
Az üzembe helyezés létrehozása után a végpont tesztelése mintaadatokkal című cikkben leírtak szerint értékelheti azt.