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 dalam kluster HDInsight memungkinkan pengguna untuk menggunakan kapasitas komputasi di seluruh simpul ini untuk menjalankan pekerjaan pelatihan dengan cara peluasan skala, dan untuk menjalankan beberapa pekerjaan pelatihan secara paralel. Ini memungkinkan pengguna untuk menjalankan eksperimen AutoML sambil berbagi komputasi dengan beban kerja big data mereka yang lain.
Menginstal Azure Pembelajaran Mesin pada kluster HDInsight
Untuk tutorial umum pembelajaran mesin otomatis, lihat Tutorial: Menggunakan pembelajaran mesin otomatis untuk membangun model regresi Anda. Semua kluster HDInsight-Spark baru telah diinstal 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
- Untuk informasi selengkapnya tentang menggunakan kemampuan Azure Pembelajaran Mesin Automated ML, lihat Kemampuan pembelajaran mesin otomatis baru di Azure Pembelajaran Mesin
- Proyek AutoML dari Microsoft Research