Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO:
Rozšíření Azure CLI ml v2 (aktuální)
Python SDK azure-ai-ml v2 (aktuální)
Komponenty kanálu můžete nasadit v rámci dávkového koncového bodu a poskytnout tak pohodlný způsob jejich zprovoznění ve službě Azure Machine Learning. V tomto článku se dozvíte, jak vytvořit dávkové nasazení, které obsahuje jednoduchý pipeline. Naučíte se:
- Vytvoření a registrace komponenty úlohového kanálu
- Vytvořte dávkový koncový bod a nasadit komponentu potrubí
- Testujte nasazení
O tomto příkladu
V tomto příkladu nasadíte komponentu potrubí, která se skládá z jednoduché úlohy příkazu, jež zobrazuje "hello world!". Tato komponenta nevyžaduje žádné vstupy ani výstupy a představuje nejjednodušší způsob nasazení pipeline.
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, naklonujte úložiště pomocí následujících příkazů a přejděte do složky pro váš kódovací jazyk:
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
Sledování v poznámkových blocích Jupyter
Verzi sady Python SDK tohoto příkladu můžete prohlížet otevřením notebooku sdk-deploy-and-test.ipynb v naklonovaném úložišti.
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
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.
Následující oprávnění v pracovním prostoru Azure Machine Learning:
- Pro vytvoření nebo správu dávkových koncových bodů a nasazení použijte roli vlastníka, přispěvatele nebo vlastní roli, která má oprávnění
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*. - Pro vytváření nasazení v Azure Resource Manageru ve skupině prostředků pracovního prostoru použijte roli Vlastník, Přispěvatel nebo Vlastní role, která má
Microsoft.Resources/deployments/writeoprávnění ve skupině prostředků, kde je pracovní prostor nasazený.
- Pro vytvoření nebo správu dávkových koncových bodů a nasazení použijte roli vlastníka, přispěvatele nebo vlastní roli, která má oprávnění
Azure Machine Learning CLI nebo sada Azure Machine Learning SDK pro Python:
Spuštěním následujícího příkazu nainstalujte Azure CLI a
mlrozšíření pro Azure Machine Learning:az extension add -n mlNasazení komponent kanálu pro dávkové koncové body vyžadují rozšíření
mlpro Azure CLI ve verzi 2.7 nebo novější (aktuální verze: 2.37.0).az extension update --name mlPomocí příkazu získejte nejnovější verzi.
Připojení k pracovnímu prostoru
Pracovní prostor je prostředek nejvyšší úrovně pro Azure Machine Learning. Poskytuje centralizované místo pro práci se všemi artefakty, které vytvoříte při použití služby Azure Machine Learning. V této části se připojíte k pracovnímu prostoru, kde provádíte úkony související s nasazením.
V následujícím příkazu zadejte ID předplatného, název pracovního prostoru, název skupiny prostředků a umístění:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Vytvořte komponentu kanálu
Koncové body služby Batch můžou nasazovat buď modely, nebo komponenty pipeline. Komponenty pipeline jsou opakovaně použitelné a můžete zefektivnit svou praxi MLOps využitím sdílených registrů k přesunu těchto komponent z jednoho pracovního prostoru do druhého.
Součást kanálu v tomto příkladu obsahuje jeden krok, který v protokolech vytiskne pouze zprávu "hello world". Nevyžaduje žádné vstupy ani výstupy.
Soubor hello-component/hello.yml obsahuje konfiguraci pro komponentu kanálu:
hello-component/hello.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
name: hello_batch
display_name: Hello Batch component
version: 1
type: pipeline
jobs:
main_job:
type: command
component:
code: src
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
command: >-
python hello.py
Zaregistrujte komponentu:
Vytvořte dávkový koncový bod
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í URI volá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í komponenty kanálu
Pokud chcete nasadit komponentu pipeline, musíte vytvořit dávkové nasazení. Nasazení je sada prostředků potřebných k hostování prostředku, který provádí skutečnou práci.
Vytvořte výpočetní cluster. Koncové body a nasazení služby Batch běží na výpočetních clusterech. Můžou běžet na libovolném výpočetním clusteru Azure Machine Learning, který už v pracovním prostoru existuje. Proto může několik dávkových nasazení sdílet stejnou výpočetní infrastrukturu. V tomto příkladu použijete výpočetní cluster Azure Machine Learning s názvem
batch-cluster. Ověřte, že výpočetní instance v pracovním prostoru existuje, nebo ji vytvořte, pokud neexistuje.Konfigurace nasazení:
Soubor
deployment.ymlobsahuje konfiguraci nasazení. Můžete zkontrolovat, jestli schéma YAML celého dávkového koncového bodu obsahuje další vlastnosti.deployment.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-dpl endpoint_name: hello-pipeline-batch type: pipeline component: azureml:hello_batch@latest settings: default_compute: batch-clusterVytvoř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 -f deployment.yml --set-defaultNávod
Všimněte si použití příznaku
--set-defaultk označení, že toto nové nasazení je teď výchozí.Vaše implementace je připraveno k použití.
Testujte nasazení
Jakmile se nasazení vytvoří, je připravené přijímat pracovní úlohy. Výchozí nasazení můžete vyvolat následujícím způsobem:
Návod
V tomto příkladu kanál nemá vstupy ani výstupy. Pokud však komponenta potrubí vyžaduje některé z nich, mohou být označeny při vyvolání. Další informace o tom, jak označit vstupy a výstupy, najdete v tématu Vytváření úloh a vstupních dat pro dávkové koncové body nebo v kurzu Nasazení kanálu pro provedení dávkového vyhodnocování pomocí předběžného zpracování.
Sledovat můžete průběh aplikace a streamovat protokoly pomocí:
Uvolně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
(Volitelné) Odstraňte výpočetní prostředky, pokud neplánujete znovu použít výpočetní cluster s pozdějším nasazením.