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í:
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í.
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.
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.
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.
Tip
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.
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ěď.