Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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
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 AI 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 sebelumnya dan SDKs 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.
-
Untuk instruksi lengkap dan contoh penggunaan aturan bawaan Debugger, lihat. Kode contoh aturan bawaan debugger
-
Untuk instruksi lengkap tentang penggunaan aturan bawaan dengan operasi SageMaker API tingkat rendah, lihatKonfigurasikan Debugger menggunakan API SageMaker .
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())]
Kode contoh berikut menunjukkan cara menentukan dan menyesuaikan cpu_threshold
parameter CPUBottleneck aturan dan threshold
parameter IOBottleneck aturan.
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: |
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 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: |
gpu_threshold_p95 |
Mendefinisikan ambang batas untuk kuantil 95 pemanfaatan GPU dalam persentase. Opsional Nilai yang valid: Integer Nilai default: |
gpu_memory_threshold_p95 |
Mendefinisikan ambang batas untuk kuantil ke-95 pemanfaatan memori GPU dalam persentase. Opsional Nilai yang valid: Integer Nilai default: |
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: |
window |
Ukuran jendela untuk menghitung kuantil. Opsional Nilai yang valid: Integer Nilai default: |
scan_interval_us |
Interval waktu file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
CPUBottleneck
CPUBottleneck Aturan ini 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: |
gpu_threshold |
Ambang batas yang mendefinisikan pemanfaatan GPU rendah. Opsional Nilai yang valid: Integer Nilai default: |
cpu_threshold |
Ambang batas yang mendefinisikan pemanfaatan CPU yang tinggi. Opsional Nilai yang valid: Integer Nilai default: |
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: |
scan_interval_us |
Interval waktu dengan mana file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
GPUMemoryMeningkat
Aturan GPUMemory Peningkatan membantu mendeteksi peningkatan besar dalam penggunaan memori pada GPUs.
Deskripsi Parameter untuk Aturan GPUMemory Peningkatan
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: |
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: |
window |
Ukuran jendela untuk menghitung kuantil. Opsional Nilai yang valid: Integer Nilai default: |
scan_interval_us |
Interval waktu file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
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: |
gpu_threshold |
Ambang batas yang menentukan kapan GPU dianggap kurang dimanfaatkan. Opsional Nilai yang valid: Integer Nilai default: |
io_threshold |
Ambang batas yang menentukan waktu tunggu IO yang tinggi. Opsional Nilai yang valid: Integer Nilai default: |
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: |
scan_interval_us |
Interval waktu file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
LoadBalancing
LoadBalancing Aturan ini membantu mendeteksi masalah dalam penyeimbangan beban kerja di antara beberapa masalah. GPUs
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: |
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: |
scan_interval_us |
Interval waktu file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
Rendah GPUUtilization
GPUUtilization Aturan Rendah 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 Rendah GPUUtilization
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: |
threshold_p5 |
Ambang batas untuk kuantil ke-5. Default adalah 10 persen. Opsional Nilai yang valid: Integer Nilai default: |
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: |
window |
Ukuran jendela untuk menghitung kuantil. Opsional Nilai yang valid: Integer Nilai default: |
scan_interval_us |
Interval waktu file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
OverallSystemUsage
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: |
MaxInitializationTime
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: |
scan_interval_us |
Interval waktu dengan mana file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |
OverallFrameworkMetrics
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: |
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: |
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: |
n_outliers |
Berapa banyak outlier yang harus diabaikan sebelum aturan mengembalikan True Opsional Nilai yang valid: Integer Nilai default: |
scan_interval_us |
Interval waktu dengan mana file timeline dipindai. Opsional Nilai yang valid: Integer Nilai default: |