AutoML adalah layanan pembelajaran mesin otomatis yang disediakan oleh Platform for AI (PAI). Layanan ini mengintegrasikan berbagai algoritma dan sumber daya komputasi terdistribusi. Dengan AutoML, Anda tidak perlu menulis kode. Anda dapat membuat eksperimen untuk fine-tuning hyperparameter model serta meningkatkan efisiensi dan kinerja pembelajaran mesin. Topik ini menjelaskan cara membuat eksperimen.
Informasi latar belakang
Cara kerja AutoML:
Eksperimen menghasilkan beberapa kombinasi hyperparameter berdasarkan algoritma yang dikonfigurasikan. Setiap kombinasi hyperparameter menghasilkan uji coba. Setiap uji coba mungkin sesuai dengan satu Pekerjaan DLC atau satu atau lebih pekerjaan MaxCompute, bergantung pada konfigurasi eksekusi eksperimen. Sistem menjalankan uji coba berdasarkan pekerjaan yang telah dikonfigurasikan. Eksperimen menjadwalkan dan menjalankan beberapa uji coba, lalu membandingkan hasilnya untuk menemukan kombinasi hyperparameter optimal. Untuk informasi lebih lanjut tentang cara kerja AutoML, lihat Cara kerja AutoML.
Prasyarat
Izin yang diperlukan untuk menggunakan AutoML telah diberikan ke akun Anda. Prasyarat ini harus dipenuhi jika Anda menggunakan AutoML untuk pertama kalinya.
Operasi berikut dilakukan sebelum Anda membuat pekerjaan DLC:
Sumber daya MaxCompute telah disiapkan dan dikaitkan dengan ruang kerja yang dibuat. Prasyarat ini harus dipenuhi jika Anda ingin membuat pekerjaan MaxCompute.
Prosedur
Buka halaman AutoML.
Masuk ke Konsol PAI.
Di panel navigasi sebelah kiri, klik Workspaces. Di halaman Ruang Kerja, klik nama ruang kerja yang ingin Anda kelola.
Di panel navigasi sebelah kiri, pilih .
Di halaman AutoML, klik Create Experiment.
Di halaman Create Experiment, konfigurasikan parameter.
Parameter di bagian Basic Information.
Parameter
Deskripsi
Name
Nama eksperimen. Anda dapat menentukan parameter ini sesuai petunjuk.
Description
Deskripsi singkat eksperimen yang ingin Anda buat. Deskripsi digunakan untuk membedakan antara eksperimen yang berbeda.
Visibility
Visibilitas eksperimen. Nilai valid:
Visible to Me: Eksperimen terlihat oleh akun Anda dan administrator di ruang kerja saat ini.
Visible to Current Workspace: Eksperimen terlihat oleh semua pengguna di ruang kerja.
Parameter di bagian Execution Configurations.
Job Type: Lingkungan eksekusi percobaan. Anda dapat memilih DLC atau MaxCompute.
DLC: Pekerjaan DLC dijalankan untuk fine-tuning hyperparameter. Untuk informasi lebih lanjut tentang pekerjaan DLC, lihat Kirim pekerjaan pelatihan.
MaxCompute: Perintah SQL atau perintah PAI dari komponen Machine Learning Designer dijalankan dengan mengonsumsi sumber daya komputasi MaxCompute untuk melakukan fine-tuning hyperparameter. Untuk informasi lebih lanjut tentang komponen Machine Learning Designer dan perintah PAI yang didukung oleh setiap komponen, lihat Ikhtisar komponen Designer.
DLC
Jika Anda memilih DLC sebagai Tipe Pekerjaan, konfigurasikan parameter berikut.
Parameter
Deskripsi
Resource Group
Grup sumber daya publik atau grup sumber daya khusus yang telah Anda beli. Untuk informasi lebih lanjut tentang cara menyiapkan grup sumber daya, lihat Buat grup sumber daya khusus dan beli sumber daya komputasi umum dan Kuota sumber daya Lingjun.
Framework
Framework yang didukung. Nilai valid:
Tensorflow
PyTorch
Datasets
dataset yang telah Anda siapkan.
Code
Repositori tempat file kode pekerjaan disimpan. Dalam contoh ini, Anda harus menentukan repositori file kode yang telah Anda siapkan.
CatatanDLC mengunduh kode ke direktori kerja tertentu. Oleh karena itu, Anda harus memiliki izin untuk mengakses repositori kode.
Node Image
Gambar yang digunakan oleh node pekerja. Nilai valid:
Alibaba Cloud Image: gambar yang disediakan oleh Alibaba Cloud PAI. Gambar PAI mendukung berbagai jenis sumber daya, versi Python, dan framework pembelajaran dalam (TensorFlow dan PyTorch). Untuk informasi lebih lanjut tentang gambar PAI, lihat Gambar publik.
Custom Image: gambar kustom yang Anda tambahkan ke PAI. Sebelum Anda memilih gambar kustom, Anda harus menambahkan gambar kustom ke PAI.
Image Address: alamat gambar kustom, komunitas, atau PAI. Jika Anda memilih Alamat Gambar, Anda juga harus menentukan URL gambar registri Docker yang ingin Anda akses melalui Internet.
Instance Type
Tipe instans yang diperlukan untuk menjalankan pekerjaan. Harga instans bervariasi berdasarkan tipe mereka. Untuk detail penagihan setiap tipe instans, lihat Penagihan DLC.
Nodes
Jumlah node komputasi di mana pekerjaan DLC dijalankan.
PentingJika Anda mengonfigurasi beberapa node, setiap node ditagih secara terpisah daripada berdasarkan tipe instans yang sama. Saat menentukan parameter ini, Anda harus menentukan biaya setiap node dan mempertimbangkan kompromi antara biaya dan kinerja.
vCPUs
Jika Anda memilih grup sumber daya khusus yang dibeli dari daftar drop-down Resource Group, Anda dapat menentukan parameter ini berdasarkan spesifikasi sumber daya yang dibeli.
Memory (GiB)
Shared Memory (GiB)
GPUs
Advanced Settings
Pengaturan lanjutan membantu Anda meningkatkan fleksibilitas pelatihan atau beradaptasi dengan skenario pelatihan tertentu. Jika Anda menggunakan framework PyTorch, Anda dapat mengonfigurasi pengaturan lanjutan.
Node Startup Command
Perintah yang dijalankan untuk memulai node. Anda harus menentukan
${Variabel hyperparameter kustom}dalam perintah untuk mengonfigurasi variabel hyperparameter. Contoh:python /mnt/data/examples/search/dlc_mnist/mnist.py --data_dir=/mnt/data/examples/search/data --save_model=/mnt/data/exmaples/search/model/model_${exp_id}_${trial_id} --batch_size=${batch_size} --lr=${lr} --metric_filepath=/mnt/data/examples/search/metric/metric_${exp_id}_${trial_id}Dalam perintah di atas,
${batch_size}dan${lr}adalah variabel hyperparameter yang Anda definisikan.Hyperparameter
Daftar hyperparameter dimuat secara otomatis berdasarkan variabel hyperparameter yang dikonfigurasikan dalam perintah startup. Anda harus menentukan Tipe Kendala dan Ruang Pencarian untuk setiap hyperparameter.
Constraint Type: kendala yang dikenakan pada hyperparameter. Anda dapat memindahkan pointer ke ikon
di sebelah Constraint Type untuk melihat tipe kendala yang didukung dan deskripsi terkait.Search Space: rentang nilai hyperparameter. Metode untuk mengonfigurasi ruang pencarian bervariasi berdasarkan tipe kendala hyperparameter. Anda dapat mengklik ikon
dan menambahkan nilai sesuai petunjuk.
MaxCompute
Jika Anda memilih MaxCompute sebagai Tipe Pekerjaan, konfigurasikan parameter berikut.
Parameter
Deskripsi
Command
Perintah SQL atau perintah PAI dari komponen Machine Learning Designer tertentu. Anda harus menentukan
${Variabel hyperparameter kustom}dalam perintah untuk mengonfigurasi variabel hyperparameter. Contoh:pai -name kmeans -project algo_public -DinputTableName=pai_kmeans_test_input -DselectedColNames=f0,f1 -DappendColNames=f0,f1 -DcenterCount=${centerCount} -Dloop=10 -Daccuracy=0.01 -DdistanceType=${distanceType} -DinitCenterMethod=random -Dseed=1 -DmodelName=pai_kmeans_test_output_model_${exp_id}_${trial_id} -DidxTableName=pai_kmeans_test_output_idx_${exp_id}_${trial_id} -DclusterCountTableName=pai_kmeans_test_output_couter_${exp_id}_${trial_id} -DcenterTableName=pai_kmeans_test_output_center_${exp_id}_${trial_id};Dalam perintah di atas,
${centerCount}dan${distanceType}adalah variabel hyperparameter yang Anda definisikan.Untuk lebih banyak contoh konfigurasi, lihat Lampiran: Referensi dalam topik ini.
Hyperparameter
Daftar hyperparameter dimuat secara otomatis berdasarkan variabel hyperparameter yang dikonfigurasikan dalam perintah. Anda harus menentukan Tipe Kendala dan Ruang Pencarian untuk setiap hyperparameter.
Constraint Type: kendala yang dikenakan pada hyperparameter. Anda dapat memindahkan pointer ke ikon
di sebelah Constraint Type untuk melihat tipe kendala yang didukung dan deskripsi terkait.Search Space: rentang nilai hyperparameter. Metode untuk mengonfigurasi ruang pencarian bervariasi berdasarkan tipe kendala hyperparameter. Anda dapat mengklik ikon
dan menambahkan nilai sesuai petunjuk.
Parameter di bagian Trial Configuration.
Jika Anda perlu menjalankan pekerjaan menggunakan kombinasi hyperparameter tertentu, konfigurasikan parameter berikut.
Parameter
Deskripsi
Metric Type
Tipe metrik yang digunakan untuk mengevaluasi uji coba. Nilai valid:
summary: Nilai metrik akhir diekstraksi dari file ringkasan Tensorflow yang diperoleh dari Object Storage Service (OSS).
table: Nilai metrik akhir diekstraksi dari tabel MaxCompute.
stdout: Nilai metrik akhir diekstraksi dari stdout dalam proses berjalan.
json: Nilai metrik akhir disimpan di OSS sebagai file JSON.
Method
Metode yang digunakan untuk menghitung nilai metrik akhir setelah beberapa nilai metrik perantara secara bertahap dihasilkan selama proses eksekusi pekerjaan. Nilai valid:
final: Nilai metrik terakhir digunakan sebagai nilai metrik akhir dari seluruh uji coba.
best: Nilai metrik optimal yang diperoleh selama proses eksekusi pekerjaan digunakan sebagai nilai metrik akhir dari seluruh uji coba.
avg: Nilai rata-rata dari semua nilai metrik perantara yang diperoleh selama proses eksekusi pekerjaan digunakan sebagai nilai metrik akhir dari seluruh uji coba.
Metric Weight
Jika Anda perlu mengoptimalkan beberapa metrik secara bersamaan, Anda dapat mengonfigurasi nama dan bobot dari metrik tersebut. Sistem kemudian akan menggunakan nilai jumlah tertimbang sebagai nilai metrik akhir.
key: nama dari sebuah metrik. Ekspresi reguler didukung.
value: bobot dari sebuah metrik.
CatatanBobot dapat bernilai negatif, dan jumlah bobot dapat berupa nilai selain 1. Anda dapat mengonfigurasi nilai kustom.
Metric Source
Sumber metrik.
Jika Anda memilih summary atau json dari daftar drop-down Metric Type, Anda harus mengonfigurasi jalur file. Contoh:
oss://examplebucket/examples/search/pai/model/model_${exp_id}_${trial_id}.Jika Anda memilih table dari daftar drop-down Metric Type, Anda harus mengonfigurasi pernyataan SQL yang dapat mengembalikan hasil tertentu. Contoh:
select GET_JSON_OBJECT(summary, '$.calinhara') as vrc from pai_ft_cluster_evaluation_out_${exp_id}_${trial_id}.Jika Anda memilih stdout dari daftar drop-down Metric Type, Anda harus mengonfigurasi kata kunci perintah. Anda harus menetapkan parameter ini ke
cmdxataucmdx;xxx, seperti cmd1;worker.
Optimization
Target optimasi yang digunakan untuk mengevaluasi hasil percobaan. Nilai yang valid:
Maksimalkan
Minimalkan
Model Storage Path
Path tempat model disimpan. Path tersebut harus mencakup
${exp_id}_${trial_id}untuk membedakan antara model yang dihasilkan menggunakan kombinasi hyperparameter yang berbeda. Contoh:oss://examplebucket/examples/search/pai/model/model_${exp_id}_${trial_id}.Parameter di bagian Search Configurations.
Parameter
Deskripsi
Search Algorithm
Algoritma pembelajaran mesin otomatis. Berdasarkan algoritma tersebut, sistem menemukan kombinasi hiperparameter optimal untuk pelaksanaan trial berikutnya berdasarkan ruang pencarian hiperparameter dan hasil eksekusi serta metrik dari trial yang telah selesai. Nilai yang valid:
TPE
Random
GridSearch
Evolution
GP
PBT
Untuk informasi lebih lanjut tentang algoritma pencarian, lihat bagian "Algoritma pencarian yang didukung" di Batasan dan catatan penggunaan AutoML.
Maximum Trials
Jumlah maksimum trial yang dapat dijalankan dalam eksperimen.
Maximum Concurrent Trials
Jumlah maksimum trial yang dapat dijalankan secara bersamaan dalam eksperimen.
Klik Submit.
Anda dapat melihat eksperimen yang dibuat dalam daftar eksperimen.
Apa yang Harus Dilakukan Selanjutnya
Anda dapat melihat detail eksperimen kapan saja untuk mendapatkan kemajuan eksperimen. Anda juga dapat melihat hasil eksekusi setiap uji coba untuk menemukan kombinasi hyperparameter optimal.
Anda dapat mengelola eksperimen.
Lampiran: Referensi
Contoh konfigurasi untuk fine-tuning hyperparameter pekerjaan MaxCompute:
Komponen Machine Learning Designer: Pengelompokan K-means dan Evaluasi Model Pengelompokan.
Kode berikut menunjukkan konfigurasi perintah cmd1 dan cmd2 yang digunakan untuk dua komponen tersebut. Dua perintah tersebut terdaftar sesuai urutan eksekusi. Untuk prosedur rinci, lihat Praktik terbaik untuk menjalankan komponen Pengelompokan K-means.
cmd1
pai -name kmeans -project algo_public -DinputTableName=pai_kmeans_test_input -DselectedColNames=f0,f1 -DappendColNames=f0,f1 -DcenterCount=${centerCount} -Dloop=10 -Daccuracy=0.01 -DdistanceType=${distanceType} -DinitCenterMethod=random -Dseed=1 -DmodelName=pai_kmeans_test_output_model_${exp_id}_${trial_id} -DidxTableName=pai_kmeans_test_output_idx_${exp_id}_${trial_id} -DclusterCountTableName=pai_kmeans_test_output_couter_${exp_id}_${trial_id} -DcenterTableName=pai_kmeans_test_output_center_${exp_id}_${trial_id};cmd2
PAI -name cluster_evaluation -project algo_public -DinputTableName=pai_cluster_evaluation_test_input -DselectedColNames=f0,f1 -DmodelName=pai_kmeans_test_output_model_${exp_id}_${trial_id} -DoutputTableName=pai_ft_cluster_evaluation_out_${exp_id}_${trial_id};