Tindakan bawaan Debugger untuk Aturan - Amazon SageMaker

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

Tindakan bawaan Debugger untuk Aturan

Gunakan tindakan bawaan Debugger untuk menanggapi masalah yang ditemukan oleh. Aturan Debugger rule_configsKelas Debugger menyediakan alat untuk mengonfigurasi daftar tindakan, termasuk menghentikan tugas pelatihan secara otomatis dan mengirim notifikasi menggunakan Amazon Simple Notification Service (Amazon SNS) saat aturan Debugger menemukan masalah pelatihan.

Langkah 1: Siapkan Amazon SNS, Buat Topik SM, dan Berlangganan DebugRules Topik

Bagian ini memandu Anda melalui cara mengatur SMDebugRules topik Amazon SNS, berlangganan, dan mengonfirmasi langganan untuk menerima pemberitahuan dari aturan Debugger.

Untuk membuat DebugRules topik SM
  1. Masuk ke AWS Management Console dan buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home.

  2. Di panel navigasi kiri, pilih Topics (Topik).

  3. Di halaman Topics (Topik), pilih Create topic (Buat topik).

  4. Di halaman Create topic (Buat topik), di bagian Details (Detail), lakukan hal-hal berikut:

    1. Untuk Jenis, pilih Standar untuk jenis topik.

    2. Di Nama, masukkan SMDebugRules.

  5. Lewati semua pengaturan opsional lainnya dan pilih Buat topik. Jika Anda ingin mempelajari setelan opsional lebih lanjut, lihat Membuat topik Amazon SNS.

Untuk berlangganan DebugRules topik SM

  1. Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home.

  2. Di panel navigasi kiri, pilih Subscriptions (Langganan).

  3. Di halaman Subscriptions (Langganan), pilih Create subscription (Buat langganan).

  4. Di halaman Create subscription (Buat langganan), di bagian Details (Detail), lakukan:

    1. Untuk Topik ARN, pilih topik SM DebugRules ARN. ARN harus dalam format. arn:aws:sns:<region-id>:111122223333:SMDebugRules

    2. Untuk Protokol, pilih Email atau SMS.

    3. Untuk Endpoint, masukkan nilai endpoint, seperti alamat email atau nomor telepon yang ingin Anda terima notifikasi.

      catatan

      Pastikan Anda mengetik alamat email dan nomor telepon yang benar. Nomor telepon harus menyertakan+, kode negara, dan nomor telepon, tanpa karakter atau spasi khusus. Misalnya, nomor telepon +1 (222) 333-4444 diformat sebagai. +12223334444

  5. Lewati semua pengaturan opsional lainnya dan pilih Buat langganan. Jika Anda ingin mempelajari setelan opsional lebih lanjut, lihat Berlangganan topik Amazon SNS.

Setelah Anda berlangganan DebugRules topik SM, Anda menerima pesan konfirmasi berikut di email atau melalui telepon:

Pesan email konfirmasi berlangganan untuk topik Amazon SNS SM DebugRules.

Untuk informasi selengkapnya tentang Amazon SNS, lihat Pesan teks seluler (SMS) dan pemberitahuan Email di Panduan Pengembang Amazon SNS.

Langkah 2: Siapkan Peran IAM Anda untuk Melampirkan Kebijakan yang Diperlukan

Pada langkah ini, Anda menambahkan kebijakan yang diperlukan ke peran IAM Anda.

Untuk menambahkan kebijakan yang diperlukan ke peran IAM Anda
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi kiri, pilih Kebijakan, dan pilih Buat kebijakan.

  3. Pada halaman Buat kebijakan, lakukan hal berikut untuk membuat kebijakan akses sns baru:

    1. Pilih tab JSON.

    2. Tempel string JSON yang diformat dengan huruf tebal dalam kode berikut ke dalam"Statement", ganti ID akun 12 digit dengan ID AWS akun Anda. AWS

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sns:Publish", "sns:CreateTopic", "sns:Subscribe" ], "Resource": "arn:aws:sns:*:111122223333:SMDebugRules" } ] }
    3. Di bagian bawah halaman, pilih Kebijakan tinjauan.

    4. Pada halaman Tinjau kebijakan, untuk Nama, masukkan sns-access.

    5. Di bagian bawah halaman, pilih Buat kebijakan.

  4. Kembali ke konsol IAM, dan pilih Peran di panel navigasi kiri.

  5. Cari peran IAM yang Anda gunakan untuk pelatihan SageMaker model dan pilih peran IAM itu.

  6. Pada tab Izin pada halaman Ringkasan, pilih Lampirkan kebijakan.

  7. Cari kebijakan akses sns, pilih kotak centang di sebelah kebijakan, lalu pilih Lampirkan kebijakan.

Untuk lebih banyak contoh pengaturan kebijakan IAM untuk Amazon SNS, lihat Contoh kasus untuk kontrol akses Amazon SNS.

Langkah 3: Konfigurasikan Aturan Debugger dengan Tindakan Bawaan

Setelah berhasil menyelesaikan pengaturan yang diperlukan pada langkah-langkah sebelumnya, Anda dapat mengonfigurasi tindakan bawaan Debugger untuk aturan debugging seperti yang ditunjukkan pada contoh skrip berikut. Anda dapat memilih tindakan bawaan mana yang akan digunakan saat membangun objek actions daftar. rule_configsIni adalah modul pembantu yang menyediakan alat tingkat tinggi untuk mengonfigurasi aturan dan tindakan bawaan Debugger. Tindakan bawaan berikut tersedia untuk Debugger:

  • rule_configs.StopTraining()— Menghentikan pekerjaan pelatihan ketika aturan Debugger menemukan masalah.

  • rule_configs.Email("abc@abc.com")— Mengirim pemberitahuan melalui email ketika aturan Debugger menemukan masalah. Gunakan alamat email yang Anda gunakan saat mengatur langganan topik SNS Anda.

  • rule_configs.SMS("+1234567890")— Mengirim pemberitahuan melalui pesan teks ketika aturan Debugger menemukan masalah. Gunakan nomor telepon yang Anda gunakan saat mengatur langganan topik SNS Anda.

    catatan

    Pastikan Anda mengetik alamat email dan nomor telepon yang benar. Nomor telepon harus menyertakan+, kode negara, dan nomor telepon, tanpa karakter atau spasi khusus. Misalnya, nomor telepon +1 (222) 333-4444 diformat sebagai. +12223334444

Anda dapat menggunakan semua tindakan bawaan atau subset tindakan dengan membungkusnya menggunakan rule_configs.ActionList() metode, yang mengambil tindakan bawaan dan mengonfigurasi daftar tindakan.

Untuk menambahkan ketiga tindakan bawaan ke satu aturan

Jika Anda ingin menetapkan ketiga tindakan bawaan ke satu aturan, konfigurasikan daftar tindakan bawaan Debugger saat membuat estimator. Gunakan template berikut untuk membuat estimator, dan Debugger akan menghentikan pekerjaan pelatihan dan mengirim pemberitahuan melalui email dan teks untuk aturan apa pun yang Anda gunakan untuk memantau kemajuan pekerjaan pelatihan Anda.

from sagemaker.debugger import Rule, rule_configs # Configure an action list object for Debugger rules actions = rule_configs.ActionList( rule_configs.StopTraining(), rule_configs.Email("abc@abc.com"), rule_configs.SMS("+1234567890") ) # Configure rules for debugging with the actions parameter rules = [ Rule.sagemaker( base_config=rule_configs.built_in_rule(), # Required rule_parameters={"paramter_key": value }, # Optional actions=actions ) ] estimator = Estimator( ... rules = rules ) estimator.fit(wait=False)

Untuk membuat beberapa objek aksi bawaan untuk menetapkan tindakan yang berbeda ke satu aturan

Jika Anda ingin menetapkan tindakan bawaan yang akan dipicu pada nilai ambang batas yang berbeda dari satu aturan, Anda dapat membuat beberapa objek tindakan bawaan seperti yang ditunjukkan pada skrip berikut. Untuk menghindari kesalahan konflik dengan menjalankan aturan yang sama, Anda harus mengirimkan nama pekerjaan aturan yang berbeda (tentukan string yang berbeda untuk name atribut aturan) seperti yang ditunjukkan pada contoh templat skrip berikut. Contoh ini menunjukkan cara mengatur StalledTrainingAturan untuk mengambil dua tindakan berbeda: mengirim email ke abc@abc.com saat pekerjaan pelatihan berhenti selama 60 detik, dan menghentikan pekerjaan pelatihan jika berhenti selama 120 detik.

from sagemaker.debugger import Rule, rule_configs import time base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time())) # Configure an action object for StopTraining action_stop_training = rule_configs.ActionList( rule_configs.StopTraining() ) # Configure an action object for Email action_email = rule_configs.ActionList( rule_configs.Email("abc@abc.com") ) # Configure a rule with the Email built-in action to trigger if a training job stalls for 60 seconds stalled_training_job_rule_email = Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ "threshold": "60", "training_job_name_prefix": base_job_name_prefix }, actions=action_email ) stalled_training_job_rule_text.name="StalledTrainingJobRuleEmail" # Configure a rule with the StopTraining built-in action to trigger if a training job stalls for 120 seconds stalled_training_job_rule = Rule.sagemaker( base_config=rule_configs.stalled_training_rule(), rule_parameters={ "threshold": "120", "training_job_name_prefix": base_job_name_prefix }, actions=action_stop_training ) stalled_training_job_rule.name="StalledTrainingJobRuleStopTraining" estimator = Estimator( ... rules = [stalled_training_job_rule_email, stalled_training_job_rule] ) estimator.fit(wait=False)

Saat pekerjaan pelatihan sedang berjalan, tindakan bawaan Debugger mengirimkan email notifikasi dan pesan teks setiap kali aturan menemukan masalah dengan pekerjaan pelatihan Anda. Tangkapan layar berikut menunjukkan contoh pemberitahuan email untuk pekerjaan pelatihan yang memiliki masalah pekerjaan pelatihan yang macet.

Contoh pemberitahuan email yang dikirim oleh Debugger saat mendeteksi masalah. StalledTraining

Tangkapan layar berikut menunjukkan contoh pemberitahuan teks yang dikirim Debugger saat aturan menemukan masalah. StalledTraining

Contoh pemberitahuan teks yang dikirim oleh Debugger saat mendeteksi masalah. StalledTraining

Pertimbangan untuk Menggunakan Tindakan Built-in Debugger

  • Untuk menggunakan tindakan bawaan Debugger, koneksi internet diperlukan. Fitur ini tidak didukung dalam mode isolasi jaringan yang disediakan oleh Amazon SageMaker atau Amazon VPC.

  • Tindakan bawaan tidak dapat digunakan untukAturan profiler.

  • Tindakan bawaan tidak dapat digunakan pada pekerjaan pelatihan dengan gangguan pelatihan spot.

  • Dalam pemberitahuan email atau teks, None muncul di akhir pesan. Ini tidak memiliki arti apa pun, sehingga Anda dapat mengabaikan teksNone.