Azure Machine Tanulás számítási feladatok futtatása automatizált gépi tanulással az Apache Sparkon a HDInsightban

Az Azure Machine Tanulás leegyszerűsíti és felgyorsítja a gépi tanulási modellek készítését, betanítását és üzembe helyezését. Az automatikus gépi tanulásban (AutoML) egy meghatározott célfunkcióval rendelkező betanítási adatokkal kell kezdenie. Az algoritmusok és a funkciókijelölések kombinációján keresztüli iterálás automatikusan kiválasztja az adatokhoz legjobb modellt a betanítási pontszámok alapján. A HDInsight lehetővé teszi, hogy az ügyfelek több száz csomóponttal rendelkező fürtöket építsenek ki. A Sparkon HDInsight-fürtön futó AutoML lehetővé teszi a felhasználók számára, hogy számítási kapacitást használjanak ezeken a csomópontokon a betanítási feladatok vertikális felskálázásához, valamint több betanítási feladat párhuzamos futtatásához. Lehetővé teszi, hogy a felhasználók AutoML-kísérleteket futtasson, miközben megosztják a számítást a többi big data számítási feladattal.

Az Azure Machine Tanulás telepítése HDInsight-fürtön

Az automatizált gépi tanulás általános oktatóanyagaiért tekintse meg az oktatóanyagot: Az automatizált gépi tanulás használata a regressziós modell létrehozásához. Minden új HDInsight-Spark-fürt előre telepítve van az AzureML-AutoML SDK-val.

Megjegyzés:

Az Azure Machine Tanulás-csomagok Python3 conda környezetben vannak telepítve. A telepített Jupyter Notebookot a PySpark3 kernel használatával kell futtatni.

Az AutoML-t Zeppelin-jegyzetfüzetekkel is használhatja.

Hitelesítés munkaterülethez

A munkaterület létrehozásához és a kísérletek beküldéséhez hitelesítési jogkivonatra van szükség. Ez a jogkivonat egy Microsoft Entra-alkalmazással hozható létre. A Microsoft Entra-felhasználó a szükséges hitelesítési jogkivonat létrehozásához is használható, ha a többtényezős hitelesítés nincs engedélyezve a fiókon.

Az alábbi kódrészlet létrehoz egy hitelesítési jogkivonatot egy Microsoft Entra-alkalmazással.

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

Az alábbi kódrészlet létrehoz egy hitelesítési jogkivonatot egy Microsoft Entra-felhasználóval.

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

Adatkészlet betöltése

A Spark automatizált gépi tanulása adatfolyamokat használ, amelyek lazán kiértékelt, nem módosítható műveleteket végeznek az adatokon. Az adatfolyamok betölthetnek egy adathalmazt nyilvános olvasási hozzáféréssel rendelkező blobból vagy SAS-jogkivonattal rendelkező blob URL-címéről.

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

Az adattárat egyszeri regisztrációval is regisztrálhatja a munkaterületen.

Kísérlet beküldése

Az automatizált gépi tanulási konfigurációban a tulajdonságot spark_context úgy kell beállítani, hogy a csomag elosztott módban fusson. A tulajdonságot concurrent_iterations, amely a párhuzamosan végrehajtott iterációk maximális száma, a Spark-alkalmazás végrehajtó magjainál kisebb számra kell állítani.

Következő lépések