Praktik Terbaik untuk Amazon SageMaker Debugger - Amazon SageMaker

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

Praktik Terbaik untuk Amazon SageMaker Debugger

Gunakan panduan berikut saat Anda menjalankan pekerjaan pelatihan dengan Debugger.

Pilih Framework Machine Learning

Anda dapat memilih kerangka kerja pembelajaran mesin dan menggunakan wadah pelatihan SageMaker pra-bangun atau wadah Anda sendiri. Gunakan Debugger untuk mendeteksi masalah pelatihan dan kinerja, dan menganalisis kemajuan pelatihan pekerjaan pelatihan Anda. SageMaker SageMaker memberi Anda opsi untuk menggunakan kontainer pra-bangun yang disiapkan untuk sejumlah lingkungan kerangka pembelajaran mesin untuk melatih model Anda di AmazonEC2. Pekerjaan pelatihan apa pun dapat disesuaikan untuk dijalankan di AWS Deep Learning Containers, wadah SageMaker pelatihan, dan wadah khusus.

Gunakan Dasbor Wawasan Debugger Studio

Dengan dasbor wawasan Studio Debugger, Anda mengendalikan pekerjaan pelatihan Anda. Gunakan dasbor Studio Debugger untuk menjaga performa model Anda di EC2 instans Amazon tetap terkendali dan dioptimalkan. Untuk setiap pekerjaan SageMaker pelatihan yang berjalan di EC2 instans Amazon, Debugger memantau pemanfaatan sumber daya dan data keluaran model dasar (nilai kehilangan dan akurasi). Melalui dasbor Studio Debugger, dapatkan wawasan tentang pekerjaan pelatihan Anda dan tingkatkan kinerja pelatihan model Anda. Untuk mempelajari selengkapnya, lihat Amazon SageMaker Debugger UI di Eksperimen Klasik Amazon SageMaker Studio.

Unduh Laporan Debugger dan Dapatkan Lebih Banyak Wawasan

Anda dapat melihat hasil agregat dan mendapatkan wawasan dalam laporan Debugger. Debugger menggabungkan hasil pelatihan dan pembuatan profil yang dikumpulkan dari analisis aturan bawaan ke dalam laporan per pekerjaan pelatihan. Anda dapat menemukan informasi lebih rinci tentang hasil pelatihan Anda melalui laporan Debugger. Untuk mempelajari selengkapnya, lihat SageMaker Laporan interaktif debugger.

Tangkap Data dari Training Job Anda dan Simpan Data ke Amazon S3

Anda dapat menggunakan kait Debugger untuk menyimpan tensor keluaran. Setelah Anda memilih wadah dan kerangka kerja yang sesuai dengan skrip pelatihan Anda, gunakan kait Debugger untuk mengonfigurasi tensor mana yang akan disimpan dan direktori mana yang akan menyimpannya, seperti bucket Amazon S3. Hook Debugger membantu Anda membangun konfigurasi dan menyimpannya di akun Anda untuk digunakan dalam analisis berikutnya, di mana ia diamankan untuk digunakan dengan aplikasi yang paling sensitif terhadap privasi. Untuk mempelajari selengkapnya, lihat Konfigurasikan SageMaker Debugger untuk Menyimpan Tensor.

Analisis Data dengan Armada Aturan Built-in Debugger

Anda dapat menggunakan aturan bawaan Debugger untuk memeriksa tensor secara paralel dengan pekerjaan pelatihan. Untuk menganalisis data kinerja pelatihan, Debugger menyediakan aturan bawaan yang memperhatikan perilaku proses pelatihan yang tidak normal. Misalnya, aturan Debugger mendeteksi masalah saat proses pelatihan mengalami masalah kemacetan sistem atau masalah pelatihan, seperti gradien menghilang, tensor yang meledak, overfitting, atau overtraining. Jika perlu, Anda juga dapat membuat aturan yang disesuaikan dengan membuat definisi aturan dengan kriteria Anda sendiri untuk menentukan masalah pelatihan. Untuk mempelajari lebih lanjut tentang aturan Debugger, lihat Konfigurasikan Aturan Built-in Debugger petunjuk mendetail tentang penggunaan Amazon Python SageMaker . SDK Untuk daftar lengkap aturan bawaan Debugger, lihat. Daftar Aturan Built-in Debugger Jika Anda ingin membuat aturan khusus, lihatBuat Aturan Kustom Debugger untuk Training Job Analysis.

Mengambil Tindakan Berdasarkan Status Aturan Bawaan

Anda dapat menggunakan Debugger dengan Amazon CloudWatch Events dan. AWS Lambda Anda dapat mengotomatiskan tindakan berdasarkan status aturan, seperti menghentikan pekerjaan pelatihan lebih awal dan menyiapkan notifikasi melalui email atau teks. Ketika aturan Debugger mendeteksi masalah dan memicu status "IssuesFound" evaluasi, CloudWatch Peristiwa mendeteksi perubahan status aturan dan memanggil fungsi Lambda untuk mengambil tindakan. Untuk mengonfigurasi tindakan otomatis ke masalah pelatihan Anda, lihatBuat Tindakan pada Aturan Menggunakan Amazon CloudWatch dan AWS Lambda.

Menyelam Jauh ke dalam Data Menggunakan Pustaka SMDebug Klien

Anda dapat menggunakan SMDebug alat untuk mengakses dan menganalisis data pelatihan yang dikumpulkan oleh Debugger. create_trialKelas TrainingJob and memuat metrik dan tensor yang disimpan oleh Debugger. Kelas-kelas ini menyediakan metode kelas yang diperluas untuk menganalisis data secara real time atau setelah pelatihan selesai. SMDebugPustaka juga menyediakan alat visualisasi: menggabungkan garis waktu metrik kerangka kerja untuk menggabungkan profil yang berbeda, bagan garis dan peta panas untuk melacak pemanfaatan sistem, dan histogram untuk menemukan outlier durasi langkah. Untuk mempelajari lebih lanjut tentang alat SMDebug perpustakaan, lihatMenganalisis data menggunakan pustaka klien Python Debugger.

Memantau dan Menganalisis Metrik Job Pelatihan

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

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 (sepertiCPU,GPU, dan kemacetan 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. Tidak seperti CloudWatch metrik, yang mengakumulasi tingkat pemanfaatan sumber daya CPU dan GPU inti dan merata-ratanya di beberapa instance, Debugger melacak tingkat pemanfaatan setiap inti. Ini memungkinkan Anda mengidentifikasi penggunaan sumber daya perangkat keras yang tidak seimbang saat Anda meningkatkan skala ke cluster komputasi yang lebih besar. Untuk menjelajahi visualisasi Debugger, lihat Panduan Dasbor Wawasan SageMaker Debugger, Panduan Laporan Profil Debugger, dan Menganalisis Data Menggunakan Pustaka Klien. SMDebug

Pemanfaatan Sistem Pemantauan dan Deteksi Kemacetan

Dengan pemantauan Amazon SageMaker Debugger, Anda dapat mengukur pemanfaatan sumber daya sistem perangkat keras dari instans Amazon. EC2 Pemantauan tersedia untuk pekerjaan SageMaker pelatihan apa pun yang dibangun dengan estimator SageMaker kerangka kerja (TensorFlow, PyTorch, danMXNet) dan SageMaker estimator generik (algoritme SageMaker bawaan dan wadah khusus Anda sendiri). Aturan bawaan debugger untuk pemantauan mendeteksi masalah kemacetan sistem dan memberi tahu Anda saat mereka mendeteksi masalah kemacetan.

Untuk mempelajari cara mengaktifkan pemantauan sistem Debugger, lihat Konfigurasikan estimator dengan parameter untuk pembuatan profil dasar menggunakan modul Amazon SageMaker Debugger Python dan kemudian. Konfigurasikan pengaturan untuk pembuatan profil dasar pemanfaatan sumber daya sistem

Untuk daftar lengkap aturan bawaan yang tersedia untuk pemantauan, lihat Aturan bawaan debugger untuk membuat profil pemanfaatan sumber daya sistem perangkat keras (metrik sistem).

Operasi Kerangka Profiling

Dengan pembuatan profil Amazon SageMaker Debugger, Anda dapat membuat profil operasi kerangka pembelajaran mendalam. Anda dapat membuat profil pelatihan model Anda dengan wadah SageMaker TensorFlow pelatihan, wadah SageMaker PyTorch kerangka kerja, dan wadah pelatihan Anda sendiri. Dengan menggunakan fitur profiling Debugger, Anda dapat menelusuri operator dan fungsi Python yang dijalankan untuk melakukan pekerjaan pelatihan. Debugger mendukung pembuatan profil terperinci, pembuatan profil Python, profil pemuat data, dan pembuatan profil pelatihan terdistribusi Horovod. Anda dapat menggabungkan garis waktu yang diprofilkan untuk berkorelasi dengan kemacetan sistem. Aturan bawaan debugger untuk membuat profil masalah terkait operasi kerangka kerja jam tangan, termasuk waktu inisialisasi pelatihan yang berlebihan karena pengunduhan data sebelum pelatihan dimulai dan pencilan durasi langkah dalam loop pelatihan.

Untuk mempelajari cara mengkonfigurasi Debugger untuk pembuatan profil kerangka kerja, lihat Konfigurasikan estimator dengan parameter untuk pembuatan profil dasar menggunakan modul Amazon SageMaker Debugger Python dan kemudian. Konfigurasikan untuk pembuatan profil kerangka kerja

Untuk daftar lengkap aturan bawaan yang tersedia untuk pembuatan profil, lihat Aturan bawaan debugger untuk metrik kerangka kerja profil.

Tensor Keluaran Model Debugging

Debugging tersedia untuk kerangka pembelajaran mendalam menggunakan AWS Deep Learning Containers dan wadah SageMaker pelatihan. Untuk versi kerangka kerja yang didukung sepenuhnya (lihat versi diKerangka Kerja dan Algoritma yang Didukung), Debugger secara otomatis mendaftarkan kait untuk mengumpulkan tensor keluaran, dan Anda dapat langsung menjalankan skrip pelatihan Anda. Untuk versi dengan satu tanda bintang, Anda perlu mendaftarkan kait secara manual untuk mengumpulkan tensor. Debugger menyediakan koleksi tensor yang telah dikonfigurasi sebelumnya dengan nama umum yang dapat Anda gunakan di berbagai kerangka kerja. Jika Anda ingin menyesuaikan konfigurasi tensor keluaran, Anda juga dapat menggunakan DebuggerHookConfig API operasi CollectionConfig dan dan Amazon SageMaker SDK Python untuk mengonfigurasi koleksi tensor Anda sendiri. Aturan bawaan debugger untuk debugging menganalisis tensor keluaran dan mengidentifikasi masalah pengoptimalan model yang menghalangi model Anda meminimalkan fungsi kerugian. Misalnya, aturan mengidentifikasi overfitting, overtraining, loss not decreasing, exploding tensor, dan menghilang gradien.

Untuk mempelajari cara mengonfigurasi Debugger untuk men-debug tensor keluaran, lihat dan kemudian. Langkah 2: Luncurkan dan Debug Pekerjaan Pelatihan Menggunakan Python SageMaker SDK Konfigurasikan SageMaker Debugger untuk Menyimpan Tensor

Untuk daftar lengkap aturan bawaan yang tersedia untuk debugging, lihat Aturan bawaan debugger untuk men-debug data pelatihan model (tensor keluaran).