Nasazení existujících úloh kanálu do koncových bodů služby Batch
PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)
Koncové body služby Batch umožňují nasadit součásti kanálu a poskytují pohodlný způsob zprovoznění kanálů ve službě Azure Machine Learning. Koncové body služby Batch přijímají součásti kanálu pro nasazení. Pokud už ale máte úlohu kanálu, která se úspěšně spustí, azure Machine Learning může tuto úlohu přijmout jako vstup do vašeho dávkového koncového bodu a automaticky pro vás vytvořit komponentu kanálu. V tomto článku se dozvíte, jak použít stávající úlohu kanálu jako vstup pro dávkové nasazení.
Naučíte se:
- Spusťte a vytvořte úlohu kanálu, kterou chcete nasadit.
- Vytvoření dávkového nasazení z existující úlohy
- Otestování nasazení
O tomto příkladu
V tomto příkladu nasadíme kanál skládající se z jednoduché úlohy příkazu, která vytiskne "hello world!". Místo registrace komponenty kanálu před nasazením označujeme existující úlohu kanálu, která se má použít pro nasazení. Azure Machine Learning pak vytvoří komponentu kanálu automaticky a nasadí ji jako nasazení komponenty kanálu dávkového koncového bodu.
Příklad v tomto článku vychází z ukázek kódu obsažených v úložišti azureml-examples . Pokud chcete příkazy spustit místně, aniž byste museli kopírovat nebo vkládat YAML a další soubory, nejprve naklonujte úložiště a pak změňte adresáře do složky:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
Soubory pro tento příklad jsou v:
cd endpoints/batch/deploy-pipelines/hello-batch
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning.
Pracovní prostor služby Azure Machine Learning. Pokud chcete vytvořit pracovní prostor, přečtěte si téma Správa pracovních prostorů Služby Azure Machine Learning.
Ujistěte se, že máte v pracovním prostoru Machine Learning následující oprávnění:
- Vytváření nebo správa dávkových koncových bodů a nasazení: Použijte roli Vlastník, Přispěvatel nebo Vlastní, která umožňuje
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
. - Vytvořte nasazení Azure Resource Manageru ve skupině prostředků pracovního prostoru: Použijte roli Vlastník, Přispěvatel nebo Vlastní, která umožňuje
Microsoft.Resources/deployments/write
ve skupině prostředků, ve které je pracovní prostor nasazený.
- Vytváření nebo správa dávkových koncových bodů a nasazení: Použijte roli Vlastník, Přispěvatel nebo Vlastní, která umožňuje
Nainstalujte následující software pro práci se službou Machine Learning:
Spuštěním následujícího příkazu nainstalujte Azure CLI a
ml
rozšíření pro Azure Machine Learning:az extension add -n ml
Nasazení součástí kanálu pro koncové body služby Batch se zavádí ve verzi 2.7
ml
rozšíření pro Azure CLI.az extension update --name ml
Pomocí příkazu získejte nejnovější verzi.
Připojení k pracovnímu prostoru
Pracovní prostor je prostředek nejvyšší úrovně pro Machine Learning. Poskytuje centralizované místo pro práci se všemi artefakty, které vytvoříte při použití služby Machine Learning. V této části se připojíte k pracovnímu prostoru, ve kterém provádíte úlohy nasazení.
V následujícím příkazu zadejte hodnoty ID předplatného, pracovního prostoru, umístění a skupiny prostředků:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Spusťte úlohu kanálu, kterou chcete nasadit.
V této části začneme spuštěním úlohy kanálu:
Následující pipeline-job.yml
soubor obsahuje konfiguraci pro úlohu kanálu:
pipeline-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
experiment_name: hello-pipeline-batch
display_name: hello-pipeline-batch-job
description: This job demonstrates how to run the a pipeline component in a pipeline job. You can use this example to test a component in an standalone job before deploying it in an endpoint.
compute: batch-cluster
component: hello-component/hello.yml
Vytvořte úlohu kanálu:
Vytvoření dávkového koncového bodu
Než nasadíme úlohu kanálu, musíme nasadit dávkový koncový bod pro hostování nasazení.
Zadejte název koncového bodu. Název dávkového koncového bodu musí být v každé oblasti jedinečný, protože se tento název používá k vytvoření identifikátoru URI vyvolání. Pokud chcete zajistit jedinečnost, připojte k názvu zadanému v následujícím kódu všechny koncové znaky.
Konfigurace koncového bodu:
Vytvořte koncový bod:
Zadejte dotaz na identifikátor URI koncového bodu:
Nasazení úlohy kanálu
Abychom mohli nasadit komponentu kanálu, musíme vytvořit dávkové nasazení z existující úlohy.
Musíme azure Machine Learning sdělit název úlohy, kterou chceme nasadit. V našem případě je tato úloha uvedena v následující proměnné:
Nakonfigurujte nasazení.
Soubor
deployment-from-job.yml
obsahuje konfiguraci nasazení. Všimněte si, že klíčjob_definition
používáme místocomponent
toho, abychom označili, že se toto nasazení vytvoří z úlohy kanálu:deployment-from-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-from-job endpoint_name: hello-pipeline-batch type: pipeline job_definition: azureml:job_name_placeholder settings: continue_on_step_failure: false default_compute: batch-cluster
Tip
Tato konfigurace předpokládá, že máte výpočetní cluster s názvem
batch-cluster
. Tuto hodnotu můžete nahradit názvem clusteru.Vytvořte nasazení:
Spuštěním následujícího kódu vytvořte dávkové nasazení v rámci koncového bodu dávky a nastavte ho jako výchozí nasazení.
az ml batch-deployment create --endpoint $ENDPOINT_NAME --set job_definition=azureml:$JOB_NAME -f deployment-from-job.yml
Tip
Všimněte si použití .
--set job_definition=azureml:$JOB_NAME
Vzhledem k tomu, že názvy úloh jsou jedinečné, příkaz--set
se zde použije ke změně názvu úlohy při jejím spuštění v pracovním prostoru.Vaše nasazení je připravené k použití.
Otestování nasazení
Jakmile se nasazení vytvoří, je připravené přijímat úlohy. Výchozí nasazení můžete vyvolat následujícím způsobem:
Průběh zobrazení a streamování protokolů můžete sledovat pomocí:
Vyčištění prostředků
Jakmile budete hotovi, odstraňte přidružené prostředky z pracovního prostoru:
Spuštěním následujícího kódu odstraňte koncový bod dávky a jeho základní nasazení. --yes
slouží k potvrzení odstranění.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes