Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemantauan sistem default dan pembuatan profil kerangka kerja yang disesuaikan dengan opsi pembuatan profil yang berbeda
Bagian ini memberikan informasi tentang kelas konfigurasi profiling yang didukung, serta konfigurasi contoh. Anda dapat menggunakan kelas konfigurasi profiling berikut untuk mengelola opsi pembuatan profil kerangka kerja:
-
DetailedProfilingConfig
— Tentukan langkah target atau rentang waktu untuk operasi kerangka profil menggunakan profiler kerangka kerja asli (profiler dan TensorFlow PyTorch profiler). Misalnya, jika menggunakan TensorFlow, kait Debugger memungkinkan TensorFlow profiler untuk mengumpulkan TensorFlow metrik kerangka kerja khusus. Pembuatan profil terperinci memungkinkan Anda untuk membuat profil semua operator kerangka kerja pada tahap awal (sebelum langkah pertama), dalam beberapa langkah, dan di antara langkah-langkah pekerjaan pelatihan. catatan
Profil terperinci mungkin secara signifikan meningkatkan konsumsi GPU memori. Kami tidak menyarankan untuk mengaktifkan profil terperinci selama lebih dari beberapa langkah.
-
DataloaderProfilingConfig
— Tentukan langkah target atau rentang waktu untuk membuat profil proses pemuat data kerangka pembelajaran mendalam. Debugger mengumpulkan setiap peristiwa pemuat data dari kerangka kerja. catatan
Pembuatan profil pemuat data dapat menurunkan kinerja pelatihan sambil mengumpulkan informasi dari pemuat data. Kami tidak menyarankan untuk mengaktifkan profil pemuat data selama lebih dari beberapa langkah.
Debugger telah dikonfigurasi sebelumnya untuk membuat anotasi proses pemuat data hanya untuk wadah pembelajaran mendalam. AWS Debugger tidak dapat memprofilkan proses pemuat data dari wadah pelatihan khusus atau eksternal lainnya.
-
PythonProfilingConfig
— Tentukan langkah target atau rentang waktu untuk memprofilkan fungsi Python. Anda juga dapat memilih antara dua profiler Python: cProfile dan Pyinstrument. -
cProfile— Profiler Python standar. cProfile mengumpulkan informasi untuk setiap operator Python yang dipanggil selama pelatihan. DengancProfile, Debugger menghemat waktu kumulatif dan anotasi untuk setiap panggilan fungsi, memberikan detail lengkap tentang fungsi Python. Dalam pembelajaran mendalam, misalnya, fungsi yang paling sering disebut adalah filter convolutional dan operator backward pass, dan cProfile profil masing-masing. Untuk cProfile opsi ini, Anda dapat memilih opsi pengatur waktu lebih lanjut: total CPU waktu, waktu, dan CPU waktu mati. Meskipun Anda dapat membuat profil setiap panggilan fungsi yang dijalankan pada prosesor (keduanya CPU danGPU) CPU tepat waktu, Anda juga dapat mengidentifikasi I/O atau kemacetan jaringan dengan opsi waktu mati. CPU Defaultnya adalah total waktu, dan profil Debugger keduanya CPU dan waktu mati. CPU DengancProfile, Anda dapat menelusuri ke setiap fungsi saat menganalisis data profil.
-
Pyinstrument — Pyinstrument adalah profiler Python overhead rendah yang bekerja berdasarkan pengambilan sampel. Dengan opsi Pyinstrument, Debugger mengambil sampel pembuatan profil peristiwa setiap milidetik. Karena Pyinstrument mengukur waktu jam dinding yang telah berlalu alih-alih CPU waktu, opsi Pyinstrument dapat menjadi pilihan yang lebih baik daripada cProfile opsi untuk mengurangi kebisingan profil (menyaring panggilan fungsi yang tidak relevan yang secara kumulatif cepat) dan menangkap operator yang sebenarnya komputasi intensif (kumulatif lambat) untuk melatih model Anda. Dengan Pyinstrument, Anda dapat melihat pohon panggilan fungsi dan lebih memahami struktur dan akar penyebab kelambatan.
catatan
Mengaktifkan pembuatan profil Python dapat memperlambat waktu pelatihan secara keseluruhan. cProfile profil operator Python yang paling sering disebut di setiap panggilan, sehingga waktu pemrosesan pada pembuatan profil meningkat sehubungan dengan jumlah panggilan. Untuk Pyinstrument, waktu pembuatan profil kumulatif meningkat sehubungan dengan waktu karena mekanisme pengambilan sampelnya.
-
Contoh konfigurasi berikut menunjukkan struktur lengkap saat Anda menggunakan opsi profil yang berbeda dengan nilai yang ditentukan.
import time from sagemaker.debugger import (ProfilerConfig, FrameworkProfile, DetailedProfilingConfig, DataloaderProfilingConfig, PythonProfilingConfig, PythonProfiler, cProfileTimer) profiler_config=ProfilerConfig( system_monitor_interval_millis=
500
, framework_profile_params=FrameworkProfile( detailed_profiling_config=DetailedProfilingConfig( start_step=5
, num_steps=1
), dataloader_profiling_config=DataloaderProfilingConfig( start_step=7
, num_steps=1
), python_profiling_config=PythonProfilingConfig( start_step=9
, num_steps=1
, python_profiler=PythonProfiler.CPROFILE
, cprofile_timer=cProfileTimer.TOTAL_TIME
) ) )
Untuk informasi selengkapnya tentang opsi pembuatan profil yang tersedia DetailedProfilingConfig