Vytvoření a použití výpočetního clusteru
Po experimentování a vývoji chcete, aby byl váš kód připravený pro produkční prostředí. Při spouštění kódu v produkčních prostředích je lepší místo poznámkových bloků používat skripty. Při spuštění skriptu chcete použít výpočetní cíl, který je škálovatelný.
Ve službě Azure Machine Learning jsou výpočetní clustery ideální pro spouštění skriptů. Výpočetní cluster můžete vytvořit v nástroji Azure Machine Learning Studio pomocí rozhraní příkazového řádku Azure (CLI) nebo sady SDK (Software Development Kit).
Vytvoření výpočetního clusteru pomocí sady Python SDK
K vytvoření výpočetního clusteru pomocí sady Python SDK můžete použít následující kód:
from azure.ai.ml.entities import AmlCompute
cluster_basic = AmlCompute(
name="cpu-cluster",
type="amlcompute",
size="STANDARD_DS3_v2",
location="westus",
min_instances=0,
max_instances=2,
idle_time_before_scale_down=120,
tier="low_priority",
)
ml_client.begin_create_or_update(cluster_basic).result()
Pokud chcete zjistit, jaké parametry třída AmlCompute očekává, můžete si projít referenční dokumentaci .
Při vytváření výpočetního clusteru je potřeba zvážit tři hlavní parametry:
-
size: Určuje typ virtuálního počítače každého uzlu v rámci výpočetního clusteru. Na základě velikostí virtuálních počítačů v Azure. Vedle velikosti můžete také určit, jestli chcete použít procesory nebo gpu. -
max_instances: Určuje maximální počet uzlů, na který se váš výpočetní cluster může rozšířit. Počet paralelních úloh, které výpočetní cluster dokáže zpracovat, je podobný počtu uzlů, na které se cluster může škálovat. -
tier: Určuje, jestli jsou vaše virtuální počítače s nízkou prioritou nebo vyhrazené . Nastavení na nízkou prioritu může snížit náklady, protože nezaručujete dostupnost.
Použití výpočetního clusteru
Existují tři hlavní scénáře, ve kterých můžete použít výpočetní cluster:
- Spuštění úlohy pipeline, kterou jste vytvořili v návrháři.
- Spuštění úlohy automatizovaného strojového učení
- Spuštění skriptu jako úlohy
V každém z těchto scénářů je výpočetní cluster ideální, protože automaticky navyšuje kapacitu, když je úloha odeslána, a po jejím dokončení se automaticky vypne.
Výpočetní cluster také umožňuje paralelně trénovat více modelů, což je běžný postup při používání automatizovaného strojového učení.
V Azure Machine Learning Studio můžete spustit úlohu kanálu Designer a úlohu automatizovaného strojového učení. Když úlohu odešlete prostřednictvím studia, můžete nastavit cílový výpočetní objekt na výpočetní cluster, který jste vytvořili.
Pokud dáváte přednost přístupu zaměřenému na kód, můžete nastavit cílový výpočetní objekt na výpočetní cluster pomocí sady Python SDK.
Když například spustíte skript jako úlohu příkazu, můžete cílový výpočetní objekt nastavit na výpočetní cluster pomocí následujícího kódu:
from azure.ai.ml import command
# configure job
job = command(
code="./src",
command="python diabetes-training.py",
environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
compute="cpu-cluster",
display_name="train-with-cluster",
experiment_name="diabetes-training"
)
# submit job
returned_job = ml_client.create_or_update(job)
aml_url = returned_job.studio_url
print("Monitor your job at", aml_url)
Po odeslání úlohy, která používá výpočetní cluster, se výpočetní cluster škáluje na jeden nebo více uzlů. Změna velikosti trvá několik minut a vaše úloha se spustí po zřízení potřebných uzlů. Když je stav úlohy příprava, probíhá příprava výpočetního clusteru. Když je stav běžící, výpočetní cluster je připravený a úloha běží.