Cara kerja penyetelan hyperparameter dengan Amazon SageMaker - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja penyetelan hyperparameter dengan Amazon SageMaker

Ketika Anda membangun sistem pembelajaran mesin yang kompleks seperti jaringan saraf pembelajaran mendalam, menjelajahi semua kombinasi yang mungkin tidak praktis. Penyetelan hyperparameter dapat mempercepat produktivitas Anda dengan mencoba banyak variasi model. Ini mencari model terbaik secara otomatis dengan berfokus pada kombinasi nilai hyperparameter yang paling menjanjikan dalam rentang yang Anda tentukan. Untuk mendapatkan hasil yang baik, Anda harus memilih rentang yang tepat untuk dijelajahi.

Gunakan panduan API referensi untuk memahami cara berinteraksi dengan tuning hyperparameter. Anda dapat menemukan contoh di halaman ini di HyperParameterTuningJobConfigdan HyperbandStrategyConfigAPIs.

catatan

Karena algoritme itu sendiri stokastik, model tuning hyperparameter mungkin gagal menyatu pada jawaban terbaik. Ini dapat terjadi bahkan jika kombinasi nilai terbaik ada dalam rentang yang Anda pilih.

Saat menggunakan pencarian kisi, penyetelan hyperparameter memilih kombinasi nilai dari rentang nilai kategoris yang Anda tentukan saat Anda membuat pekerjaan. Hanya parameter kategoris yang didukung saat menggunakan strategi pencarian kisi. Anda tidak perlu menentukanMaxNumberOfTrainingJobs. Jumlah pekerjaan pelatihan yang dibuat oleh pekerjaan penyetelan secara otomatis dihitung menjadi jumlah total kombinasi kategoris yang berbeda yang mungkin. Jika ditentukan, nilai MaxNumberOfTrainingJobs harus sama dengan jumlah total kombinasi kategoris yang berbeda mungkin.

Saat menggunakan pencarian acak, penyetelan hyperparameter memilih kombinasi acak nilai hyperparameter dalam rentang yang Anda tentukan untuk setiap pekerjaan pelatihan yang diluncurkan. Pilihan nilai hyperparameter tidak tergantung pada hasil pekerjaan pelatihan sebelumnya. Akibatnya, Anda dapat menjalankan jumlah maksimum pekerjaan pelatihan bersamaan tanpa mengubah kinerja penyetelan.

Untuk contoh buku catatan yang menggunakan pencarian acak, lihat Pencarian acak dan penskalaan hiperparameter dengan SageMaker XGBoost dan notebook Penyetelan Model Otomatis.

Optimasi Bayesian

Optimasi Bayesian memperlakukan penyetelan hyperparameter seperti masalah regresi. Mengingat serangkaian fitur input (hyperparameters), tuning hyperparameter mengoptimalkan model untuk metrik yang Anda pilih. Untuk mengatasi masalah regresi, penyetelan hyperparameter membuat tebakan tentang kombinasi hyperparameter mana yang cenderung mendapatkan hasil terbaik. Kemudian menjalankan pekerjaan pelatihan untuk menguji nilai-nilai ini. Setelah menguji satu set nilai hyperparameter, tuning hyperparameter menggunakan regresi untuk memilih set nilai hyperparameter berikutnya untuk diuji.

Penyetelan hyperparameter menggunakan SageMaker implementasi Amazon dari optimasi Bayesian.

Saat memilih hiperparameter terbaik untuk pekerjaan pelatihan berikutnya, penyetelan hyperparameter mempertimbangkan semua yang diketahui tentang masalah ini sejauh ini. Terkadang ia memilih kombinasi nilai hiperparameter yang dekat dengan kombinasi yang menghasilkan pekerjaan pelatihan terbaik sebelumnya untuk meningkatkan kinerja secara bertahap. Hal ini memungkinkan tuning hyperparameter untuk menggunakan hasil yang paling terkenal. Di lain waktu, ia memilih satu set nilai hyperparameter yang jauh dari yang telah dicoba. Hal ini memungkinkannya untuk mengeksplorasi kisaran nilai hyperparameter untuk mencoba menemukan area baru yang belum dipahami dengan baik. Explore/exploit trade-off adalah hal biasa dalam banyak masalah pembelajaran mesin.

Untuk informasi lebih lanjut tentang optimasi Bayesian, lihat berikut ini:

Hyperband

Hyperband adalah strategi tuning berbasis multi-fidelity yang secara dinamis merealokasi sumber daya. Hyperband menggunakan hasil menengah dan akhir dari pekerjaan pelatihan untuk mengalokasikan kembali zaman ke konfigurasi hyperparameter yang digunakan dengan baik dan secara otomatis menghentikan yang berkinerja buruk. Ini juga menskalakan dengan mulus untuk menggunakan banyak pekerjaan pelatihan paralel. Fitur-fitur ini dapat secara signifikan mempercepat penyetelan hyperparameter melalui pencarian acak dan strategi optimasi Bayesian.

Hyperband seharusnya hanya digunakan untuk menyetel algoritme berulang yang mempublikasikan hasil pada tingkat sumber daya yang berbeda. Misalnya, Hyperband dapat digunakan untuk menyetel jaringan saraf untuk klasifikasi gambar yang menerbitkan metrik akurasi setelah setiap zaman.

Untuk informasi lebih lanjut tentang Hyperband, lihat tautan berikut:

Hyperband dengan berhenti lebih awal

Pekerjaan pelatihan dapat dihentikan lebih awal ketika mereka tidak mungkin meningkatkan metrik objektif dari pekerjaan penyetelan hiperparameter. Ini dapat membantu mengurangi waktu komputasi dan menghindari overfitting model Anda. Hyperband menggunakan mekanisme internal canggih untuk menerapkan penghentian dini. Parameter TrainingJobEarlyStoppingType dalam HyperParameterTuningJobConfig API harus diatur ke OFF saat menggunakan fitur penghentian awal internal Hyperband.

catatan

Penyetelan hyperparameter mungkin tidak meningkatkan model Anda. Ini adalah alat canggih untuk membangun solusi mesin. Dengan demikian, harus dianggap sebagai bagian dari proses pengembangan ilmiah.