Memantau dan Menganalisis Pekerjaan Pelatihan Menggunakan Amazon CloudWatch Metrics - Amazon SageMaker

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

Memantau dan Menganalisis Pekerjaan Pelatihan Menggunakan Amazon CloudWatch Metrics

Pekerjaan SageMaker pelatihan Amazon adalah proses berulang yang mengajarkan model untuk membuat prediksi dengan menyajikan contoh dari kumpulan data pelatihan. Biasanya, algoritma pelatihan menghitung beberapa metrik, seperti kesalahan pelatihan dan akurasi prediksi. Metrik ini membantu mendiagnosis apakah model tersebut belajar dengan baik dan akan menggeneralisasi dengan baik untuk membuat prediksi pada data yang tidak terlihat. Algoritma pelatihan menulis nilai metrik ini ke log, yang SageMaker memantau dan mengirim ke Amazon CloudWatch secara real time. Untuk menganalisis kinerja pekerjaan pelatihan Anda, Anda dapat melihat grafik metrik ini di. CloudWatch Ketika pekerjaan pelatihan telah selesai, Anda juga bisa mendapatkan daftar nilai metrik yang dihitung dalam iterasi terakhirnya dengan memanggil operasi. DescribeTrainingJob

catatan

Amazon CloudWatch mendukung metrik kustom resolusi tinggi, dan resolusi terbaiknya adalah 1 detik. Namun, semakin halus resolusinya, semakin pendek umur metrik. CloudWatch Untuk resolusi frekuensi 1 detik, CloudWatch metrik tersedia selama 3 jam. Untuk informasi selengkapnya tentang resolusi dan umur CloudWatch metrik, lihat GetMetricStatisticsdi Referensi Amazon CloudWatch API.

Tip

Jika Anda ingin membuat profil pekerjaan pelatihan Anda dengan resolusi yang lebih baik hingga perincian 100 milidetik (0,1 detik) dan menyimpan metrik pelatihan tanpa batas waktu di Amazon S3 untuk analisis khusus kapan saja, pertimbangkan untuk menggunakan Amazon Debugger. SageMaker SageMaker Debugger menyediakan aturan bawaan untuk secara otomatis mendeteksi masalah pelatihan umum; ia mendeteksi masalah pemanfaatan sumber daya perangkat keras (seperti kemacetan CPU, GPU, dan I/O) dan masalah model non-konvergen (seperti overfit, gradien menghilang, dan tensor yang meledak). SageMaker Debugger juga menyediakan visualisasi melalui Studio Classic dan laporan profilingnya. Untuk menjelajahi visualisasi Debugger, lihat Panduan Dasbor Wawasan SageMaker Debugger, Panduan Laporan Profil Debugger, dan Menganalisis Data Menggunakan Pustaka Klien SMDebug.

Mendefinisikan Metrik Pelatihan

SageMaker secara otomatis mem-parsing log pekerjaan pelatihan dan mengirimkan metrik pelatihan ke. CloudWatch Secara default, SageMaker mengirimkan metrik pemanfaatan sumber daya sistem yang tercantum dalam SageMaker Lowongan dan Metrik Titik Akhir. Jika Anda SageMaker ingin mengurai log dan mengirim metrik khusus dari pekerjaan pelatihan algoritme Anda sendiri CloudWatch, Anda perlu menentukan definisi metrik dengan meneruskan nama metrik dan ekspresi reguler saat mengonfigurasi permintaan pekerjaan pelatihan. SageMaker

Anda dapat menentukan metrik yang ingin dilacak menggunakan SageMaker konsol, SageMaker Python SDK, atau API tingkat rendah. SageMaker

Jika Anda menggunakan algoritma Anda sendiri, lakukan hal berikut:

  • Pastikan algoritme menulis metrik yang ingin Anda tangkap ke log.

  • Tentukan ekspresi reguler yang secara akurat mencari log untuk menangkap nilai metrik yang ingin Anda kirim. CloudWatch

Misalnya, algoritme Anda memancarkan metrik berikut untuk kesalahan pelatihan dan kesalahan validasi:

Train_error=0.138318; Valid_error=0.324557;

Jika Anda ingin memantau kedua metrik tersebut CloudWatch, kamus untuk definisi metrik akan terlihat seperti contoh berikut:

[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]

Dalam regex untuk train:error metrik yang ditentukan dalam contoh sebelumnya, bagian pertama dari regex menemukan teks yang tepat “train_error=”, dan ekspresi (.*?); menangkap karakter apa pun hingga karakter titik koma pertama muncul. Dalam ungkapan ini, tanda kurung memberi tahu regex untuk menangkap apa yang ada di dalamnya, . berarti karakter apa pun, * berarti nol atau lebih, dan ? berarti menangkap hanya sampai contoh pertama karakter. ;

Tentukan Metrik Menggunakan SageMaker Python SDK

Tentukan metrik yang ingin Anda kirim CloudWatch dengan menentukan daftar nama metrik dan ekspresi reguler sebagai metric_definitions argumen saat Anda menginisialisasi objek. Estimator Misalnya, jika Anda ingin memantau metrik train:error dan validation:error metrik CloudWatch, Estimator inisialisasi Anda akan terlihat seperti contoh berikut:

import sagemaker from sagemaker.estimator import Estimator estimator = Estimator( image_uri="your-own-image-uri", role=sagemaker.get_execution_role(), sagemaker_session=sagemaker.Session(), instance_count=1, instance_type='ml.c4.xlarge', metric_definitions=[ {'Name': 'train:error', 'Regex': 'Train_error=(.*?);'}, {'Name': 'validation:error', 'Regex': 'Valid_error=(.*?);'} ] )

Untuk informasi selengkapnya tentang pelatihan menggunakan estimator Amazon SageMaker Python SDK, lihat Sagemaker Python SDK on. GitHub

Tentukan Metrik Menggunakan Konsol SageMaker

Jika Anda memilih wadah algoritme Anda sendiri di opsi ECR sebagai sumber algoritme Anda di SageMaker konsol saat Anda membuat pekerjaan pelatihan, tambahkan definisi metrik di bagian Metrik. Tangkapan layar berikut menunjukkan bagaimana seharusnya terlihat setelah Anda menambahkan contoh nama metrik dan ekspresi reguler yang sesuai.

Tentukan Metrik Menggunakan API Tingkat Rendah SageMaker

Tentukan metrik yang ingin Anda kirim CloudWatch dengan menentukan daftar nama metrik dan ekspresi reguler di MetricDefinitions bidang parameter AlgorithmSpecificationinput yang Anda berikan ke operasi. CreateTrainingJob Misalnya, jika Anda ingin memantau metrik train:error dan validation:error metrik CloudWatch, Anda AlgorithmSpecification akan terlihat seperti contoh berikut:

"AlgorithmSpecification": { "TrainingImage": your-own-image-uri, "TrainingInputMode": "File", "MetricDefinitions" : [ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ] }

Untuk informasi selengkapnya tentang mendefinisikan dan menjalankan tugas pelatihan menggunakan SageMaker API tingkat rendah, lihat. CreateTrainingJob

Monitoring Training Job Metrics (CloudWatch Konsol)

Anda dapat memantau metrik yang dipancarkan pekerjaan pelatihan secara real time di konsol. CloudWatch

Untuk memantau metrik pekerjaan pelatihan (CloudWatch konsol)
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch.

  2. Pilih Metrik, lalu pilih /aws/sagemaker/ TrainingJobs.

  3. Pilih TrainingJobName.

  4. Pada tab Semua metrik, pilih nama metrik pelatihan yang ingin Anda pantau.

  5. Pada tab Metrik grafik, konfigurasikan opsi grafik. Untuk informasi selengkapnya tentang penggunaan CloudWatch grafik, lihat Metrik Grafik di CloudWatch Panduan Pengguna Amazon.

Monitoring Training Job Metrics (SageMakerKonsol)

Anda dapat memantau metrik yang dipancarkan pekerjaan pelatihan secara real time dengan menggunakan konsol. SageMaker

Untuk memantau metrik pekerjaan pelatihan (SageMaker konsol)
  1. Buka SageMaker konsol di https://console.aws.amazon.com/sagemaker.

  2. Pilih pekerjaan Pelatihan, lalu pilih pekerjaan pelatihan yang metriknya ingin Anda lihat.

  3. Pilih TrainingJobName.

  4. Di bagian Monitor, Anda dapat meninjau grafik pemanfaatan instance dan metrik algoritme.

Contoh: Melihat Kurva Pelatihan dan Validasi

Biasanya, Anda membagi data tempat Anda melatih model menjadi kumpulan data pelatihan dan validasi. Anda menggunakan set pelatihan untuk melatih parameter model yang digunakan untuk membuat prediksi pada kumpulan data pelatihan. Kemudian Anda menguji seberapa baik model membuat prediksi dengan menghitung prediksi untuk set validasi. Untuk menganalisis kinerja pekerjaan pelatihan, Anda biasanya merencanakan kurva pelatihan terhadap kurva validasi.

Melihat grafik yang menunjukkan keakuratan untuk set pelatihan dan validasi dari waktu ke waktu dapat membantu Anda meningkatkan kinerja model Anda. Misalnya, jika akurasi pelatihan terus meningkat dari waktu ke waktu, tetapi, pada titik tertentu, akurasi validasi mulai menurun, kemungkinan Anda terlalu cocok dengan model Anda. Untuk mengatasinya, Anda dapat melakukan penyesuaian pada model Anda, seperti meningkatkan regularisasi.

Untuk contoh ini, Anda dapat menggunakan mage-classification-full-training contoh I di bagian Contoh notebook dari instance SageMaker notebook Anda. Jika Anda tidak memiliki instance SageMaker notebook, buat satu dengan mengikuti petunjuk diLangkah 1: Buat Instans SageMaker Notebook Amazon. Jika mau, Anda dapat mengikuti bersama dengan Contoh Klasifikasi Gambar Multiclass End-to-End di buku catatan contoh. GitHub Anda juga memerlukan bucket Amazon S3 untuk menyimpan data pelatihan dan untuk output model.

Untuk melihat kurva kesalahan pelatihan dan validasi
  1. Buka SageMaker konsol di https://console.aws.amazon.com/sagemaker.

  2. Pilih Notebook, lalu pilih instans Notebook.

  3. Pilih instance notebook yang ingin Anda gunakan, lalu pilih Buka.

  4. Di dasbor untuk instance notebook Anda, pilih SageMakerContoh.

  5. Perluas bagian Pengantar Algoritma Amazon, lalu pilih Gunakan di sebelah mage-classification-fulltrainingI.ipynb.

  6. Pilih Buat salinan. SageMaker membuat salinan notebook mage-classification-fulltrainingI.ipynb yang dapat diedit di instance notebook Anda.

  7. Jalankan semua sel di buku catatan hingga bagian Inferensi. Anda tidak perlu menerapkan titik akhir atau mendapatkan inferensi untuk contoh ini.

  8. Setelah pekerjaan pelatihan dimulai, buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch.

  9. Pilih Metrik, lalu pilih /aws/sagemaker/ TrainingJobs.

  10. Pilih TrainingJobName.

  11. Pada tab Semua metrik, pilih metrik train:akurasi dan validasi:akurasi untuk pekerjaan pelatihan yang Anda buat di buku catatan.

  12. Pada grafik, pilih area yang nilainya akan diperbesar oleh metrik. Anda akan melihat sesuatu seperti contoh berikut.