SageMaker Laporan interaktif debugger - Amazon SageMaker

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

SageMaker Laporan interaktif debugger

Terima laporan pembuatan profil yang dibuat secara otomatis oleh Debugger. Laporan Debugger memberikan wawasan tentang pekerjaan pelatihan Anda dan menyarankan rekomendasi untuk meningkatkan kinerja model Anda. Tangkapan layar berikut menunjukkan kolase laporan profil Debugger. Untuk mempelajari selengkapnya, lihat SageMaker Laporan pembuatan profil debugger.

catatan

Anda dapat mengunduh laporan Debugger saat pekerjaan pelatihan Anda berjalan atau setelah pekerjaan selesai. Selama pelatihan, Debugger secara bersamaan memperbarui laporan yang mencerminkan status evaluasi aturan saat ini. Anda dapat mengunduh laporan Debugger lengkap hanya setelah pekerjaan pelatihan selesai.

penting

Dalam laporan, plot dan dan rekomendasi disediakan untuk tujuan informasi dan tidak definitif. Anda bertanggung jawab untuk membuat penilaian independen Anda sendiri atas informasi tersebut.

Contoh laporan ringkasan pekerjaan pelatihan Debugger

SageMaker Laporan pembuatan profil debugger

Untuk pekerjaan SageMaker pelatihan apa pun, aturan SageMaker Debugger memanggil semua ProfilerReport aturan pemantauan dan pembuatan profil dan menggabungkan analisis aturan ke dalam laporan yang komprehensif. Mengikuti panduan ini, unduh laporan menggunakan Amazon SageMaker Python SDK atau konsol S3, dan pelajari apa yang dapat Anda tafsirkan dari hasil pembuatan profil.

penting

Dalam laporan tersebut, plot dan dan rekomendasi disediakan untuk tujuan informasi dan tidak definitif. Anda bertanggung jawab untuk membuat penilaian independen Anda sendiri atas informasi tersebut.

Unduh laporan pembuatan profil SageMaker Debugger

Unduh laporan pembuatan profil SageMaker Debugger saat tugas pelatihan Anda berjalan atau setelah pekerjaan selesai menggunakan Amazon SageMaker Python SDK dan (CLI). AWS Command Line Interface

catatan

Untuk mendapatkan laporan profiling yang dihasilkan oleh SageMaker Debugger, Anda harus menggunakan ProfilerReportaturan bawaan yang ditawarkan oleh Debugger. SageMaker Untuk mengaktifkan aturan dengan tugas latihan Anda, lihat Mengkonfigurasi Aturan Profiler Bawaan.

Tip

Anda juga dapat mengunduh laporan dengan satu klik di dasbor wawasan SageMaker Studio Debugger. Ini tidak memerlukan skrip tambahan untuk mengunduh laporan. Untuk mengetahui cara mengunduh laporan dari Studio, lihatBuka dasbor Amazon SageMaker Debugger Insights.

Download using SageMaker Python SDK and AWS CLI
  1. Periksa URI basis output S3 default pekerjaan saat ini.

    estimator.output_path
  2. Periksa nama pekerjaan saat ini.

    estimator.latest_training_job.job_name
  3. Laporan pembuatan profil Debugger disimpan di bawah. <default-s3-output-base-uri>/<training-job-name>/rule-output Konfigurasikan jalur keluaran aturan sebagai berikut:

    rule_output_path = estimator.output_path + estimator.latest_training_job.job_name + "/rule-output"
  4. Untuk memeriksa apakah laporan dibuat, daftar direktori dan file secara rekursif di bawah rule_output_path menggunakan aws s3 ls dengan opsi. --recursive

    ! aws s3 ls {rule_output_path} --recursive

    Ini akan mengembalikan daftar lengkap file di bawah folder yang dibuat otomatis yang dinamai sebagaiProfilerReport-1234567890. Nama folder adalah kombinasi string: ProfilerReport dan tag 10 digit unik berdasarkan stempel waktu Unix saat aturan dimulai. ProfilerReport

    Contoh output aturan

    profiler-report.htmlIni adalah laporan profil yang dibuat secara otomatis oleh Debugger. File yang tersisa adalah komponen analisis aturan bawaan yang disimpan di JSON dan notebook Jupyter yang digunakan untuk menggabungkannya ke dalam laporan.

  5. Unduh file secara rekursif menggunakanaws s3 cp. Perintah berikut menyimpan semua file output aturan ke ProfilerReport-1234567890 folder di bawah direktori kerja saat ini.

    ! aws s3 cp {rule_output_path} ./ --recursive
    Tip

    Jika menggunakan server notebook Jupyter, jalankan !pwd untuk memeriksa ulang direktori kerja saat ini.

  6. Di bawah /ProfilerReport-1234567890/profiler-output direktori, bukaprofiler-report.html. Jika menggunakan JupyterLab, pilih Trust HTML untuk melihat laporan pembuatan profil Debugger yang dibuat secara otomatis.

    Contoh output aturan
  7. Buka profiler-report.ipynb file untuk menjelajahi bagaimana laporan dibuat. Anda juga dapat menyesuaikan dan memperluas laporan pembuatan profil menggunakan file notebook Jupyter.

Download using Amazon S3 Console
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Cari ember S3 dasar. Misalnya, jika Anda belum menentukan nama pekerjaan dasar apa pun, nama bucket S3 dasar harus dalam format berikut:sagemaker-<region>-111122223333. Cari bucket S3 dasar melalui bidang Find bucket by name.

    Contoh untuk aturan output S3 bucket URI
  3. Di bucket S3 dasar, cari nama pekerjaan pelatihan dengan menentukan awalan nama pekerjaan Anda ke dalam kolom Input Find objects by prefix. Pilih nama pekerjaan pelatihan.

    Contoh untuk aturan output S3 bucket URI
  4. Dalam bucket S3 pekerjaan pelatihan, harus ada tiga subfolder untuk data pelatihan yang dikumpulkan oleh Debugger: debug-output/, profiler-output/, dan rule-output/. Pilih aturan-output/.

    Contoh untuk aturan output S3 bucket URI
  5. Di folder aturan-output/, pilih ProfilerReport -1234567890, dan pilih folder profiler-output/. Folder profiler-output/ berisi profiler-report.html (laporan profil yang dibuat secara otomatis dalam html), profiler-report.ipynb (buku catatan Jupyter dengan skrip yang digunakan untuk membuat laporan), dan folder profiler-report/ (berisi file JSON analisis aturan yang digunakan sebagai komponen laporan).

  6. Pilih file profiler-report.html, pilih Actions, dan Download.

    Contoh untuk aturan output S3 bucket URI
  7. Buka file profiler-report.html yang diunduh di browser web.

catatan

Jika Anda memulai tugas latihan tanpa mengonfigurasi parameter khusus Debugger, Debugger akan menghasilkan laporan hanya berdasarkan aturan pemantauan sistem karena parameter Debugger tidak dikonfigurasi untuk menyimpan metrik kerangka kerja. Untuk mengaktifkan profil metrik kerangka kerja dan menerima laporan profil Debugger yang diperluas, konfigurasikan profiler_config parameter saat membuat atau memperbarui estimator. SageMaker

Untuk mempelajari cara mengkonfigurasi profiler_config parameter sebelum memulai pekerjaan pelatihan, lihatKonfigurasikan untuk pembuatan profil kerangka kerja.

Untuk memperbarui tugas pelatihan saat ini dan mengaktifkan profil metrik kerangka kerja, lihat Memperbarui Konfigurasi Profil Kerangka Debugger.

Panduan laporan pembuatan profil debugger

Bagian ini memandu Anda melalui bagian laporan profiling Debugger demi bagian. Laporan pembuatan profil dibuat berdasarkan aturan bawaan untuk pemantauan dan pembuatan profil. Laporan menunjukkan plot hasil hanya untuk aturan yang menemukan masalah.

penting

Dalam laporan tersebut, plot dan dan rekomendasi disediakan untuk tujuan informasi dan tidak definitif. Anda bertanggung jawab untuk membuat penilaian independen Anda sendiri atas informasi tersebut.

Ringkasan pekerjaan pelatihan

Di awal laporan, Debugger memberikan ringkasan pekerjaan pelatihan Anda. Di bagian ini, Anda dapat meninjau durasi waktu dan stempel waktu pada fase pelatihan yang berbeda.

Contoh laporan pembuatan profil Debugger

Tabel ringkasan berisi informasi berikut:

  • start_time — Waktu yang tepat ketika pekerjaan pelatihan dimulai.

  • end_time — Waktu yang tepat ketika pekerjaan pelatihan selesai.

  • job_duration_in_seconds — Total waktu pelatihan dari start_time hingga end_time.

  • training_loop_start — Waktu yang tepat ketika langkah pertama dari zaman pertama telah dimulai.

  • training_loop_end — Waktu yang tepat ketika langkah terakhir dari zaman terakhir telah selesai.

  • training_loop_duration_in_seconds — Total waktu antara waktu mulai loop pelatihan dan waktu akhir loop pelatihan.

  • initialization_in_seconds - Waktu yang dihabiskan untuk menginisialisasi pekerjaan pelatihan. Fase inisialisasi mencakup periode dari start_time ke waktu training_loop_start. Waktu inisialisasi dihabiskan untuk menyusun skrip pelatihan, memulai skrip pelatihan, membuat dan menginisialisasi model, memulai instans EC2, dan mengunduh data pelatihan.

  • finalization_in_seconds — Waktu yang dihabiskan untuk menyelesaikan pekerjaan pelatihan, seperti menyelesaikan pelatihan model, memperbarui artefak model, dan menutup instans EC2. Fase finalisasi mencakup periode dari waktu training_loop_end hingga end_time.

  • inisialisasi (%) — Persentase waktu yang dihabiskan untuk inisialisasi atas total job_duration_in_seconds.

  • loop pelatihan (%) — Persentase waktu yang dihabiskan untuk loop pelatihan di atas total job_duration_in_seconds.

  • finalisasi (%) — Persentase waktu yang dihabiskan untuk finalisasi atas total job_duration_in_seconds.

Statistik penggunaan sistem

Di bagian ini, Anda dapat melihat ikhtisar statistik pemanfaatan sistem.

Contoh laporan pembuatan profil Debugger

Laporan pembuatan profil Debugger mencakup informasi berikut:

  • node — Daftar nama node. Jika menggunakan pelatihan terdistribusi pada multi node (beberapa instance EC2), nama node dalam format. algo-n

  • metrik — Metrik sistem yang dikumpulkan oleh Debugger: CPU, GPU, memori CPU, memori GPU, I/O, dan metrik Jaringan.

  • unit — Unit metrik sistem.

  • max — Nilai maksimum setiap metrik sistem.

  • p99 — Persentil ke-99 dari setiap pemanfaatan sistem.

  • p95 — Persentil ke-95 dari setiap pemanfaatan sistem.

  • p50 — Persentil ke-50 (median) dari setiap pemanfaatan sistem.

  • min — Nilai minimum setiap metrik sistem.

Ringkasan metrik kerangka kerja

Pada bagian ini, diagram lingkaran berikut menunjukkan rincian operasi kerangka kerja pada CPU dan GPU.

Contoh laporan pembuatan profil Debugger

Setiap diagram lingkaran menganalisis metrik kerangka kerja yang dikumpulkan dalam berbagai aspek sebagai berikut:

  • Rasio antara fase TRAIN/EVAL dan lainnya — Menunjukkan rasio antara durasi waktu yang dihabiskan untuk fase pelatihan yang berbeda.

  • Rasio antara pass maju dan mundur — Menunjukkan rasio antara durasi waktu yang dihabiskan untuk pass maju dan mundur dalam loop pelatihan.

  • Rasio antara operator CPU/GPU - Menunjukkan rasio antara waktu yang dihabiskan pada operator yang berjalan pada CPU atau GPU, seperti operator convolutional.

  • Metrik umum yang direkam dalam kerangka kerja — Menunjukkan rasio antara waktu yang dihabiskan untuk metrik kerangka kerja utama, seperti pemuatan data, pass maju dan mundur.

Ikhtisar: Operator CPU

Bagian ini memberikan informasi tentang operator CPU secara rinci. Tabel menunjukkan persentase waktu dan waktu kumulatif absolut yang dihabiskan untuk operator CPU yang paling sering disebut.

Contoh laporan pembuatan profil Debugger
Ikhtisar: Operator GPU

Bagian ini memberikan informasi tentang operator GPU secara rinci. Tabel menunjukkan persentase waktu dan waktu kumulatif absolut yang dihabiskan untuk operator GPU yang paling sering disebut.

Contoh laporan pembuatan profil Debugger

Ringkasan aturan

Pada bagian ini, Debugger menggabungkan semua hasil evaluasi aturan, analisis, deskripsi aturan, dan saran.

Contoh laporan pembuatan profil Debugger

Menganalisis loop pelatihan — durasi langkah

Di bagian ini, Anda dapat menemukan statistik rinci durasi langkah pada setiap inti GPU dari setiap node. Debugger mengevaluasi nilai rata-rata, maksimum, p99, p95, p50, dan minimum durasi langkah, dan mengevaluasi pencilan langkah. Histogram berikut menunjukkan durasi langkah yang ditangkap pada node pekerja dan GPU yang berbeda. Anda dapat mengaktifkan atau menonaktifkan histogram setiap pekerja dengan memilih legenda di sisi kanan. Anda dapat memeriksa apakah ada GPU tertentu yang menyebabkan pencilan durasi langkah.

Contoh laporan pembuatan profil Debugger

Analisis pemanfaatan GPU

Bagian ini menunjukkan statistik rinci tentang pemanfaatan inti GPU berdasarkan aturan LowGPUUtilization. Ini juga merangkum statistik pemanfaatan GPU, mean, p95, dan p5 untuk menentukan apakah pekerjaan pelatihan kurang memanfaatkan GPU.

Ukuran batch

Bagian ini menunjukkan statistik terperinci dari total pemanfaatan CPU, pemanfaatan GPU individu, dan jejak memori GPU. BatchSize Aturan menentukan apakah Anda perlu mengubah ukuran batch untuk memanfaatkan GPU dengan lebih baik. Anda dapat memeriksa apakah ukuran batch terlalu kecil sehingga kurang dimanfaatkan atau terlalu besar menyebabkan terlalu banyak pemanfaatan dan masalah memori. Dalam plot, kotak menunjukkan rentang persentil p25 dan p75 (masing-masing diisi dengan ungu tua dan kuning cerah) dari median (p50), dan bilah kesalahan menunjukkan persentil ke-5 untuk batas bawah dan persentil ke-95 untuk batas atas.

Contoh laporan pembuatan profil Debugger

Kemacetan CPU

Di bagian ini, Anda dapat menelusuri kemacetan CPU yang terdeteksi oleh aturan CPUBottleNeck dari pekerjaan pelatihan Anda. Aturan memeriksa apakah pemanfaatan CPU di atas cpu_threshold (90% secara default) dan juga jika pemanfaatan GPU di bawah gpu_threshold (10% secara default).

Contoh laporan pembuatan profil Debugger

Diagram lingkaran menunjukkan informasi berikut:

  • Penggunaan GPU rendah yang disebabkan oleh kemacetan CPU - Menunjukkan rasio titik data antara titik dengan pemanfaatan GPU di atas dan di bawah ambang batas dan yang sesuai dengan kriteria bottleneck CPU.

  • Rasio antara fase TRAIN/EVAL dan lainnya — Menunjukkan rasio antara durasi waktu yang dihabiskan untuk fase pelatihan yang berbeda.

  • Rasio antara pass maju dan mundur — Menunjukkan rasio antara durasi waktu yang dihabiskan untuk pass maju dan mundur dalam loop pelatihan.

  • Rasio antara operator CPU/GPU - Menunjukkan rasio antara durasi waktu yang dihabiskan untuk GPU dan CPU oleh operator Python, seperti proses pemuat data dan operator pass maju dan mundur.

  • Metrik umum yang direkam dalam kerangka kerja — Menunjukkan metrik kerangka kerja utama dan rasio antara durasi waktu yang dihabiskan untuk metrik.

Kemacetan I/O

Di bagian ini, Anda dapat menemukan ringkasan kemacetan I/O. Aturan mengevaluasi waktu tunggu I/O dan tingkat pemanfaatan GPU dan monitor jika waktu yang dihabiskan untuk permintaan I/O melebihi persentase ambang batas dari total waktu pelatihan. Ini mungkin menunjukkan kemacetan I/O di mana GPU menunggu data tiba dari penyimpanan.

Load balancing dalam pelatihan multi-GPU

Di bagian ini, Anda dapat mengidentifikasi masalah penyeimbangan beban kerja di seluruh GPU.

Contoh laporan pembuatan profil Debugger

Analisis memori GPU

Di bagian ini, Anda dapat menganalisis pemanfaatan memori GPU yang dikumpulkan oleh aturan MemoryIncrease GPU. Dalam plot, kotak menunjukkan rentang persentil p25 dan p75 (masing-masing diisi dengan ungu tua dan kuning cerah) dari median (p50), dan bilah kesalahan menunjukkan persentil ke-5 untuk batas bawah dan persentil ke-95 untuk batas atas.

Contoh laporan pembuatan profil Debugger