Menjalankan beban kerja Azure Machine Learning dengan pembelajaran mesin otomatis pada Apache Spark di Microsoft Azure HDInsight

Azure Machine Learning menyederhanakan dan mempercepat pembangunan, pelatihan, dan penyebaran model pembelajaran mesin. Dalam pembelajaran mesin otomatis (AutoML), Anda mulai dengan data pelatihan yang memiliki fitur target yang ditentukan. Iterasi melalui kombinasi algoritma dan pilihan fitur secara otomatis memilih model terbaik untuk data Anda berdasarkan skor pelatihan. Microsoft Azure HDInsight memungkinkan pelanggan ke penyediaan kluster dengan ratusan simpul. AutoML yang berjalan pada Spark di kluster Microsoft Azure HDInsight memungkinkan pengguna untuk menggunakan kapasitas penghitungan di seluruh simpul ini untuk menjalankan pekerjaan pelatihan secara luar biasa, dan menjalankan beberapa pekerjaan pelatihan secara paralel. Ini memungkinkan pengguna untuk menjalankan eksperimen AutoML sambil berbagi komputasi dengan beban kerja big data mereka yang lain.

Memasang Azure Machine Learning pada kluster Microsoft Azure HDInsight

Untuk tutorial umum pembelajaran mesin otomatis, lihat Tutorial: Menggunakan pembelajaran mesin otomatis untuk membangun model regresi Anda. Semua kluster Microsoft Azure HDInsight-Spark baru telah dipasang sebelumnya dengan AzureML-AutoML SDK.

Catatan

Paket Azure Machine Learning dipasang ke dalam lingkungan conda Python3. Jupyter Notebook yang dipasang sebaiknya dijalankan menggunakan kernel PySpark3.

Anda juga bisa menggunakan notebook Zeppelin untuk menggunakan AutoML.

Mengautentikasi untuk ruang kerja

Pembuatan ruang kerja dan pengiriman eksperimen memerlukan token autentikasi. Token ini dapat dihasilkan menggunakan aplikasi Microsoft Entra. Pengguna Microsoft Entra juga dapat digunakan untuk menghasilkan token autentikasi yang diperlukan, jika autentikasi multifaktor tidak diaktifkan di akun.

Cuplikan kode berikut membuat token autentikasi menggunakan aplikasi 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>'
)

Cuplikan kode berikut membuat token autentikasi menggunakan pengguna Microsoft Entra.

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

Memuat set data

Pembelajaran mesin otomatis pada Spark menggunakan Aliran Data, yang dievaluasi dengan operasi pada data yang jarang dievaluasi dan tidak dapat diubah. Aliran Data dapat memuat set data dari blob dengan akses baca publik, atau dari URL blob dengan token 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')

Anda juga dapat mendaftarkan datastore dengan ruang kerja menggunakan pendaftaran satu kali.

Mengajukan eksperimen

Dalam konfigurasi pembelajaran mesin otomatis, properti spark_context harus diatur agar paket berjalan pada mode terdistribusi. Properti concurrent_iterations, yang merupakan jumlah maksimum iterasi yang dieksekusi secara paralel, sebaiknya diatur ke angka yang lebih kecil dari inti eksekutor untuk aplikasi Spark.

Langkah berikutnya