Azure Machine Learning-workloads uitvoeren met geautomatiseerde machine learning in Apache Spark in HDInsight

Azure Machine Learning vereenvoudigt en versnelt het bouwen, trainen en implementeren van machine learning-modellen. In geautomatiseerde machine learning (AutoML) begint u met trainingsgegevens met een gedefinieerde doelfunctie. Herhalen door combinaties van algoritmen en functieselecties selecteert automatisch het beste model voor uw gegevens op basis van de trainingsscores. Met HDInsight kunnen klanten clusters inrichten met honderden knooppunten. Met AutoML die wordt uitgevoerd in Spark in een HDInsight-cluster, kunnen gebruikers rekencapaciteit op deze knooppunten gebruiken om trainingstaken uit te voeren op schaalaanpassing en om meerdere trainingstaken parallel uit te voeren. Hiermee kunnen gebruikers AutoML-experimenten uitvoeren terwijl ze de berekening delen met hun andere big data-workloads.

Azure Machine Learning installeren op een HDInsight-cluster

Zie Zelfstudie: Geautomatiseerde machine learning gebruiken om uw regressiemodel te bouwen voor algemene zelfstudies over geautomatiseerde machine learning. Alle nieuwe HDInsight-Spark-clusters zijn vooraf geïnstalleerd met de AzureML-AutoML SDK.

Notitie

Azure Machine Learning-pakketten worden geïnstalleerd in de Python3 Conda-omgeving. De geïnstalleerde Jupyter Notebook moet worden uitgevoerd met behulp van de PySpark3-kernel.

U kunt Zeppelin-notebooks ook gebruiken om AutoML te gebruiken.

Verificatie voor werkruimte

Voor het maken van werkruimten en het verzenden van experimenten is een verificatietoken vereist. Dit token kan worden gegenereerd met behulp van een Microsoft Entra-toepassing. Een Microsoft Entra-gebruiker kan ook worden gebruikt om het vereiste verificatietoken te genereren als meervoudige verificatie niet is ingeschakeld voor het account.

Met het volgende codefragment wordt een verificatietoken gemaakt met behulp van een Microsoft Entra-toepassing.

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>'
)

Met het volgende codefragment wordt een verificatietoken gemaakt met behulp van een Microsoft Entra-gebruiker.

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

Gegevensset laden

Geautomatiseerde machine learning in Spark maakt gebruik van gegevensstromen, die lazily worden geëvalueerd, onveranderbare bewerkingen op gegevens. Een gegevensstroom kan een gegevensset uit een blob laden met openbare leestoegang of vanuit een blob-URL met een SAS-token.

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')

U kunt het gegevensarchief ook registreren bij de werkruimte met behulp van een eenmalige registratie.

Experiment indienen

In de geautomatiseerde machine learning-configuratie moet de eigenschap spark_context worden ingesteld om het pakket uit te voeren in de gedistribueerde modus. De eigenschap concurrent_iterations, het maximum aantal iteraties dat parallel wordt uitgevoerd, moet worden ingesteld op een getal kleiner dan de uitvoerderskernen voor de Spark-app.

Volgende stappen