PLATÍ PRO:
Rozšíření Azure CLI ml v2 (aktuální)
Python SDK azure-ai-ml v2 (aktuální)
V tomto článku se dozvíte, jak nasadit model strojového učení natrénovaný službou AutoML do online koncového bodu pro odvozování v reálném čase. Automatizované strojové učení, označované také jako automatizované strojové učení nebo AutoML, je proces automatizace časově náročných iterativních úloh vývoje modelu strojového učení. Další informace najdete v tématu Co je automatizované strojové učení (AutoML)?
V následujících částech se dozvíte, jak nasadit model strojového učení vytrénovaný službou AutoML do online koncových bodů pomocí:
- Studio Azure Machine Learning
- Azure Machine Learning CLI v2
- Azure Machine Learning Python SDK v2
Požadavky
Nasazení z studio Azure Machine Learning a bez kódu
Nasazení modelu vytrénovaného autoML ze stránky Automatizované strojového učení je prostředí bez kódu. To znamená, že nemusíte připravovat bodovací skript a prostředí, protože oba jsou automaticky generované.
V studio Azure Machine Learning přejděte na stránku Automatizované strojové učení.
Vyberte experiment a spusťte ho.
Zvolte kartu Modely a podřízené úlohy.
Vyberte model, který chcete nasadit.
Po výběru modelu je tlačítko Nasadit dostupné v rozevírací nabídce.
Vyberte možnost koncového bodu v reálném čase.
Systém vygeneruje model a prostředí potřebné pro nasazení.
Ruční nasazení ze studia nebo příkazového řádku
Pokud chcete mít větší kontrolu nad nasazením, můžete stáhnout trénovací artefakty a nasadit je.
Ke stažení komponent potřebujete nasazení:
Přejděte do experimentu automatizovaného strojového učení a spusťte ho v pracovním prostoru strojového učení.
Zvolte kartu Modely a podřízené úlohy.
Vyberte model, který chcete použít. Po výběru modelu se povolí tlačítko Stáhnout .
Zvolte Stáhnout.
Obdržíte .zip soubor, který obsahuje:
- Soubor specifikace prostředí Conda s názvem conda_env_<VERSION>.yml
- Soubor bodování Pythonu s názvem scoring_file_<VERSION>.py
- Samotný model v souboru .pkl Pythonu s názvem model.pkl
K nasazení pomocí těchto souborů můžete použít buď studio, nebo Azure CLI.
- V studio Azure Machine Learning přejděte na stránku Modely.
- Vyberte Vybrat a zaregistrovat>z místních souborů.
- Zaregistrujte model, který jste stáhli z automatizovaného strojového učení.
- Přejděte na stránku Prostředí, vyberte Vlastní prostředí a vyberte + Vytvořit a vytvořte prostředí pro vaše nasazení. Pomocí staženého conda yaml vytvořte vlastní prostředí.
- Vyberte model a v rozevírací nabídce Deploy vyberte koncový bod v reálném čase.
- Dokončete všechny kroky v průvodci a vytvořte online koncový bod a nasazení.
PLATÍ PRO:
Rozšíření Azure CLI ml v2 (aktuální)
K vytvoření nasazení z rozhraní příkazového řádku potřebujete Azure CLI s rozšířením ML v2. Spuštěním následujícího příkazu potvrďte:
az version
Pokud se zobrazí chybová zpráva nebo se v odpovědi nezobrazíExtensions: ml
, postupujte podle pokynů v části Instalace a nastavte rozhraní příkazového řádku (v2).
Přihlášení.
az login
Pokud máte přístup k několika předplatným Azure, můžete nastavit aktivní předplatné.
az account set -s "<YOUR_SUBSCRIPTION_NAME_OR_ID>"
Nastavte výchozí skupinu prostředků a pracovní prostor na místo, kam chcete vytvořit nasazení.
az configure --defaults group=$GROUP workspace=$WORKSPACE location=$LOCATION
Umístěte soubor bodování do vlastního adresáře.
Vytvořte adresář s názvem src. Uložte soubor bodování, který jste do něj stáhli. Tento adresář se nahraje do Azure a obsahuje veškerý zdrojový kód potřebný k odvození. Pro model AutoML existuje jenom jeden soubor bodování.
Vytvoření souboru yaml koncového bodu a nasazení
Pokud chcete vytvořit online koncový bod z příkazového řádku, vytvořte endpoint.yml a soubor deployment.yml . Následující kód převzatý z úložiště Azure Machine Learning Examples ukazuje koncové body, online, managed/sample/, které zachycují všechny požadované vstupy.
automl_endpoint.yml
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: my-endpoint
auth_mode: key
automl_deployment.yml
$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.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu22.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Tento soubor je potřeba upravit tak, aby používal soubory, které jste stáhli ze stránky Modely AutoML.
Vytvořte soubor automl_endpoint.yml a automl_deployment.yml a vložte obsah předchozích příkladů.
Změňte hodnotu name
koncového bodu. Název koncového bodu musí být jedinečný v rámci oblasti Azure. Název koncového bodu musí začínat velkými nebo malými písmeny a musí se skládat pouze z alfanumerických a alfanumerických znaků.
V souboru automl_deployment.yml změňte hodnotu klíčů na následujících cestách.
Cesta |
Změňte na |
model:path |
Cesta k souboru model.pkl , který jste stáhli. |
code_configuration:code:path |
Adresář, do kterého jste umístili soubor bodování. |
code_configuration:scoring_script |
Název souboru bodování Pythonu (scoring_file_<VERSION>.py). |
environment:conda_file |
Adresa URL souboru staženého prostředí Conda (conda_env_<VERSION>.yml). |
Poznámka:
Úplný popis YAML najdete v referenčních informacích k YAML koncového bodu Online.
Z příkazového řádku spusťte:
PLATÍ PRO:
Rozšíření Azure CLI ml v2 (aktuální)
az ml online-endpoint create -f automl_endpoint.yml
az ml online-deployment create -f automl_deployment.yml
Jakmile vytvoříte nasazení, můžete ho vyhodnotit podle popisu v tématu Vyvolání koncového bodu pro určení skóre dat pomocí modelu.
PLATÍ PRO:
Python SDK azure-ai-ml v2 (aktuální)
Pokud potřebujete nainstalovat sadu Python SDK v2, nainstalujte ji pomocí tohoto příkazu:
pip install azure-ai-ml azure-identity
Další informace najdete v tématu Instalace sady Azure Machine Learning SDK v2 pro Python.
Umístěte soubor bodování do vlastního adresáře.
Vytvořte adresář s názvem src. Uložte soubor bodování, který jste do něj stáhli. Tento adresář se nahraje do Azure a obsahuje veškerý zdrojový kód potřebný k odvození. Pro model AutoML existuje jenom jeden soubor bodování.
Připojení k pracovnímu prostoru Azure Machine Learning
Importujte požadované knihovny.
# 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
Nakonfigurujte podrobnosti pracovního prostoru a získejte popisovač pracovního prostoru.
# 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
)
Vytvoření koncového bodu a nasazení
Vytvořte spravované online koncové body a nasazení.
Nakonfigurujte online koncový bod.
Návod
-
name
: Název koncového bodu. Musí být jedinečný v oblasti Azure. Název koncového bodu musí začínat velkými nebo malými písmeny a musí se skládat pouze z alfanumerických a alfanumerických znaků. Další informace o pravidlech pojmenování najdete v tématu Omezení koncových bodů.
-
auth_mode
: Slouží key
k ověřování na základě klíčů. Používá se aml_token
pro ověřování na základě tokenů služby Azure Machine Learning. Platnost key
A nevyprší, ale aml_token
vyprší. Další informace o ověřování najdete v tématu Ověřování u online koncového bodu.
# 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",
)
Vytvořte koncový bod.
Pomocí dříve vytvořeného MLClient
koncového bodu vytvořte v pracovním prostoru koncový bod. Tento příkaz spustí vytvoření koncového bodu. Během vytváření koncového bodu vrátí potvrzovací odpověď.
ml_client.begin_create_or_update(endpoint)
Nakonfigurujte online nasazení.
Nasazení je sada prostředků vyžadovaných pro hostování modelu, který provádí skutečné odvozování. Vytvořte nasazení pro náš koncový bod pomocí ManagedOnlineDeployment
třídy.
model = Model(path="./src/model.pkl")
env = Environment(
conda_file="./src/conda_env_v_1_0_0.yml",
image="mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04:latest",
)
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=online_endpoint_name,
model=model,
environment=env,
code_configuration=CodeConfiguration(
code="./src", scoring_script="scoring_file_v_2_0_0.py"
),
instance_type="Standard_DS2_v2",
instance_count=1,
)
V tomto příkladu jsou soubory, které jste stáhli ze stránky Modely AutoML, v adresáři src . Parametry v kódu můžete upravit tak, aby vyhovovaly vaší situaci.
Parametr |
Změňte na |
model:path |
Cesta k souboru model.pkl , který jste stáhli. |
code_configuration:code:path |
Adresář, do kterého jste umístili soubor bodování. |
code_configuration:scoring_script |
Název souboru bodování Pythonu (scoring_file_<VERSION>.py). |
environment:conda_file |
Adresa URL souboru staženého prostředí Conda (conda_env_<VERSION>.yml). |
Vytvořte nasazení.
Pomocí dříve vytvořeného MLClient
pracovního prostoru vytvořte nasazení. Tento příkaz spustí vytvoření nasazení. Během vytváření nasazení se vrátí potvrzovací odpověď.
ml_client.begin_create_or_update(blue_deployment)
Po vytvoření nasazení ho můžete ohodnotit podle popisu v části Testování koncového bodu s ukázkovými daty.
Další informace o nasazení do spravovaných online koncových bodů pomocí sady SDK najdete v tématu Nasazení a hodnocení modelu strojového učení pomocí online koncového bodu.
Související obsah