Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan dan Luncurkan Pekerjaan Tuning Hyperparameter
penting
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM mengizinkan Studio dan Studio Classic untuk membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya AI SageMaker.
AWS kebijakan terkelola untuk Amazon SageMaker AIyang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.
Hyperparameter adalah parameter tingkat tinggi yang memengaruhi proses pembelajaran selama pelatihan model. Untuk mendapatkan prediksi model terbaik, Anda dapat mengoptimalkan konfigurasi hyperparameter atau menetapkan nilai hyperparameter. Proses penemuan konfigurasi yang optimal disebut penyetelan hyperparameter. Untuk mengonfigurasi dan meluncurkan tugas penyetelan hyperparameter, selesaikan langkah-langkah dalam panduan ini.
Topik
Pengaturan untuk pekerjaan penyetelan hyperparameter
Untuk menentukan pengaturan untuk pekerjaan penyetelan hyperparameter, tentukan objek JSON saat Anda membuat pekerjaan penyetelan. Teruskan objek JSON ini sebagai nilai HyperParameterTuningJobConfig parameter ke CreateHyperParameterTuningJob API.
Dalam objek JSON ini, tentukan yang berikut:
Dalam objek JSON ini, Anda menentukan:
-
HyperParameterTuningJobObjective— Metrik objektif yang digunakan untuk mengevaluasi kinerja pekerjaan pelatihan yang diluncurkan oleh pekerjaan penyetelan hyperparameter. -
ParameterRanges— Kisaran nilai yang dapat digunakan oleh hyperparameter yang dapat disetel selama pengoptimalan. Untuk informasi selengkapnya, lihat Tentukan Rentang Hyperparameter -
RandomSeed— Nilai yang digunakan untuk menginisialisasi generator bilangan pseudo-acak. Menyetel benih acak akan memungkinkan strategi pencarian penyetelan hyperparameter menghasilkan konfigurasi yang lebih konsisten untuk pekerjaan penyetelan yang sama (opsional). -
ResourceLimits— Jumlah maksimum pelatihan dan pekerjaan pelatihan paralel yang dapat digunakan oleh pekerjaan penyetelan hyperparameter.
catatan
Jika Anda menggunakan algoritma Anda sendiri untuk penyetelan hyperparameter, bukan algoritma bawaan SageMaker AI, Anda harus menentukan metrik untuk algoritma Anda. Untuk informasi selengkapnya, lihat Tentukan metrik.
Contoh kode berikut menunjukkan cara mengkonfigurasi pekerjaan penyetelan hyperparameter menggunakan algoritma XGBoost bawaan. Contoh kode menunjukkan bagaimana menentukan rentang untuketa,, alphamin_child_weight, dan max_depth hyperparameter. Untuk informasi lebih lanjut tentang ini dan hyperparameter lainnya lihat Parameter XGBoost.
Dalam contoh kode ini, metrik objektif untuk pekerjaan penyetelan hyperparameter menemukan konfigurasi hyperparameter yang memaksimalkan. validation:auc SageMaker Algoritma bawaan AI secara otomatis menulis metrik objektif ke CloudWatch Log. Contoh kode berikut juga menunjukkan cara mengatur aRandomSeed.
tuning_job_config = { "ParameterRanges": { "CategoricalParameterRanges": [], "ContinuousParameterRanges": [ { "MaxValue": "1", "MinValue": "0", "Name": "eta" }, { "MaxValue": "2", "MinValue": "0", "Name": "alpha" }, { "MaxValue": "10", "MinValue": "1", "Name": "min_child_weight" } ], "IntegerParameterRanges": [ { "MaxValue": "10", "MinValue": "1", "Name": "max_depth" } ] }, "ResourceLimits": { "MaxNumberOfTrainingJobs": 20, "MaxParallelTrainingJobs": 3 }, "Strategy": "Bayesian", "HyperParameterTuningJobObjective": { "MetricName": "validation:auc", "Type": "Maximize" }, "RandomSeed" : 123 }
Konfigurasikan pekerjaan pelatihan
Pekerjaan penyetelan hyperparameter akan meluncurkan pekerjaan pelatihan untuk menemukan konfigurasi hyperparameter yang optimal. Pekerjaan pelatihan ini harus dikonfigurasi menggunakan CreateHyperParameterTuningJob API SageMaker AI.
Untuk mengkonfigurasi pekerjaan pelatihan, tentukan objek JSON dan berikan sebagai nilai TrainingJobDefinition parameter di dalamnyaCreateHyperParameterTuningJob.
Dalam objek JSON ini, Anda dapat menentukan yang berikut:
-
AlgorithmSpecification— Jal ur registr i gambar Docker yang berisi algoritma pelatihan dan metadata terkait. Untuk menentukan algoritma, Anda dapat menggunakan algoritma buatan Anda sendiri di dalam wadahDocker atau algoritma bawaan SageMaker AI (wajib). -
InputDataConfig— Konfigurasi input, termasukChannelName,ContentType, dan sumber data untuk data pelatihan dan pengujian Anda (wajib). -
InputDataConfig— Konfigurasi input, termasukChannelName,ContentType, dan sumber data untuk data pelatihan dan pengujian Anda (wajib). -
Lokasi penyimpanan untuk output algoritma. Tentukan bucket S3 tempat Anda ingin menyimpan output dari pekerjaan pelatihan.
-
RoleArn— Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang digunakan SageMaker AI untuk melakukan tugas. Tugas termasuk membaca data input, mengunduh gambar Docker, menulis artefak model ke bucket S3, menulis log ke Amazon Logs CloudWatch , dan menulis metrik ke Amazon CloudWatch (wajib). -
StoppingCondition— Runtime maksimum dalam detik yang dapat dijalankan oleh pekerjaan pelatihan sebelum dihentikan. Nilai ini harus lebih besar dari waktu yang dibutuhkan untuk melatih model Anda (wajib). -
MetricDefinitions— Nama dan ekspresi reguler yang mendefinisikan metrik apa pun yang dipancarkan oleh pekerjaan pelatihan. Tentukan metrik hanya jika Anda menggunakan algoritma pelatihan khusus. Contoh dalam kode berikut menggunakan algoritma bawaan, yang sudah memiliki metrik yang ditentukan. Untuk informasi tentang mendefinisikan metrik (opsional), lihatTentukan metrik. -
TrainingImage— Gambar wadahDocker yang menentukan algoritma pelatihan (opsional). -
StaticHyperParameters— Nama dan nilai hyperparameter yang tidak disetel dalam pekerjaan tuning (opsional).
Contoh kode berikut menetapkan nilai statis untukeval_metric,,num_round, objectiverate_drop, dan tweedie_variance_power parameter dari algoritma Algoritma XGBoost dengan Amazon AI SageMaker bawaan.
Beri nama dan luncurkan pekerjaan penyetelan hyperparameter
Setelah Anda mengonfigurasi pekerjaan penyetelan hyperparameter, Anda dapat meluncurkannya dengan memanggil CreateHyperParameterTuningJob API. Contoh kode berikut menggunakan tuning_job_config dantraining_job_definition. Ini didefinisikan dalam dua contoh kode sebelumnya untuk membuat pekerjaan penyetelan hyperparameter.
tuning_job_name = "MyTuningJob" smclient.create_hyper_parameter_tuning_job(HyperParameterTuningJobName = tuning_job_name, HyperParameterTuningJobConfig = tuning_job_config, TrainingJobDefinition = training_job_definition)
Lihat Status Pekerjaan Pelatihan
Untuk melihat status pekerjaan pelatihan yang diluncurkan oleh pekerjaan penyetelan hyperparameter
-
Dalam daftar pekerjaan penyetelan hyperparameter, pilih pekerjaan yang Anda luncurkan.
-
Pilih Pekerjaan Pelatihan.
-
Lihat status setiap pekerjaan pelatihan. Untuk melihat detail lebih lanjut tentang pekerjaan, pilih dalam daftar pekerjaan pelatihan. Untuk melihat ringkasan status semua pekerjaan pelatihan yang diluncurkan oleh pekerjaan penyetelan hyperparameter, lihat Penghitung status pekerjaan pelatihan.
Pekerjaan pelatihan dapat berupa:
-
CompletedPekerjaan pelatihan berhasil diselesaikan. -
InProgressPekerjaan pelatihan sedang berlangsung. -
StoppedPekerjaan pelatihan dihentikan secara manual sebelum selesai. -
Failed (Retryable)Pekerjaan pelatihan gagal, tetapi dapat dicoba kembali. Pekerjaan pelatihan yang gagal dapat dicoba lagi hanya jika gagal karena terjadi kesalahan layanan internal. -
Failed (Non-retryable)Pekerjaan pelatihan gagal dan tidak dapat dicoba lagi. Pekerjaan pelatihan yang gagal tidak dapat dicoba lagi saat terjadi kesalahan klien.
catatan
Pekerjaan penyetelan hyperparameter dapat dihentikan dan sumber daya yang mendasarinya dihapus, tetapi pekerjaan itu sendiri tidak dapat dihapus.
-
Lihat Pekerjaan Pelatihan Terbaik
Pekerjaan penyetelan hyperparameter menggunakan metrik objektif yang dikembalikan setiap pekerjaan pelatihan untuk mengevaluasi pekerjaan pelatihan. Sementara pekerjaan penyetelan hyperparameter sedang berlangsung, pekerjaan pelatihan terbaik adalah pekerjaan yang telah mengembalikan metrik objektif terbaik sejauh ini. Setelah pekerjaan penyetelan hyperparameter selesai, pekerjaan pelatihan terbaik adalah pekerjaan yang mengembalikan metrik objektif terbaik.
Untuk melihat pekerjaan pelatihan terbaik, pilih Pekerjaan pelatihan terbaik.
Untuk menerapkan pekerjaan pelatihan terbaik sebagai model yang dapat Anda host di titik akhir SageMaker AI, pilih Buat model.