Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hentikan Pekerjaan Pelatihan Lebih Awal
Hentikan pekerjaan pelatihan yang diluncurkan oleh pekerjaan penyetelan hyperparameter lebih awal ketika pekerjaan tersebut tidak meningkat secara signifikan seperti yang diukur dengan metrik objektif. Menghentikan pekerjaan pelatihan lebih awal dapat membantu mengurangi waktu komputasi dan membantu Anda menghindari model Anda yang terlalu pas. Untuk mengonfigurasi pekerjaan penyetelan hyperparameter untuk menghentikan pekerjaan pelatihan lebih awal, lakukan salah satu hal berikut:
-
Jika Anda menggunakan AWS SDK untuk Python (Boto3), atur
TrainingJobEarlyStoppingTypebidangHyperParameterTuningJobConfigobjek yang Anda gunakan untuk mengonfigurasi pekerjaan penyetelan.AUTO -
Jika Anda menggunakan Amazon SageMaker Python SDK
, atur early_stopping_typeparameter HyperParameterTunerobjek ke Auto. -
Di konsol Amazon SageMaker AI, di alur kerja Buat pekerjaan penyetelan hyperparameter, di bawah Penghentian awal, pilih Otom atis.
Untuk contoh notebook yang menunjukkan cara menggunakan penghentian awal, lihat https://github.com/awslabs/amazon-sagemaker-examples/blob/master/hyperparameter_tuning/image_classification_early_stopping/hpo_image_classification_early_stopping.ipynb hpo_image_classification_early_stopping.ipynb buku catatan di bagian Hyperparameter Tuning dari Contoh SageMaker AI dalam contoh notebook.
Cara Kerja Penghentian Awal
Saat Anda mengaktifkan penghentian awal untuk pekerjaan penyetelan hyperparameter, SageMaker AI mengevaluasi setiap pekerjaan pelatihan yang diluncurkan pekerjaan penyetelan hyperparameter sebagai berikut:
-
Setelah setiap periode pelatihan, dapatkan nilai metrik objektif.
-
Hitung rata-rata berjalan dari metrik objektif untuk semua pekerjaan pelatihan sebelumnya hingga zaman yang sama, dan kemudian hitung median dari semua rata-rata berjalan.
-
Jika nilai metrik objektif untuk pekerjaan pelatihan saat ini lebih buruk (lebih tinggi saat meminimalkan atau lebih rendah saat memaksimalkan metrik objektif) daripada nilai median rata-rata berjalan dari metrik tujuan untuk pekerjaan pelatihan sebelumnya hingga zaman yang sama, SageMaker AI menghentikan pekerjaan pelatihan saat ini.
Algoritma yang Mendukung Penghentian Awal
Untuk mendukung penghentian awal, algoritma harus memancarkan metrik objektif untuk setiap zaman. Algoritma SageMaker AI bawaan berikut mendukung penghentian awal:
-
Algoritma Pembelajar Linear—Didukung hanya jika Anda menggunakan
objective_losssebagai metrik objektif.
catatan
Daftar algoritma bawaan yang mendukung penghentian awal ini berlaku pada 13 Desember 2018. Algoritma bawaan lainnya mungkin mendukung penghentian awal di masa depan. Jika algoritma memancarkan metrik yang dapat digunakan sebagai metrik objektif untuk pekerjaan penyetelan hyperparameter (lebih disukai metrik validasi), maka algoritma mendukung penghentian awal.
Untuk menggunakan penghentian awal dengan algoritma Anda sendiri, Anda harus menulis algoritma Anda sedemikian rupa sehingga memancarkan nilai metrik objektif setelah setiap zaman. Daftar berikut menunjukkan bagaimana Anda dapat melakukannya dalam kerangka kerja yang berbeda:
- TensorFlow
-
Gunakan
tf.keras.callbacks.ProgbarLoggerkelas. Untuk informasi, lihat tf.keras.callbacks. ProgbarLogger API. - MXNet
-
Gunakan
mxnet.callback.LogValidationMetricsCallback. Untuk informasi, lihat mxnet.callback API. - Chainer
-
Perpanjang chainer dengan menggunakan
extensions.Evaluatorkelas. Untuk informasi, lihat Chainer.Training.Extensions.Evaluator API. - PyTorch dan Spark
-
Tidak ada dukungan tingkat tinggi. Anda harus secara eksplisit menulis kode pelatihan Anda sehingga menghitung metrik objektif dan menulisnya ke log setelah setiap zaman.