Sdílet prostřednictvím


Spouštění úloh Azure Machine Learning pomocí automatizovaného strojového učení v Apache Sparku ve službě HDInsight

Azure Machine Learning zjednodušuje a urychluje sestavování, trénování a nasazování modelů strojového učení. V automatizovaném strojovém učení (AutoML) začnete trénovacími daty, která mají definovanou cílovou funkci. Iterace kombinací algoritmů a výběrů funkcí automaticky vybere nejlepší model pro vaše data na základě trénovacích skóre. HDInsight umožňuje zákazníkům zřizovat clustery se stovkami uzlů. AutoML spuštěné ve Sparku v clusteru HDInsight umožňuje uživatelům používat výpočetní kapacitu napříč těmito uzly ke spouštění trénovacích úloh způsobem škálování na více instancí a paralelní spouštění více trénovacích úloh. Umožňuje uživatelům spouštět experimenty AutoML při sdílení výpočetních prostředků s ostatními úlohami velkých objemů dat.

Instalace služby Azure Machine Learning v clusteru HDInsight

Obecné kurzy automatizovaného strojového učení najdete v kurzu : Použití automatizovaného strojového učení k sestavení regresního modelu. Všechny nové clustery HDInsight-Spark jsou předinstalované pomocí sady AzureML-AutoML SDK.

Poznámka:

Balíčky Azure Machine Learning se instalují do prostředí Conda Python3. Nainstalovaný poznámkový blok Jupyter by se měl spustit pomocí jádra PySpark3.

Poznámkové bloky Zeppelin můžete použít také k používání AutoML.

Ověřování pro pracovní prostor

Vytvoření pracovního prostoru a odeslání experimentu vyžaduje ověřovací token. Tento token lze vygenerovat pomocí aplikace Microsoft Entra. Uživatele Microsoft Entra lze také použít k vygenerování požadovaného ověřovacího tokenu, pokud u účtu není povolené vícefaktorové ověřování.

Následující fragment kódu vytvoří ověřovací token pomocí aplikace Microsoft Entra.

from azureml.core.authentication import ServicePrincipalAuthentication
auth_sp = ServicePrincipalAuthentication(
    tenant_id='<Azure Tenant ID>',
    service_principal_id='<Azure AD Application ID>',
    service_principal_password='<Azure AD Application Key>'
)

Následující fragment kódu vytvoří ověřovací token pomocí uživatele Microsoft Entra.

from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials('user@domain.com', 'my_smart_password')

Načítání datové sady

Automatizované strojové učení ve Sparku používá toky dat, které jsou lazily vyhodnoceny a neměnné operace s daty. Tok dat může načíst datovou sadu z objektu blob s veřejným přístupem pro čtení nebo z adresy URL objektu blob s tokenem SAS.

import azureml.dataprep as dprep

dataflow_public = dprep.read_csv(
    path='https://commonartifacts.blob.core.windows.net/automl/UCI_Adult_train.csv')

dataflow_with_token = dprep.read_csv(
    path='https://dpreptestfiles.blob.core.windows.net/testfiles/read_csv_duplicate_headers.csv?st=2018-06-15T23%3A01%3A42Z&se=2019-06-16T23%3A01%3A00Z&sp=r&sv=2017-04-17&sr=b&sig=ugQQCmeC2eBamm6ynM7wnI%2BI3TTDTM6z9RPKj4a%2FU6g%3D')

Úložiště dat můžete také zaregistrovat v pracovním prostoru pomocí jednorázové registrace.

Odeslání experimentu

V konfiguraci automatizovaného strojového učení by měla být vlastnost spark_context nastavená pro spuštění balíčku v distribuovaném režimu. Vlastnost concurrent_iterations, která je maximální počet iterací spuštěn paralelně, by měla být nastavena na číslo menší než jádra exekutoru pro aplikaci Spark.

Další kroky