Vytvoření a použití výpočetního clusteru

Dokončeno

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ý.

Výpočetní clustery v rámci Učení Azure Machine jsou ideální pro spouštění skriptů. Výpočetní cluster můžete vytvořit v studio Azure Machine Learning pomocí rozhraní příkazového řádku Azure (CLI) nebo sady SDK (Python 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 AmlCompute třída 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četuzlůch 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 vyhrazeny. 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 kanálu, kterou jste vytvořili v Návrháři.
  • Spuštění úlohy automatizovaného počítače Učení
  • Spuštění skriptu jako úlohy

V každém z těchto scénářů je výpočetní cluster ideální jako výpočetní cluster automaticky vertikálně navýšit kapacitu při odeslání úlohy a po dokončení úlohy 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 počítače Učení.

Pomocí studio Azure Machine Learning můžete spustit úlohu kanálu Návrháře a automatizovanou úlohu Učení počítače. 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ů. Při přípravě stavu úlohy probíhá příprava výpočetního clusteru. Když je stav spuštěný, výpočetní cluster je připravený a úloha je spuštěná.