Použití virtuálních počítačů s nízkou prioritou pro dávkové nasazení

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Nasazení Azure Batch podporují virtuální počítače s nízkou prioritou, aby se snížily náklady na úlohy odvozování dávek. Virtuální počítače s nízkou prioritou umožňují použití velkého výpočetního výkonu za nízké náklady. Virtuální počítače s nízkou prioritou využívají nadbytečnou kapacitu v Azure. Když ve fondech zadáte virtuální počítače s nízkou prioritou, Azure může tento nadbytečný virtuální počítač použít, pokud je k dispozici.

Tip

Kompromisem při používání virtuálních počítačů s nízkou prioritou je, že tyto virtuální počítače nemusí být dostupné nebo se můžou kdykoliv předcházet v závislosti na dostupné kapacitě. Z tohoto důvodu je tento přístup nejvhodnější pro úlohy dávkového a asynchronního zpracování, kdy je doba dokončení úlohy flexibilní a práce se distribuuje napříč mnoha virtuálními počítači.

Virtuální počítače s nízkou prioritou se nabízejí za sníženou cenu ve srovnání s vyhrazenými virtuálními počítači. Podrobnosti o cenách najdete v tématu o cenách služby Azure Machine Learning.

Jak dávkové nasazení funguje s virtuálními počítači s nízkou prioritou

Nasazení služby Azure Machine Learning Batch nabízí několik možností, které usnadňují využívání a výhod virtuálních počítačů s nízkou prioritou:

  • Úlohy dávkového nasazení využívají virtuální počítače s nízkou prioritou spuštěním výpočetních clusterů Azure Machine Learning vytvořených s virtuálními počítači s nízkou prioritou. Po přidružení nasazení ke clusteru virtuálních počítačů s nízkou prioritou využívají všechny úlohy vytvořené tímto nasazením virtuální počítače s nízkou prioritou. Konfigurace jednotlivých úloh není možná.
  • Úlohy dávkového nasazení automaticky hledají cílový počet virtuálních počítačů v dostupném výpočetním clusteru na základě počtu úkolů, které se mají odeslat. Pokud jsou virtuální počítače předem zrušené nebo nedostupné, úlohy dávkového nasazení se pokusí nahradit ztracenou kapacitu zařazením do fronty neúspěšných úloh do clusteru.
  • Virtuální počítače s nízkou prioritou mají samostatnou kvótu virtuálních procesorů, která se liší od kvóty pro vyhrazené virtuální počítače. Jádra s nízkou prioritou na oblast mají výchozí limit 100 až 3 000 v závislosti na vašem předplatném. Počet jader s nízkou prioritou na předplatné je možné zvýšit a pro všechny řady virtuálních počítačů platí jedna hodnota. Viz kvóty výpočetních prostředků služby Azure Machine Learning.

Důležité informace a případy použití

Mnoho dávkových úloh je vhodné pro virtuální počítače s nízkou prioritou. Použití virtuálních počítačů s nízkou prioritou může způsobovat zpoždění provádění při uvolnění virtuálních počítačů. Pokud máte flexibilitu v době, kdy je potřeba dokončit úlohy, můžete tolerovat potenciální pokles kapacity.

Při nasazování modelů v rámci dávkových koncových bodů je možné přeplánování provést na úrovni minibatchu. Tento přístup má výhodu, kterou uvolnění ovlivní pouze ty minibatchy, které se právě zpracovávají a nedokončí na ovlivněném uzlu. Veškerý dokončený průběh je zachován.

Omezení

  • Po přidružení nasazení ke clusteru virtuálních počítačů s nízkou prioritou využívají všechny úlohy vytvořené tímto nasazením virtuální počítače s nízkou prioritou. Konfigurace jednotlivých úloh není možná.
  • Plánování se provádí na minidávkové úrovni bez ohledu na průběh. Není k dispozici žádná možnost vytváření kontrolních bodů.

Upozorňující

V případech, kdy je celý cluster zrušený nebo spuštěný v clusteru s jedním uzlem, je úloha zrušena, protože pro spuštění není k dispozici žádná kapacita. V tomto případě se vyžaduje opětovné odeslání.

Vytvoření dávkových nasazení, která používají virtuální počítače s nízkou prioritou

Úlohy dávkového nasazení využívají virtuální počítače s nízkou prioritou spuštěním výpočetních clusterů Azure Machine Learning vytvořených s virtuálními počítači s nízkou prioritou.

Poznámka:

Po přidružení nasazení ke clusteru virtuálních počítačů s nízkou prioritou využívají všechny úlohy vytvořené tímto nasazením virtuální počítače s nízkou prioritou. Konfigurace jednotlivých úloh není možná.

Výpočetní cluster Azure Machine Learning s nízkou prioritou můžete vytvořit následujícím způsobem:

Vytvořte definici YAML výpočetních prostředků, jako je následující low-pri-cluster.yml:

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: low-pri-cluster
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
tier: low_priority

Pomocí následujícího příkazu vytvořte výpočetní prostředky:

az ml compute create -f low-pri-cluster.yml

Po vytvoření nového výpočetního prostředí můžete vytvořit nebo aktualizovat nasazení tak, aby používalo nový cluster:

Pokud chcete vytvořit nebo aktualizovat nasazení v rámci nového výpočetního clusteru, vytvořte YAML konfigurační soubor endpoint.yml:

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier@latest
compute: azureml:low-pri-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300

Pak vytvořte nasazení pomocí následujícího příkazu:

az ml batch-endpoint create -f endpoint.yml

Zobrazení a monitorování přidělení uzlu

Na webu Azure Portal jsou k dispozici nové metriky pro virtuální počítače s nízkou prioritou pro monitorování virtuálních počítačů s nízkou prioritou. Tady jsou:

  • Předem připravené uzly
  • Předpřipravená jádra

Pokud chcete zobrazit tyto metriky na webu Azure Portal:

  1. Na webu Azure Portal přejděte do svého pracovního prostoru Azure Machine Learning.
  2. V části Monitorování vyberte Metriky.
  3. V seznamu metrik vyberte požadované metriky.

Snímek obrazovky oddílu metrik v podokně monitorování prostředků, který zobrazuje relevantní metriky pro virtuální počítače s nízkou prioritou