Uruchamianie obciążeń usługi Azure Machine Learning przy użyciu zautomatyzowanego uczenia maszynowego na platformie Apache Spark w usłudze HDInsight
Usługa Azure Machine Learning upraszcza i przyspiesza tworzenie, trenowanie i wdrażanie modeli uczenia maszynowego. W przypadku zautomatyzowanego uczenia maszynowego (AutoML) rozpoczynasz od danych treningowych, które mają zdefiniowaną funkcję docelową. Iteracja po kombinacjach algorytmów i wyborów funkcji automatycznie wybiera najlepszy model dla danych na podstawie wyników trenowania. Usługa HDInsight umożliwia klientom aprowizację klastrów z setkami węzłów. Rozwiązanie AutoML uruchomione na platformie Spark w klastrze usługi HDInsight umożliwia użytkownikom używanie pojemności obliczeniowej w tych węzłach do uruchamiania zadań szkoleniowych w sposób skalowalny w poziomie oraz równoległego uruchamiania wielu zadań szkoleniowych. Umożliwia to użytkownikom uruchamianie eksperymentów rozwiązania AutoML podczas udostępniania zasobów obliczeniowych innym obciążeniom danych big data.
Instalowanie usługi Azure Machine Learning w klastrze usługi HDInsight
Aby uzyskać ogólne samouczki dotyczące zautomatyzowanego uczenia maszynowego, zobacz Samouczek: używanie zautomatyzowanego uczenia maszynowego do tworzenia modelu regresji. Wszystkie nowe klastry HDInsight-Spark są wstępnie zainstalowane za pomocą zestawu AzureML-AutoML SDK.
Uwaga
Pakiety usługi Azure Machine Learning są instalowane w środowisku python3 conda. Zainstalowany notes Jupyter Notebook powinien być uruchamiany przy użyciu jądra PySpark3.
Notesy Zeppelin można również używać do używania rozwiązania AutoML.
Uwierzytelnianie dla obszaru roboczego
Tworzenie obszaru roboczego i przesyłanie eksperymentów wymaga tokenu uwierzytelniania. Ten token można wygenerować przy użyciu aplikacji Microsoft Entra. Użytkownik firmy Microsoft Entra może również służyć do generowania wymaganego tokenu uwierzytelniania, jeśli uwierzytelnianie wieloskładnikowe nie jest włączone na koncie.
Poniższy fragment kodu tworzy token uwierzytelniania przy użyciu aplikacji Firmy 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>'
)
Poniższy fragment kodu tworzy token uwierzytelniania przy użyciu użytkownika firmy Microsoft Entra.
from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials('user@domain.com', 'my_smart_password')
Ładowanie zestawu danych
Zautomatyzowane uczenie maszynowe na platformie Spark korzysta z przepływów danych, które są źle oceniane, niezmienne operacje na danych. Przepływ danych może załadować zestaw danych z obiektu blob z publicznym dostępem do odczytu lub z adresu URL obiektu blob z 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')
Możesz również zarejestrować magazyn danych w obszarze roboczym przy użyciu rejestracji jednorazowej.
Przesyłanie eksperymentów
W konfiguracji zautomatyzowanego uczenia maszynowego właściwość spark_context
powinna zostać ustawiona, aby pakiet był uruchamiany w trybie rozproszonym. Właściwość concurrent_iterations
, która jest maksymalną liczbą iteracji wykonywanych równolegle, powinna być ustawiona na liczbę mniejszą niż rdzenie funkcji wykonawczej dla aplikacji Spark.
Następne kroki
- Aby uzyskać więcej informacji na temat korzystania z funkcji zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning, zobacz Nowe funkcje zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning
- Projekt AutoML firmy Microsoft