Hentikan Pekerjaan Pelatihan Lebih Awal - Amazon SageMaker

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 tuning hyperparameter lebih awal ketika mereka tidak membaik secara signifikan yang diukur dengan metrik objektif. Menghentikan pekerjaan pelatihan lebih awal dapat membantu mengurangi waktu komputasi dan membantu Anda menghindari overfitting model Anda. Untuk mengonfigurasi pekerjaan tuning hyperparameter untuk menghentikan pekerjaan pelatihan lebih awal, lakukan salah satu hal berikut:

  • Jika Anda menggunakan AWS SDK untuk Python (Boto3), TrainingJobEarlyStoppingType atur bidang objek yang Anda gunakan untuk mengonfigurasi pekerjaan HyperParameterTuningJobConfigpenyetelan. AUTO

  • Jika Anda menggunakan Amazon SageMaker Python SDK, atur early_stopping_type parameter objek ke. HyperParameterTunerAuto

  • Di SageMaker konsol Amazon, dalam alur kerja kerja penyetelan hyperparameter Create hyperparameter, di bawah Pemberhentian awal, pilih Otomatis.

Untuk contoh buku catatan 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 atau buka buku catatan di bagian Hyperparameter Tuning dari Contoh dalam instance notebook. hpo_image_classification_early_stopping.ipynb SageMaker Untuk informasi tentang menggunakan contoh buku catatan dalam contoh buku catatan, lihatNotebooks contoh.

Bagaimana Berhenti Awal Bekerja

Saat Anda mengaktifkan penghentian dini untuk pekerjaan penyetelan hiperparameter, SageMaker evaluasi setiap pekerjaan pelatihan yang diluncurkan oleh pekerjaan tuning hyperparameter sebagai berikut:

  • Setelah setiap zaman 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 rata-rata lari metrik objektif untuk pekerjaan pelatihan sebelumnya hingga zaman yang sama, SageMaker hentikan pekerjaan pelatihan saat ini.

Algoritma yang Mendukung Penghentian Awal

Untuk mendukung penghentian awal, algoritme harus memancarkan metrik objektif untuk setiap zaman. SageMaker Algoritme bawaan berikut mendukung penghentian awal:

catatan

Daftar algoritma bawaan yang mendukung penghentian awal ini adalah saat ini pada 13 Desember 2018. Algoritma bawaan lainnya mungkin mendukung penghentian awal di masa depan. Jika suatu algoritma memancarkan metrik yang dapat digunakan sebagai metrik objektif untuk pekerjaan penyetelan hiperparameter (lebih disukai metrik validasi), maka itu mendukung penghentian awal.

Untuk menggunakan penghentian awal dengan algoritme Anda sendiri, Anda harus menulis algoritme 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.ProgbarLogger kelas. Untuk selengkapnya, lihat tf.keras.callbacks. ProgbarLogger API.

MXNet

Gunakan mxnet.callback.LogValidationMetricsCallback. Untuk selengkapnya, lihat API mxnet.callback.

Chainer

Perluas chainer dengan menggunakan extensions.Evaluator kelas. Untuk selengkapnya, 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 epoch.