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:
- Na webu Azure Portal přejděte do svého pracovního prostoru Azure Machine Learning.
- V části Monitorování vyberte Metriky.
- V seznamu metrik vyberte požadované metriky.