Daftar aturan profiler bawaan Debugger - Amazon SageMaker

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

Daftar aturan profiler bawaan Debugger

Gunakan aturan profiler bawaan Debugger yang disediakan oleh Amazon SageMaker Debugger dan analisis metrik yang dikumpulkan saat melatih model Anda. Aturan bawaan Debugger memantau berbagai kondisi umum yang sangat penting untuk keberhasilan menjalankan pekerjaan pelatihan yang berkinerja. Anda dapat memanggil aturan profiler bawaan menggunakan Amazon SageMaker Python SDK atau operasi API tingkat rendah. SageMaker Tidak ada biaya tambahan untuk menggunakan aturan bawaan. Untuk informasi selengkapnya tentang penagihan, lihat halaman SageMaker Harga Amazon.

catatan

Jumlah maksimum aturan profiler bawaan yang dapat Anda lampirkan ke pekerjaan pelatihan adalah 20. SageMaker Debugger sepenuhnya mengelola aturan bawaan dan menganalisis pekerjaan pelatihan Anda secara serempak.

penting

Untuk menggunakan fitur Debugger baru, Anda perlu memutakhirkan SageMaker Python SDK dan pustaka klien SMDebug. Di kernel IPython, notebook Jupyter, JupyterLab atau lingkungan Anda, jalankan kode berikut untuk menginstal versi terbaru dari pustaka dan restart kernel.

import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)

Aturan profiler

Aturan berikut adalah aturan bawaan Debugger yang dapat dipanggil menggunakan classmethod. ProfilerRule.sagemaker

Aturan bawaan debugger untuk membuat laporan pembuatan profil
Lingkup Validitas Aturan bawaan
Laporan Profil untuk setiap pekerjaan SageMaker pelatihan
Aturan bawaan debugger untuk membuat profil pemanfaatan sumber daya sistem perangkat keras (metrik sistem)
Lingkup Validitas Aturan bawaan
Aturan pemantauan sistem generik untuk pekerjaan SageMaker pelatihan apa pun
Aturan bawaan debugger untuk membuat profil metrik kerangka kerja
Lingkup Validitas Aturan bawaan
Aturan pembuatan profil untuk kerangka pembelajaran mendalam (TensorFlow dan) PyTorch
Awas

Untuk mendukung Amazon SageMaker Profiler, SageMaker Debugger menghentikan fitur pembuatan profil kerangka kerja mulai dari 2.11 dan 2.0. TensorFlow PyTorch Anda masih dapat menggunakan fitur ini di versi kerangka kerja dan SDK sebelumnya sebagai berikut.

  • SageMaker Python SDK <= v2.130.0

  • PyTorch >= v1.6.0, < v2.0

  • TensorFlow >= v2.3.1, < v2.11

Lihat juga 16 Maret 2023.

Untuk menggunakan aturan bawaan dengan nilai parameter default - gunakan format konfigurasi berikut:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_1()), ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_2()), ... ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_n()) ]

Untuk menggunakan aturan bawaan dengan menyesuaikan nilai parameter — gunakan format konfigurasi berikut:

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInRuleName(), rule_parameters={ "key": "value" } ) ]

Untuk menemukan kunci yang tersedia untuk rule_parameters parameter, lihat tabel deskripsi parameter.

Contoh kode konfigurasi aturan disediakan untuk setiap aturan bawaan di bawah tabel deskripsi parameter.

ProfilerReport

ProfilerReport Aturan tersebut memanggil semua aturan bawaan untuk pemantauan dan pembuatan profil. Ini membuat laporan profil dan pembaruan saat aturan individual dipicu. Anda dapat mengunduh laporan pembuatan profil yang komprehensif saat pekerjaan pelatihan sedang berjalan atau setelah pekerjaan pelatihan selesai. Anda dapat menyesuaikan nilai parameter aturan untuk menyesuaikan sensitivitas aturan pemantauan dan pembuatan profil bawaan. Kode contoh berikut menunjukkan format dasar untuk menyesuaikan parameter aturan bawaan melalui ProfilerReport aturan.

rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport( <BuiltInRuleName>_<parameter_name> = value ) ) ]

Jika Anda memicu ProfilerReport aturan ini tanpa parameter yang disesuaikan seperti yang ditunjukkan dalam kode contoh berikut, maka aturan akan memicu semua ProfilerReport aturan bawaan untuk memantau dan membuat profil dengan nilai parameter defaultnya.

rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]

Contoh kode berikut menunjukkan cara menentukan dan menyesuaikan parameter aturan CPUBottleNeck dan cpu_threshold parameter aturan IOBottleNeck. threshold

rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport( CPUBottleneck_cpu_threshold = 90, IOBottleneck_threshold = 90 ) ) ]

Untuk menjelajahi apa yang ada dalam laporan profiler, lihat Laporan Profiling SageMaker Debugger. Selain itu, karena aturan ini mengaktifkan semua aturan pembuatan profil, Anda juga dapat memeriksa status analisis aturan menggunakan UI SageMaker Debugger di Eksperimen Studio. SageMaker

Deskripsi Parameter untuk Aturan OverallSystemUsage
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

<BuiltInRuleName>_<parameter_name>

Parameter yang dapat disesuaikan untuk menyesuaikan ambang batas aturan pemantauan dan pembuatan profil bawaan lainnya.

Opsional

Nilai default: None

BatchSize

BatchSize Aturan ini membantu mendeteksi jika GPU kurang dimanfaatkan karena ukuran batch yang kecil. Untuk mendeteksi masalah ini, aturan ini memantau pemanfaatan CPU rata-rata, pemanfaatan GPU, dan pemanfaatan memori GPU. Jika pemanfaatan pada CPU, GPU, dan memori GPU rata-rata rendah, ini mungkin menunjukkan bahwa pekerjaan pelatihan dapat berjalan pada jenis instance yang lebih kecil atau dapat berjalan dengan ukuran batch yang lebih besar. Analisis ini tidak berfungsi untuk kerangka kerja yang mengalokasikan memori secara berlebihan. Namun, meningkatkan ukuran batch dapat menyebabkan kemacetan pemrosesan atau pemuatan data karena lebih banyak waktu pra-pemrosesan data diperlukan di setiap iterasi.

Deskripsi Parameter untuk Aturan BatchSize
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

cpu_threshold_p95

Mendefinisikan ambang batas untuk kuantil ke-95 pemanfaatan CPU dalam persentase.

Opsional

Nilai yang valid: Integer

Nilai default: 70 (dalam persentase)

gpu_threshold_p95

Mendefinisikan ambang batas untuk kuantil 95 pemanfaatan GPU dalam persentase.

Opsional

Nilai yang valid: Integer

Nilai default: 70 (dalam persentase)

gpu_memory_threshold_p95

Mendefinisikan ambang batas untuk kuantil ke-95 pemanfaatan memori GPU dalam persentase.

Opsional

Nilai yang valid: Integer

Nilai default: 70 (dalam persentase)

patience

Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 100

window

Ukuran jendela untuk menghitung kuantil.

Opsional

Nilai yang valid: Integer

Nilai default: 500

scan_interval_us

Interval waktu file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

CPUBottleneck

Aturan CPUBottleNeck membantu mendeteksi jika GPU kurang dimanfaatkan karena kemacetan CPU. Rule mengembalikan True jika jumlah bottleneck CPU melebihi ambang batas yang telah ditentukan.

Deskripsi Parameter untuk Aturan CPUBottleNeck
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

threshold

Mendefinisikan ambang batas untuk proporsi waktu yang terhambat dengan total waktu pelatihan. Jika proporsi melebihi persentase yang ditentukan ke parameter ambang batas, aturan akan mengalihkan status aturan ke Benar.

Opsional

Nilai yang valid: Integer

Nilai default: 50 (dalam persentase)

gpu_threshold

Ambang batas yang mendefinisikan pemanfaatan GPU rendah.

Opsional

Nilai yang valid: Integer

Nilai default: 10 (dalam persentase)

cpu_threshold

Ambang batas yang mendefinisikan pemanfaatan CPU yang tinggi.

Opsional

Nilai yang valid: Integer

Nilai default: 90 (dalam persentase)

patience

Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 100

scan_interval_us

Interval waktu dengan mana file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

GPU MemoryIncrease

MemoryIncrease Aturan GPU membantu mendeteksi peningkatan besar dalam penggunaan memori pada GPU.

Deskripsi Parameter untuk Aturan GPU MemoryIncrease
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

increase

Mendefinisikan ambang batas untuk peningkatan memori absolut.

Opsional

Nilai yang valid: Integer

Nilai default: 10 (dalam persentase)

patience

Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 100

window

Ukuran jendela untuk menghitung kuantil.

Opsional

Nilai yang valid: Integer

Nilai default: 500

scan_interval_us

Interval waktu file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

IoBottleneck

Aturan ini membantu mendeteksi apakah GPU kurang dimanfaatkan karena kemacetan data IO. Rule mengembalikan True jika jumlah bottleneck IO melebihi ambang batas yang telah ditentukan.

Deskripsi Parameter untuk Aturan IoBottleNeck
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

threshold Mendefinisikan ambang batas ketika Aturan untuk mengembalikan Benar.

Opsional

Nilai yang valid: Integer

Nilai default: 50 (dalam persentase)

gpu_threshold

Ambang batas yang menentukan kapan GPU dianggap kurang dimanfaatkan.

Opsional

Nilai yang valid: Integer

Nilai default: 70 (dalam persentase)

io_threshold Ambang batas yang menentukan waktu tunggu IO yang tinggi.

Opsional

Nilai yang valid: Integer

Nilai default: 50 (dalam persentase)

patience Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 1000

scan_interval_us

Interval waktu file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

LoadBalancing

LoadBalancing Aturan ini membantu mendeteksi masalah dalam penyeimbangan beban kerja di antara beberapa GPU.

Deskripsi Parameter untuk Aturan LoadBalancing
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

threshold

Mendefinisikan persentase beban kerja.

Opsional

Nilai yang valid: Integer

Nilai default: 0.5 (proporsi tanpa unit)

patience

Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 10

scan_interval_us

Interval waktu file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

LowGPUPemanfaatan

Aturan LowGPUUutilization membantu mendeteksi apakah pemanfaatan GPU rendah atau mengalami fluktuasi. Ini diperiksa untuk setiap GPU pada setiap pekerja. Aturan mengembalikan True jika kuantil ke-95 di bawah threshold_p95 yang menunjukkan kurang dimanfaatkan. Aturan mengembalikan true jika kuantil ke-95 di atas threshold_p95 dan kuantil ke-5 di bawah threshold_p5 yang menunjukkan fluktuasi.

Deskripsi Parameter untuk Aturan LowGPUUtilization
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

threshold_p95

Ambang batas untuk kuantil ke-95 di bawah mana GPU dianggap kurang dimanfaatkan.

Opsional

Nilai yang valid: Integer

Nilai default: 70 (dalam persentase)

threshold_p5 Ambang batas untuk kuantil ke-5. Default adalah 10 persen.

Opsional

Nilai yang valid: Integer

Nilai default: 10 (dalam persentase)

patience

Mendefinisikan jumlah titik data yang harus dilewati sampai aturan memulai evaluasi. Beberapa langkah pertama pekerjaan pelatihan biasanya menunjukkan volume proses data yang tinggi, jadi pertahankan aturan tetap sabar dan cegah agar tidak dipanggil terlalu cepat dengan sejumlah data profil tertentu yang Anda tentukan dengan parameter ini.

Opsional

Nilai yang valid: Integer

Nilai default: 1000

window

Ukuran jendela untuk menghitung kuantil.

Opsional

Nilai yang valid: Integer

Nilai default: 500

scan_interval_us

Interval waktu file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

OverallSystemPemakaian

OverallSystemUsage Aturan ini mengukur penggunaan sistem secara keseluruhan per node pekerja. Aturan saat ini hanya mengumpulkan nilai per node dan menghitung persentilnya.

Deskripsi Parameter untuk Aturan OverallSystemUsage
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

scan_interval_us

Interval waktu untuk memindai file timeline.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

MaxInitializationWaktu

MaxInitializationTime Aturan membantu mendeteksi jika inisialisasi pelatihan memakan terlalu banyak waktu. Aturan menunggu sampai langkah pertama tersedia.

Deskripsi Parameter untuk Aturan MaxInitializationTime
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

threshold

Mendefinisikan ambang batas dalam hitungan menit untuk menunggu langkah pertama tersedia.

Opsional

Nilai yang valid: Integer

Nilai default: 20 (dalam hitungan menit)

scan_interval_us

Interval waktu dengan mana file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

OverallFrameworkMetrik

OverallFrameworkMetrics Aturan ini merangkum waktu yang dihabiskan untuk metrik kerangka kerja, seperti pass maju dan mundur, dan pemuatan data.

Deskripsi Parameter untuk Aturan OverallFrameworkMetrics
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

scan_interval_us

Interval waktu untuk memindai file timeline.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)

StepOutlier

StepOutlier Aturan ini membantu mendeteksi outlier dalam durasi langkah. Aturan ini kembali True jika ada outlier dengan durasi langkah lebih besar dari stddev sigma dari seluruh durasi langkah dalam rentang waktu.

Deskripsi Parameter untuk Aturan StepOutlier
Nama Parameter Deskripsi
base_trial

Nama pekerjaan pelatihan uji coba dasar. Parameter ini secara otomatis diatur ke pekerjaan pelatihan saat ini oleh Amazon SageMaker Debugger.

Diperlukan

Nilai valid: String

stddev

Mendefinisikan faktor yang digunakan untuk mengalikan standar deviasi. Misalnya, aturan dipanggil secara default ketika durasi langkah lebih besar atau lebih kecil dari 5 kali standar deviasi.

Opsional

Nilai yang valid: Integer

Nilai default: 5 (dalam hitungan menit)

mode Mode di mana langkah-langkah telah disimpan dan Aturan mana yang harus dijalankan. Per aturan default akan berjalan pada langkah-langkah dari fase EVAL dan TRAIN

Opsional

Nilai yang valid: Integer

Nilai default: 5 (dalam hitungan menit)

n_outliers Berapa banyak outlier yang harus diabaikan sebelum aturan mengembalikan True

Opsional

Nilai yang valid: Integer

Nilai default: 10

scan_interval_us

Interval waktu dengan mana file timeline dipindai.

Opsional

Nilai yang valid: Integer

Nilai default: 60000000 (dalam mikrodetik)