

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 SageMaker Profiler
<a name="profiler-explore-viz"></a>

Bagian ini berjalan melalui UI SageMaker Profiler dan memberikan tips tentang cara menggunakan dan mendapatkan wawasan darinya.

## Memuat profil
<a name="profiler-explore-viz-load"></a>

Saat Anda membuka UI SageMaker Profiler, halaman **Load profile** akan terbuka. Untuk memuat dan menghasilkan **Dashboard** dan **Timeline**, lakukan prosedur berikut.<a name="profiler-explore-viz-load-procedure"></a>

**Untuk memuat profil pekerjaan pelatihan**

1. Dari **bagian Daftar pekerjaan pelatihan**, gunakan kotak centang untuk memilih pekerjaan pelatihan yang ingin Anda muat profilnya.

1. Pilih **Muat**. Nama pekerjaan akan muncul di bagian **Profil yang dimuat** di bagian atas.

1. Pilih tombol radio di sebelah kiri **nama Job** untuk menghasilkan **Dashboard** dan **Timeline**. Perhatikan bahwa ketika Anda memilih tombol radio, UI secara otomatis membuka **Dasbor**. Perhatikan juga bahwa jika Anda menghasilkan visualisasi saat status pekerjaan dan status pemuatan masih tampak sedang berlangsung, UI SageMaker Profiler akan 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 sekaligus. 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 **dimuat**.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-load-data.png)


## Dasbor
<a name="profiler-explore-viz-overview"></a>

Setelah Anda selesai memuat dan memilih tugas pelatihan, UI membuka halaman **Dasbor** yang dilengkapi dengan panel berikut secara default.
+ **Waktu aktif GPU** - Diagram lingkaran ini menunjukkan persentase waktu aktif GPU versus waktu idle GPU. Anda dapat memeriksa GPUs apakah Anda lebih aktif daripada menganggur di 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 GPUs memiliki beban kerja yang tidak seimbang, masalah pemanfaatan yang kurang, kemacetan, atau masalah menganggur selama interval waktu tertentu. Untuk melacak tingkat pemanfaatan pada tingkat GPU individu dan menjalankan kernel terkait, gunakan file. [Antarmuka garis waktu](#profiler-explore-viz-timeline) Perhatikan bahwa pengumpulan aktivitas GPU dimulai dari tempat Anda menambahkan fungsi starter profiler `SMProf.start_profiling()` dalam skrip latihan, dan berhenti di. `SMProf.stop_profiling()`
+ **Waktu aktif CPU** - Bagan lingkaran ini menunjukkan persentase waktu aktif CPU versus waktu idle CPU. Anda dapat memeriksa CPUs apakah Anda lebih aktif daripada menganggur di 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 CPUs apakah macet atau kurang dimanfaatkan selama interval waktu tertentu. Untuk melacak tingkat pemanfaatan yang CPUs selaras dengan pemanfaatan GPU individu dan menjalankan kernel, gunakan. [Antarmuka garis waktu](#profiler-explore-viz-timeline) Perhatikan bahwa metrik pemanfaatan dimulai dari awal dari inisialisasi pekerjaan.
+ **Waktu yang dihabiskan oleh semua kernel GPU** — Bagan 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 persentasenya 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 individual. Arahkan kursor ke sektor untuk melihat informasi lebih rinci. Nilai menunjukkan total waktu kernel GPU yang dioperasikan dalam hitungan detik, dan persentasenya 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 persentasenya didasarkan pada seluruh hitungan semua kernel. 
+ **Jumlah peluncuran dari 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 persentasenya didasarkan pada seluruh hitungan semua kernel. 
+ **Distribusi waktu langkah** — Histogram ini menunjukkan distribusi durasi langkah pada. GPUs Plot ini dibuat hanya setelah Anda menambahkan anotator langkah dalam skrip pelatihan Anda.
+ **Distribusi presisi kernel — Diagram** lingkaran ini menunjukkan persentase waktu yang dihabiskan untuk menjalankan kernel dalam tipe data yang berbeda seperti FP32,, FP16 INT32, dan INT8. 
+ **Distribusi aktivitas GPU - Diagram** lingkaran ini menunjukkan persentase waktu yang dihabiskan untuk aktivitas GPU, seperti menjalankan kernel, memori (`memcpy`dan`memset`), dan sinkronisasi (). `sync`
+ **Distribusi operasi memori GPU - Diagram** lingkaran ini menunjukkan persentase waktu yang dihabiskan untuk operasi memori GPU. Ini memvisualisasikan `memcopy` kegiatan dan membantu mengidentifikasi apakah pekerjaan pelatihan Anda menghabiskan waktu berlebihan untuk operasi memori tertentu.
+ **Buat histogram baru** — Buat diagram baru dari metrik kustom yang Anda anotasi secara manual selama. [Langkah 1: Sesuaikan skrip pelatihan Anda menggunakan modul SageMaker Profiler Python](profiler-prepare.md#profiler-prepare-training-script) 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`, `Backward``Optimize`, dan `Loss` merupakan anotasi khusus. Saat membuat histogram baru, nama anotasi ini akan muncul di menu tarik-turun untuk pemilihan metrik. **Jika Anda memilih`Backward`, 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 bottleneck.

Tangkapan layar berikut menunjukkan rasio waktu aktif GPU dan CPU serta tingkat pemanfaatan GPU dan CPU rata-rata sehubungan dengan waktu per node komputasi.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-1.png)


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.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-2.png)


Tangkapan layar berikut menunjukkan contoh histogram durasi waktu langkah, dan diagram lingkaran untuk distribusi presisi kernel, distribusi aktivitas GPU, dan distribusi operasi memori GPU.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-3.png)


## Antarmuka garis waktu
<a name="profiler-explore-viz-timeline"></a>

Untuk mendapatkan tampilan rinci ke sumber daya komputasi pada tingkat operasi dan kernel yang dijadwalkan pada CPUs dan berjalan di GPUs, gunakan antarmuka **Timeline**.

Anda dapat memperbesar dan memperkecil dan menggeser ke kiri atau kanan di antarmuka garis waktu menggunakan mouse, `[w, a, s, d]` tombol, atau empat tombol panah pada keyboard.

**Tip**  
Untuk tips lebih lanjut tentang pintasan keyboard untuk berinteraksi dengan antarmuka **Timeline**, pilih **Pintasan keyboard di panel** kiri.

Trek garis waktu diatur dalam struktur pohon, memberi Anda informasi dari tingkat host ke tingkat perangkat. Misalnya, jika Anda menjalankan `N` instance dengan masing-masing delapan GPUs , struktur garis waktu setiap instance adalah sebagai berikut.
+ **algo-i node** - Inilah 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** - Di bagian ini, Anda dapat memeriksa tingkat pemanfaatan CPU rata-rata dan penghitung kinerja.
  + **GPUs**— Di 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.
      + **num\$1gpuPemanfaatan GPU-i** — Tingkat pemanfaatan GPU ke-i dari waktu ke waktunum\$1gpu.
      + **num\$1gpuPerangkat GPU-i** — Kernel berjalan pada perangkat GPU num\$1gpu ke-i.
        + **stream i cuda\$1stream** — CUDA stream yang menunjukkan kernel berjalan pada perangkat GPU. Untuk mempelajari lebih lanjut tentang aliran CUDA, lihat slide dalam PDF di [CUDA C/C\$1\$1 Streams](https://developer.download.nvidia.com/CUDA/training/StreamsAndConcurrencyWebinar.pdf) and Concurrency yang disediakan oleh NVIDIA.
      + Host **GPU-i - Kernel diluncurkan pada num\$1gpu host** GPU num\$1gpu ke-i.

Beberapa tangkapan layar berikut menunjukkan **Timeline** profil pekerjaan pelatihan yang dijalankan pada `ml.p4d.24xlarge` instance, yang masing-masing dilengkapi dengan 8 NVIDIA A100 Tensor Core. GPUs 

Berikut ini adalah tampilan profil yang diperbesar, mencetak selusin langkah termasuk pemuat data intermiten antara `step_232` dan `step_233` untuk mengambil kumpulan data berikutnya.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-1.png)


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 ada 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 launch-and-run pasangan 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 timeline yang dipilih dalam tangkapan layar berikut adalah `AllReduce` operasi, langkah komunikasi dan sinkronisasi penting dalam pelatihan terdistribusi, dijalankan pada perangkat GPU-0. Dalam tangkapan layar, perhatikan bahwa peluncuran kernel di host GPU-0 terhubung ke kernel yang dijalankan di aliran perangkat GPU-0 1, ditunjukkan dengan panah dalam warna cyan.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-2.png)


Juga dua tab informasi muncul di panel bawah UI saat Anda memilih interval garis waktu, seperti yang ditunjukkan pada tangkapan layar sebelumnya. Tab **Seleksi Saat Ini** 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 **Connections** menunjukkan pasangan peluncuran dan jalankan kernel yang dipilih. 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. 

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-3.png)


## Informasi
<a name="profiler-expore-viz-information"></a>

Di **Informasi**, Anda dapat mengakses informasi tentang pekerjaan pelatihan yang dimuat, seperti jenis instans, Amazon Resource Names (ARNs) sumber daya komputasi yang disediakan untuk pekerjaan, nama node, dan hyperparameter.

## Pengaturan
<a name="profiler-expore-viz-settings"></a>

Instans aplikasi SageMaker AI Profiler UI dikonfigurasi untuk dimatikan setelah 2 jam waktu idle secara default. Di **Pengaturan**, gunakan pengaturan berikut untuk menyesuaikan timer shutdown otomatis.
+ **Aktifkan shutdown otomatis aplikasi** - Pilih dan atur ke **Diaktifkan** agar aplikasi mati secara otomatis setelah jumlah jam waktu idle yang ditentukan. **Untuk mematikan fungsi auto-shutdown, pilih Dinonaktifkan.**
+ **Ambang batas shutdown otomatis dalam hitungan jam** - Jika Anda memilih **Diaktifkan** untuk **Aktifkan shutdown otomatis aplikasi**, Anda dapat mengatur batas waktu dalam beberapa jam agar aplikasi dimatikan secara otomatis. Ini diatur ke 2 secara default.