Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jelajahi data keluaran profil yang divisualisasikan di UI Pro SageMaker filer
catatan
Pemberitahuan akhir dukungan: Pada 30 Juni 2027, dukungan untuk Amazon SageMaker Profiler AWS akan berakhir. Setelah 30 Juni 2027, Anda tidak akan lagi dapat mengakses konsol Profiler atau sumber daya Profiler. Untuk informasi selengkapnya, lihat Perubahan ketersediaan profiler.
Bagian ini membahas UI SageMaker Profiler dan memberikan tips tentang cara menggunakan dan mendapatkan wawasan darinya.
Memuat profil
Saat Anda membuka UI SageMaker Profiler, halaman Load profile terbuka. Untuk memuat dan menghasilkan Dasbor dan Timeline, ikuti prosedur berikut.
Untuk memuat profil pekerjaan pelatihan
-
Dari bagian Daftar pekerjaan pelatihan, gunakan kotak centang untuk memilih pekerjaan pelatihan yang ingin Anda muat profilnya.
-
Pilih Muat. Nama pekerjaan akan muncul di bagian Profil yang dimuat di bagian atas.
-
Pilih tombol radio di sebelah kiri nama Pekerjaan untuk menghasilkan Das bor dan Timeline. Perhatikan bahwa ketika Anda memilih tombol radio, UI secara otomatis membuka Dasbor. Perhatikan juga bahwa jika Anda membuat visualisasi sementara status pekerjaan dan status pemuatan masih tampak sedang berlangsung, UI SageMaker Profiler menghasilkan plot Dasbor dan Garis Waktu hingga data profil terbaru yang dikumpulkan dari pekerjaan pelatihan yang sedang berlangsung atau data profil yang dimuat sebagian.
Tip
Anda dapat memuat dan memvisualisasikan satu profil pada satu waktu. Untuk memuat profil lain, Anda harus terlebih dahulu membongkar profil yang dimuat sebelumnya. Untuk membongkar profil, gunakan ikon tempat sampah di ujung kanan profil di bagian Profil yang di muat.
Dasbor
Setelah Anda selesai memuat dan memilih pekerjaan pelatihan, UI membuka halaman Dasbor dilengkapi dengan panel berikut secara default.
-
Waktu aktif GPU — Diagram lingkaran ini menunjukkan persentase waktu aktif GPU versus waktu idle GPU. Anda dapat memeriksa apakah GPU Anda lebih aktif daripada idle selama seluruh pekerjaan pelatihan. Waktu aktif GPU didasarkan pada titik data profil dengan tingkat pemanfaatan lebih besar dari 0%, sedangkan waktu idle GPU adalah titik data yang diprofilkan dengan pemanfaatan 0%.
-
Pemanfaatan GPU dari waktu ke waktu — Grafik garis waktu ini menunjukkan tingkat pemanfaatan GPU rata-rata dari waktu ke waktu per node, menggabungkan semua node dalam satu bagan. Anda dapat memeriksa apakah GPU memiliki beban kerja yang tidak seimbang, masalah pemanfaatan yang kurang, hambatan, atau masalah idle selama interval waktu tertentu. Untuk melacak tingkat pemanfaatan pada tingkat GPU individu dan proses kernel terkait, gunakanAntarmuka garis waktu. Perhatikan bahwa pengumpulan aktivitas GPU dimulai dari tempat Anda menambahkan fungsi starter profiler
SMProf.start_profiling()dalam skrip pelatihan Anda, dan berhenti diSMProf.stop_profiling(). -
Waktu aktif CPU — Diagram lingkaran ini menunjukkan persentase waktu aktif CPU versus waktu idle CPU. Anda dapat memeriksa apakah CPU Anda lebih aktif daripada idle selama seluruh pekerjaan pelatihan. Waktu aktif CPU didasarkan pada titik data yang diprofilkan dengan tingkat pemanfaatan lebih besar dari 0%, sedangkan waktu idle CPU adalah titik data yang diprofilkan dengan pemanfaatan 0%.
-
Pemanfaatan CPU dari waktu ke waktu — Grafik garis waktu ini menunjukkan tingkat pemanfaatan CPU rata-rata dari waktu ke waktu per node, menggabungkan semua node dalam satu bagan. Anda dapat memeriksa apakah CPU mengalami hambatan atau kurang dimanfaatkan selama interval waktu tertentu. Untuk melacak tingkat pemanfaatan CPU yang selaras dengan pemanfaatan GPU individu dan operasi kernel, gunakan. Antarmuka garis waktu Perhatikan bahwa metrik pemanfaatan dimulai dari awal dari inisialisasi pekerjaan.
-
Waktu yang dihabiskan oleh semua kernel GPU — Diagram lingkaran ini menunjukkan semua kernel GPU yang dioperasikan selama pekerjaan pelatihan. Ini menunjukkan 15 kernel GPU teratas secara default sebagai sektor individu dan semua kernel lainnya dalam satu sektor. Arahkan kursor ke sektor untuk melihat informasi lebih rinci. Nilai menunjukkan total waktu kernel GPU yang dioperasikan dalam hitungan detik, dan persentase didasarkan pada seluruh waktu profil.
-
Waktu yang dihabiskan oleh 15 kernel GPU teratas - Bagan lingkaran ini menunjukkan semua kernel GPU yang dioperasikan selama pekerjaan pelatihan. Ini menunjukkan 15 kernel GPU teratas sebagai sektor individu. Arahkan kursor ke sektor untuk melihat informasi lebih rinci. Nilai menunjukkan total waktu kernel GPU yang dioperasikan dalam hitungan detik, dan persentase didasarkan pada seluruh waktu profil.
-
Jumlah peluncuran semua kernel GPU - Bagan lingkaran ini menunjukkan jumlah hitungan untuk setiap kernel GPU yang diluncurkan selama pekerjaan pelatihan. Ini menunjukkan 15 kernel GPU teratas sebagai sektor individu dan semua kernel lainnya dalam satu sektor. Arahkan kursor ke sektor untuk melihat informasi lebih rinci. Nilai menunjukkan jumlah total kernel GPU yang diluncurkan, dan persentase didasarkan pada seluruh hitungan semua kernel.
-
Jumlah peluncuran 15 kernel GPU teratas - Bagan lingkaran ini menunjukkan jumlah hitungan setiap kernel GPU yang diluncurkan selama pekerjaan pelatihan. Ini menunjukkan 15 kernel GPU teratas. Arahkan kursor ke sektor untuk melihat informasi lebih rinci. Nilai menunjukkan jumlah total kernel GPU yang diluncurkan, dan persentase didasarkan pada seluruh hitungan semua kernel.
-
Distribusi waktu langkah — Histogram ini menunjukkan distribusi durasi langkah pada GPU. Plot ini dibuat hanya setelah Anda menambahkan annotator langkah dalam skrip pelatihan Anda.
-
Distribusi presisi kernel - Diagram lingkaran ini menunjukkan persentase waktu yang dihabiskan untuk menjalankan kernel dalam berbagai jenis data seperti FP32, FP16, INT32, dan INT8.
-
Distribusi aktivitas GPU — Pie chart ini menunjukkan persentase waktu yang dihabiskan untuk aktivitas GPU, seperti menjalankan kernel, memori (
memcpydanmemset), dan sinkronisasi (sync). -
Distribusi operasi memori GPU — Pie chart ini menunjukkan persentase waktu yang dihabiskan untuk operasi memori GPU. Ini memvisualisasikan
memcopyaktivitas dan membantu mengidentifikasi apakah pekerjaan pelatihan Anda menghabiskan waktu berlebihan pada operasi memori tertentu. -
Buat histogram baru — Buat diagram baru dari metrik khusus yang Anda beri anotasi secara manual selama. Langkah 1: Sesuaikan skrip pelatihan Anda menggunakan modul SageMaker Profiler Python Saat menambahkan anotasi khusus ke histogram baru, pilih atau ketik nama anotasi yang Anda tambahkan dalam skrip pelatihan. Misalnya, dalam skrip pelatihan demo di Langkah 1,,
step,Forward,BackwardOptimize, danLossadalah anotasi khusus. Saat membuat histogram baru, nama-nama anotasi ini akan muncul di menu drop-down untuk pemilihan metrik. Jika Anda memilihBackward, UI menambahkan histogram waktu yang dihabiskan untuk lintasan mundur sepanjang waktu yang diprofilkan ke Dasbor. Jenis histogram ini berguna untuk memeriksa apakah ada outlier yang memakan waktu lebih lama secara tidak normal dan menyebabkan masalah kemacetan.
Screenshot berikut menunjukkan rasio waktu aktif GPU dan CPU dan rata-rata tingkat pemanfaatan GPU dan CPU sehubungan dengan waktu per node komputasi.
Tangkapan layar berikut menunjukkan contoh diagram lingkaran untuk membandingkan berapa kali kernel GPU diluncurkan dan mengukur waktu yang dihabiskan untuk menjalankannya. Dalam Waktu yang dihabiskan oleh semua kernel GPU dan Jumlah peluncuran semua panel kernel GPU, Anda juga dapat menentukan bilangan bulat ke bidang input untuk k untuk menyesuaikan jumlah legenda yang akan ditampilkan di plot. Misalnya, jika Anda menentukan 10, plot menunjukkan 10 kernel teratas yang paling banyak dijalankan dan diluncurkan masing-masing.
Tangkapan layar berikut menunjukkan contoh histogram durasi waktu langkah, dan diagram lingkaran untuk distribusi presisi kernel, distribusi aktivitas GPU, dan distribusi operasi memori GPU.
Antarmuka garis waktu
Untuk mendapatkan tampilan terperinci ke dalam sumber daya komputasi pada tingkat operasi dan kernel yang dijadwalkan pada CPU dan berjalan pada GPU, gunakan antarmuka Timeline.
Anda dapat memperbesar dan memperkecil dan menggeser ke kiri atau kanan di antarmuka timeline menggunakan mouse, [w, a, s, d] tombol, atau empat tombol panah pada keyboard.
Tip
Untuk tips selengkapnya tentang pintasan keyboard untuk berinteraksi dengan antarmuka Timeline, pilih Pintasan keyboard di panel kiri.
Trek timeline diatur dalam struktur pohon, memberi Anda informasi dari tingkat host ke tingkat perangkat. Misalnya, jika Anda menjalankan N instance dengan delapan GPU di masing-masing, struktur timeline setiap instance adalah sebagai berikut.
-
algo-i node — Ini adalah tag SageMaker AI untuk menetapkan pekerjaan ke instance yang disediakan. Digit i node ditetapkan secara acak. Misalnya, jika Anda menggunakan 4 instance, bagian ini diperluas dari algo-1 ke algo-4.
-
CPU — Pada bagian ini, Anda dapat memeriksa tingkat pemanfaatan CPU rata-rata dan penghitung kinerja.
-
GPU — Pada bagian ini, Anda dapat memeriksa tingkat pemanfaatan GPU rata-rata, tingkat pemanfaatan GPU individu, dan kernel.
-
Pemanfaatan SUM — Tingkat pemanfaatan GPU rata-rata per instans.
-
HOST-0 PID-123— Nama unik yang ditetapkan untuk setiap trek proses. Akronim PID adalah ID proses, dan nomor yang ditambahkan padanya adalah nomor ID proses yang direkam selama pengambilan data dari proses. Bagian ini menunjukkan informasi berikut dari proses.
-
GPU-inum_gpupemanfaatan — Tingkat pemanfaatan GPU num_gpu ke-i dari waktu ke waktu.
-
GPU-inum_gpudevice — Kernel berjalan pada perangkat num_gpu GPU ke-i.
-
stream i cuda_stream — Aliran CUDA yang menunjukkan kernel berjalan pada perangkat GPU. Untuk mempelajari lebih lanjut tentang aliran CUDA, lihat slide dalam PDF di CUDA C/C ++ Streams and Concurrency yang
disediakan oleh NVIDIA.
-
-
GPU-inum_gpuhost — Kernel diluncurkan pada host num_gpu GPU ke-i.
-
-
-
Beberapa tangkapan layar berikut menunjukkan Timeline profil pekerjaan pelatihan yang dijalankan pada ml.p4d.24xlarge instance, yang dilengkapi dengan 8 GPU NVIDIA A100 Tensor Core di masing-masing.
Berikut ini adalah tampilan profil yang diperkecil, mencetak selusin langkah termasuk pemuat data intermiten antara step_232 dan step_233 untuk mengambil kumpulan data berikutnya.
Untuk setiap CPU, Anda dapat melacak pemanfaatan CPU dan penghitung kinerja, seperti "clk_unhalted_ref.tsc" dan"itlb_misses.miss_causes_a_walk", yang merupakan indikasi instruksi yang dijalankan pada CPU.
Untuk setiap GPU, Anda dapat melihat timeline host dan timeline perangkat. Peluncuran kernel ada di timeline host dan kernel berjalan di timeline perangkat. Anda juga dapat melihat anotasi (seperti maju, mundur, dan mengoptimalkan) jika Anda telah menambahkan skrip pelatihan di timeline host GPU.
Dalam tampilan timeline, Anda juga dapat melacak pasangan peluncuran-dan-jalankan kernel. Ini membantu Anda memahami bagaimana peluncuran kernel yang dijadwalkan pada host (CPU) dijalankan pada perangkat GPU yang sesuai.
Tip
Tekan f tombol untuk memperbesar kernel yang dipilih.
Tangkapan layar berikut adalah tampilan yang diperbesar ke dalam step_233 dan step_234 dari tangkapan layar sebelumnya. Interval garis waktu yang dipilih dalam tangkapan layar berikut adalah AllReduce operasi, langkah komunikasi dan sinkronisasi penting dalam pelatihan terdistribusi, dijalankan di GPU-0 perangkat. Pada tangkapan layar, perhatikan bahwa peluncuran kernel di GPU-0 host terhubung ke kernel yang dijalankan di aliran GPU-0 perangkat 1, ditunjukkan dengan panah dalam warna cyan.
Juga dua tab informasi muncul di panel bawah UI ketika Anda memilih interval timeline, seperti yang ditunjukkan pada tangkapan layar sebelumnya. Tab Current Selection menunjukkan rincian kernel yang dipilih dan peluncuran kernel yang terhubung dari host. Arah koneksi selalu dari host (CPU) ke perangkat (GPU) karena setiap kernel GPU selalu dipanggil dari CPU. Tab Koneksi menunjukkan peluncuran kernel yang dipilih dan pasangan jalankan. Anda dapat memilih salah satu dari mereka untuk memindahkannya ke tengah tampilan Timeline.
Tangkapan layar berikut memperbesar lebih jauh ke peluncuran AllReduce operasi dan menjalankan pasangan.
Informasi
Di Informasi, Anda dapat mengakses informasi tentang pekerjaan pelatihan yang dimuat, seperti jenis instans, Nama Sumber Daya Amazon (ARN) sumber daya komputasi yang disediakan untuk pekerjaan, nama node, dan hyperparameter.
Pengaturan
Instans aplikasi SageMaker AI Profiler UI dikonfigurasi untuk dimatikan setelah 2 jam waktu idle secara default. Di Peng aturan, gunakan pengaturan berikut untuk menyesuaikan timer shutdown otomatis.
-
Aktifkan penghenti an otomatis aplikasi — Pilih dan setel ke Di aktifkan untuk membiarkan aplikasi mati secara otomatis setelah jumlah jam waktu idle yang ditentukan. Untuk mematikan fungsi penutupan otomatis, pilih Din onaktifkan.
-
Ambang batas penutupan otomatis dalam jam — Jika Anda memilih Di aktifkan untuk Aktifkan penghentian otomatis aplikasi, Anda dapat mengatur waktu ambang dalam jam agar aplikasi dimatikan secara otomatis. Ini diatur ke 2 secara default.