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
- Další informace o používání funkcí automatizovaného strojového učení ve službě Azure Machine Learning najdete v tématu Nové funkce automatizovaného strojového učení ve službě Azure Machine Learning.
- Projekt AutoML z Microsoft Research