

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

# Amazon SageMaker Profiler
<a name="train-use-sagemaker-profiler"></a>


|  | 
| --- |
|  Amazon SageMaker Profiler saat ini dalam rilis pratinjau dan tersedia tanpa biaya di didukung Wilayah AWS. Versi Amazon SageMaker Profiler yang tersedia secara umum (jika ada) dapat mencakup fitur dan harga yang berbeda dari yang ditawarkan dalam pratinjau.  | 

Amazon SageMaker Profiler adalah kemampuan Amazon SageMaker AI yang memberikan pandangan terperinci tentang sumber daya AWS komputasi yang disediakan selama pelatihan model pembelajaran mendalam tentang AI. SageMaker Ini berfokus pada pembuatan profil penggunaan CPU dan GPU, kernel berjalan, peluncuran kernel GPUs, operasi sinkronisasi CPUs, operasi memori di seluruh CPUs dan GPUs, latensi antara peluncuran kernel dan proses yang sesuai, dan transfer data antara dan. CPUs GPUs SageMaker Profiler juga menawarkan antarmuka pengguna (UI) yang memvisualisasikan *profil*, ringkasan statistik peristiwa yang diprofilkan, dan garis waktu pekerjaan pelatihan untuk melacak dan memahami hubungan waktu peristiwa antara dan. GPUs CPUs

**catatan**  
SageMaker Profiler mendukung PyTorch dan TensorFlow dan tersedia di [AWS Deep Learning Containers untuk SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only). Untuk mempelajari selengkapnya, lihat [Gambar kerangka kerja yang didukung Wilayah AWS,, dan jenis instance](profiler-support.md).

**Untuk ilmuwan data**

Melatih model pembelajaran mendalam pada cluster komputasi besar sering kali memiliki masalah optimasi komputasi, seperti kemacetan, latensi peluncuran kernel, batas memori, dan pemanfaatan sumber daya yang rendah.

Untuk mengidentifikasi masalah kinerja komputasi tersebut, Anda perlu membuat profil lebih dalam ke sumber daya komputasi untuk memahami kernel mana yang memperkenalkan latensi dan operasi mana yang menyebabkan kemacetan. Ilmuwan data dapat mengambil manfaat dari menggunakan UI SageMaker Profiler untuk memvisualisasikan profil rinci pekerjaan pelatihan. UI menyediakan dasbor yang dilengkapi dengan bagan ringkasan dan antarmuka garis waktu untuk melacak setiap peristiwa pada sumber daya komputasi. Ilmuwan data juga dapat menambahkan anotasi khusus untuk melacak bagian-bagian tertentu dari pekerjaan pelatihan menggunakan modul SageMaker Profiler Python.

**Untuk administrator**

Melalui halaman arahan Profiler di konsol SageMaker AI atau [domain SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/sm-domain.html), Anda dapat mengelola pengguna aplikasi Profiler jika Anda adalah administrator AWS akun atau domain SageMaker AI. Setiap pengguna domain dapat mengakses aplikasi Profiler mereka sendiri dengan izin yang diberikan. Sebagai administrator domain SageMaker AI dan pengguna domain, Anda dapat membuat dan menghapus aplikasi Profiler dengan tingkat izin yang Anda miliki.

**Topics**
+ [Gambar kerangka kerja yang didukung Wilayah AWS,, dan jenis instance](profiler-support.md)
+ [Prasyarat untuk Profiler SageMaker](profiler-prereq.md)
+ [Mempersiapkan dan menjalankan pekerjaan pelatihan dengan SageMaker Profiler](profiler-prepare.md)
+ [Buka aplikasi UI SageMaker Profiler](profiler-access-smprofiler-ui.md)
+ [Jelajahi data keluaran profil yang divisualisasikan di UI SageMaker Profiler](profiler-explore-viz.md)
+ [Pemecahan Masalah untuk Profiler SageMaker](profiler-faq.md)

# Gambar kerangka kerja yang didukung Wilayah AWS,, dan jenis instance
<a name="profiler-support"></a>

Fitur ini mendukung kerangka kerja pembelajaran mesin berikut dan Wilayah AWS.

**catatan**  
Untuk menggunakan fitur ini, pastikan Anda telah menginstal SageMaker Python SDK [versi 2.180.0](https://pypi.org/project/sagemaker/2.180.0/) atau yang lebih baru.

## SageMaker Gambar kerangka kerja AI yang sudah diinstal sebelumnya dengan Profiler SageMaker
<a name="profiler-support-frameworks"></a>

SageMaker Profiler sudah diinstal sebelumnya di [AWS Deep Learning Containers for SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only) berikut.

### PyTorch gambar
<a name="profiler-support-frameworks-pytorch"></a>


| PyTorch versi | AWS URI gambar DLC | 
| --- | --- | 
| 2.2.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.2.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.1.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.1.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.0.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.0.1-gpu-py310-cu118-ubuntu20.04-sagemaker *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.0.1-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 1.13.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker  | 

### TensorFlow gambar
<a name="profiler-support-frameworks-tensorflow"></a>


| TensorFlow versi | AWS URI gambar DLC | 
| --- | --- | 
| 2.13.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.13.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.12.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.11.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.11.0-gpu-py39-cu112-ubuntu20.04-sagemaker  | 

**penting**  
Distribusi dan pemeliharaan container framework pada tabel sebelumnya berada di bawah Framework [Support Policy](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/support-policy.html) yang dikelola oleh layanan AWS Deep Learning Containers. Kami sangat menyarankan Anda untuk meningkatkan ke [versi kerangka kerja yang saat ini didukung](https://aws.amazon.com/releasenotes/dlc-support-policy/), jika Anda menggunakan versi kerangka kerja sebelumnya yang tidak lagi didukung.

**catatan**  
Jika Anda ingin menggunakan SageMaker Profiler untuk gambar kerangka kerja lain atau gambar Docker Anda sendiri, Anda dapat menginstal SageMaker Profiler menggunakan file biner paket Profiler SageMaker Python yang disediakan di bagian berikut.

## SageMaker Profiler Python paket file biner
<a name="profiler-python-package"></a>

Jika Anda ingin mengonfigurasi wadah Docker Anda sendiri, gunakan SageMaker Profiler di wadah pra-bangun lainnya untuk PyTorch dan TensorFlow, atau instal paket Profiler SageMaker Python secara lokal, gunakan salah satu file biner berikut. Bergantung pada versi Python dan CUDA di lingkungan Anda, pilih salah satu dari yang berikut ini.

### PyTorch
<a name="profiler-python-package-for-pytorch"></a>
+ Python3.8, CUDA 11.3: [https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl)
+ Python3.9, CUDA 11.7: [https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)
+ Python3.10, CUDA 12.1: [https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

### TensorFlow
<a name="profiler-python-package-for-tensorflow"></a>
+ Python3.9, CUDA 11.2: [https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

Untuk informasi selengkapnya tentang cara menginstal SageMaker Profiler menggunakan file biner, lihat[(Opsional) Instal paket SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

## Didukung Wilayah AWS
<a name="profiler-support-regions"></a>

SageMaker Profiler tersedia di berikut Wilayah AWS ini.
+ US East (N. Virginia) (`us-east-1`)
+ US East (Ohio) (`us-east-2`)
+ US West (Oregon) (`us-west-2`)
+ Europe (Frankfurt) (`eu-central-1`)
+ Europe (Ireland) (`eu-west-1`)

## Tipe instans yang didukung
<a name="profiler-support-instance-types"></a>

SageMaker Profiler mendukung pembuatan profil pekerjaan pelatihan pada jenis contoh berikut.

**Profil CPU dan GPU**
+ `ml.g4dn.12xlarge`
+ `ml.g5.24xlarge`
+ `ml.g5.48xlarge`
+ `ml.p3dn.24xlarge`
+ `ml.p4de.24xlarge`
+ `ml.p4d.24xlarge`
+ `ml.p5.48xlarge`

**Hanya profil GPU**
+ `ml.g5.2xlarge`
+ `ml.g5.4xlarge`
+ `ml.g5.8xlarge`
+ `ml.g5.16.xlarge`

# Prasyarat untuk Profiler SageMaker
<a name="profiler-prereq"></a>

Daftar berikut menunjukkan prasyarat untuk mulai menggunakan Profiler. SageMaker 
+ Domain SageMaker AI yang disiapkan dengan Amazon VPC di akun Anda AWS . 

  Untuk petunjuk cara menyiapkan domain, lihat [Onboard to Amazon SageMaker AI domain menggunakan penyiapan cepat](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html). Anda juga perlu menambahkan profil pengguna domain untuk pengguna individu untuk mengakses aplikasi UI Profiler. Untuk informasi selengkapnya, lihat [Menambahkan profil pengguna](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).
+ Daftar berikut adalah set minimum izin untuk menggunakan aplikasi UI Profiler.
  + `sagemaker:CreateApp`
  + `sagemaker:DeleteApp`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:Search`
  + `s3:GetObject`
  + `s3:ListBucket`

# Mempersiapkan dan menjalankan pekerjaan pelatihan dengan SageMaker Profiler
<a name="profiler-prepare"></a>

Menyiapkan untuk menjalankan pekerjaan pelatihan dengan SageMaker Profiler terdiri dari dua langkah: mengadaptasi skrip pelatihan dan mengonfigurasi peluncur pekerjaan SageMaker pelatihan.

**Topics**
+ [Langkah 1: Sesuaikan skrip pelatihan Anda menggunakan modul SageMaker Profiler Python](#profiler-prepare-training-script)
+ [Langkah 2: Buat estimator kerangka kerja SageMaker AI dan aktifkan SageMaker Profiler](#profiler-profilerconfig)
+ [(Opsional) Instal paket SageMaker Profiler Python](#profiler-install-python-package)

## Langkah 1: Sesuaikan skrip pelatihan Anda menggunakan modul SageMaker Profiler Python
<a name="profiler-prepare-training-script"></a>

Untuk mulai menangkap kernel berjalan GPUs saat tugas pelatihan sedang berjalan, modifikasi skrip pelatihan Anda menggunakan modul SageMaker Profiler Python. Impor pustaka `start_profiling()` dan tambahkan `stop_profiling()` metode dan untuk menentukan awal dan akhir pembuatan profil. Anda juga dapat menggunakan anotasi kustom opsional untuk menambahkan penanda dalam skrip pelatihan untuk memvisualisasikan aktivitas perangkat keras selama operasi tertentu di setiap langkah.

Perhatikan bahwa annotator mengekstrak operasi dari. GPUs Untuk operasi pembuatan profil di CPUs, Anda tidak perlu menambahkan anotasi tambahan apa pun. Profiling CPU juga diaktifkan saat Anda menentukan konfigurasi profil, yang akan Anda praktikkan. [Langkah 2: Buat estimator kerangka kerja SageMaker AI dan aktifkan SageMaker Profiler](#profiler-profilerconfig)

**catatan**  
Membuat profil seluruh pekerjaan pelatihan bukanlah penggunaan sumber daya yang paling efisien. Kami merekomendasikan pembuatan profil paling banyak 300 langkah pekerjaan pelatihan.

**penting**  
Rilis pada [14 Desember 2023](profiler-release-notes.md#profiler-release-notes-20231214) melibatkan perubahan besar. Nama paket SageMaker Profiler Python diubah `smppy` dari menjadi. `smprof` Ini efektif dalam [SageMaker AI Framework Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only) untuk TensorFlow v2.12 dan yang lebih baru.  
Jika Anda menggunakan salah satu versi sebelumnya dari [SageMaker AI Framework Containers](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only) seperti TensorFlow v2.11.0, paket Profiler SageMaker Python masih tersedia sebagai. `smppy` Jika Anda tidak yakin tentang versi atau nama paket mana yang harus Anda gunakan, ganti pernyataan impor paket SageMaker Profiler dengan cuplikan kode berikut.  

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

**Pendekatan 1.** Gunakan pengelola konteks `smprof.annotate` untuk membubuhi keterangan fungsi lengkap

Anda dapat membungkus fungsi penuh dengan manajer `smprof.annotate()` konteks. Pembungkus ini direkomendasikan jika Anda ingin membuat profil berdasarkan fungsi alih-alih baris kode. Contoh skrip berikut menunjukkan bagaimana menerapkan manajer konteks untuk membungkus loop pelatihan dan fungsi penuh di setiap iterasi.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        with smprof.annotate("step_"+str(i)):
            inputs, labels = data
            inputs = inputs.to("cuda", non_blocking=True)
            labels = labels.to("cuda", non_blocking=True)
    
            optimizer.zero_grad()
    
            with smprof.annotate("Forward"):
                outputs = net(inputs)
            with smprof.annotate("Loss"):
                loss = criterion(outputs, labels)
            with smprof.annotate("Backward"):
                loss.backward()
            with smprof.annotate("Optimizer"):
                optimizer.step()

SMProf.stop_profiling()
```

**Pendekatan 2.** Gunakan `smprof.annotation_begin()` dan `smprof.annotation_end()` untuk membubuhi keterangan baris kode tertentu dalam fungsi

Anda juga dapat menentukan anotasi untuk membuat profil baris kode tertentu. Anda dapat mengatur titik awal dan titik akhir pembuatan profil yang tepat pada tingkat baris kode individual, bukan oleh fungsinya. Misalnya, dalam skrip berikut, `step_annotator` didefinisikan pada awal setiap iterasi dan berakhir pada akhir iterasi. Sementara itu, anotator rinci lainnya untuk setiap operasi didefinisikan dan membungkus operasi target di setiap iterasi.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        step_annotator = smprof.annotation_begin("step_" + str(i))

        inputs, labels = data
        inputs = inputs.to("cuda", non_blocking=True)
        labels = labels.to("cuda", non_blocking=True)
        optimizer.zero_grad()

        forward_annotator = smprof.annotation_begin("Forward")
        outputs = net(inputs)
        smprof.annotation_end(forward_annotator)

        loss_annotator = smprof.annotation_begin("Loss")
        loss = criterion(outputs, labels)
        smprof.annotation_end(loss_annotator)

        backward_annotator = smprof.annotation_begin("Backward")
        loss.backward()
        smprof.annotation_end(backward_annotator)

        optimizer_annotator = smprof.annotation_begin("Optimizer")
        optimizer.step()
        smprof.annotation_end(optimizer_annotator)

        smprof.annotation_end(step_annotator)

SMProf.stop_profiling()
```

Setelah membuat anotasi dan menyiapkan modul inisiasi profiler, simpan skrip untuk dikirimkan menggunakan peluncur pekerjaan SageMaker pelatihan di Langkah 2 berikut. Peluncur sampel mengasumsikan bahwa skrip pelatihan diberi nama. `train_with_profiler_demo.py`

## Langkah 2: Buat estimator kerangka kerja SageMaker AI dan aktifkan SageMaker Profiler
<a name="profiler-profilerconfig"></a>

Prosedur berikut menunjukkan cara menyiapkan estimator kerangka kerja SageMaker AI untuk pelatihan menggunakan SageMaker Python SDK.

1. Siapkan `profiler_config` objek menggunakan `ProfilerConfig` dan `Profiler` modul sebagai berikut.

   ```
   from sagemaker import ProfilerConfig, Profiler
   profiler_config = ProfilerConfig(
       profile_params = Profiler(cpu_profiling_duration=3600)
   )
   ```

   Berikut ini adalah deskripsi `Profiler` modul dan argumennya.
   +  `Profiler`: Modul untuk mengaktifkan SageMaker Profiler dengan pekerjaan pelatihan.
     +  `cpu_profiling_duration`(int): Tentukan durasi waktu dalam hitungan detik untuk pembuatan profil. CPUs Defaultnya adalah 3600 detik. 

1. Buat estimator kerangka SageMaker AI dengan `profiler_config` objek yang dibuat pada langkah sebelumnya. Kode berikut menunjukkan contoh membuat PyTorch estimator. Jika Anda ingin membuat TensorFlow estimator, impor `sagemaker.tensorflow.TensorFlow` sebagai gantinya, dan tentukan salah satu [TensorFlowversi](profiler-support.md#profiler-support-frameworks-tensorflow) yang didukung oleh SageMaker Profiler. Untuk informasi selengkapnya tentang kerangka kerja dan jenis instance yang didukung, lihat[SageMaker Gambar kerangka kerja AI yang sudah diinstal sebelumnya dengan Profiler SageMaker](profiler-support.md#profiler-support-frameworks).

   ```
   import sagemaker
   from sagemaker.pytorch import PyTorch
   
   estimator = PyTorch(
       framework_version="2.0.0",
       role=sagemaker.get_execution_role(),
       entry_point="train_with_profiler_demo.py", # your training job entry point
       source_dir=source_dir, # source directory for your training script
       output_path=output_path,
       base_job_name="sagemaker-profiler-demo",
       hyperparameters=hyperparameters, # if any
       instance_count=1, # Recommended to test with < 8
       instance_type=ml.p4d.24xlarge,
       profiler_config=profiler_config
   )
   ```

1. Mulai pekerjaan pelatihan dengan menjalankan `fit` metode. Dengan`wait=False`, Anda dapat membungkam log pekerjaan pelatihan dan membiarkannya berjalan di latar belakang.

   ```
   estimator.fit(wait=False)
   ```

Saat menjalankan pekerjaan pelatihan atau setelah pekerjaan selesai, Anda dapat pergi ke topik berikutnya di [Buka aplikasi UI SageMaker Profiler](profiler-access-smprofiler-ui.md) dan mulai menjelajahi dan memvisualisasikan profil yang disimpan.

Jika Anda ingin langsung mengakses data profil yang disimpan di bucket Amazon S3, gunakan skrip berikut untuk mengambil URI S3.

```
import os
# This is an ad-hoc function to get the S3 URI
# to where the profile output data is saved
def get_detailed_profiler_output_uri(estimator):
    config_name = None
    for processing in estimator.profiler_rule_configs:
        params = processing.get("RuleParameters", dict())
        rule = config_name = params.get("rule_to_invoke", "")
        if rule == "DetailedProfilerProcessing":
            config_name = processing.get("RuleConfigurationName")
            break
    return os.path.join(
        estimator.output_path, 
        estimator.latest_training_job.name, 
        "rule-output",
        config_name,
    )

print(
    f"Profiler output S3 bucket: ", 
    get_detailed_profiler_output_uri(estimator)
)
```

## (Opsional) Instal paket SageMaker Profiler Python
<a name="profiler-install-python-package"></a>

Untuk menggunakan SageMaker Profiler pada PyTorch atau gambar TensorFlow kerangka kerja yang tidak tercantum dalam[SageMaker Gambar kerangka kerja AI yang sudah diinstal sebelumnya dengan Profiler SageMaker](profiler-support.md#profiler-support-frameworks), atau pada wadah Docker kustom Anda sendiri untuk pelatihan, Anda dapat menginstal SageMaker Profiler dengan menggunakan salah satu. [SageMaker Profiler Python paket file biner](profiler-support.md#profiler-python-package)

**Opsi 1: Instal paket SageMaker Profiler saat meluncurkan pekerjaan pelatihan**

Jika Anda ingin menggunakan SageMaker Profiler untuk melatih pekerjaan menggunakan PyTorch atau TensorFlow gambar yang tidak tercantum[SageMaker Gambar kerangka kerja AI yang sudah diinstal sebelumnya dengan Profiler SageMaker](profiler-support.md#profiler-support-frameworks), buat `requirements.txt` file dan temukan di bawah jalur yang Anda tentukan ke `source_dir` parameter estimator kerangka kerja SageMaker AI di [Langkah](#profiler-profilerconfig) 2. Untuk informasi selengkapnya tentang menyiapkan `requirements.txt` file secara umum, lihat [Menggunakan pustaka pihak ketiga](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html#using-third-party-libraries) dalam dokumentasi *SageMaker Python SDK*. Dalam `requirements.txt` file, tambahkan salah satu jalur bucket S3 untuk file. [SageMaker Profiler Python paket file biner](profiler-support.md#profiler-python-package)

```
# requirements.txt
https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

**Opsi 2: Instal paket SageMaker Profiler di wadah Docker khusus Anda**

Jika Anda menggunakan wadah Docker khusus untuk pelatihan, tambahkan salah satunya [SageMaker Profiler Python paket file biner](profiler-support.md#profiler-python-package) ke Dockerfile Anda.

```
# Install the smprof package version compatible with your CUDA version
RUN pip install https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

Untuk panduan menjalankan wadah Docker khusus untuk pelatihan SageMaker AI secara umum, lihat [Mengadaptasi wadah pelatihan Anda sendiri](https://docs.aws.amazon.com/sagemaker/latest/dg/adapt-training-container.html).

# Buka aplikasi UI SageMaker Profiler
<a name="profiler-access-smprofiler-ui"></a>

Anda dapat mengakses aplikasi SageMaker Profiler UI melalui opsi berikut.

**Topics**
+ [Opsi 1: Luncurkan UI SageMaker Profiler dari halaman detail domain](#profiler-access-smprofiler-ui-console-smdomain)
+ [Opsi 2: Luncurkan aplikasi UI SageMaker Profiler dari halaman arahan SageMaker Profiler di konsol AI SageMaker](#profiler-access-smprofiler-ui-console-profiler-landing-page)
+ [Opsi 3: Gunakan fungsi peluncur aplikasi di SageMaker AI Python SDK](#profiler-access-smprofiler-ui-app-launcher-function)

## Opsi 1: Luncurkan UI SageMaker Profiler dari halaman detail domain
<a name="profiler-access-smprofiler-ui-console-smdomain"></a>

Jika Anda memiliki akses ke konsol SageMaker AI, Anda dapat mengambil opsi ini.

**Arahkan ke halaman detail domain**

 Prosedur berikut menunjukkan cara menavigasi ke halaman detail domain. 

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di panel navigasi kiri, pilih **domain**. 

1. Dari daftar domain, pilih domain tempat Anda ingin meluncurkan aplikasi SageMaker Profiler.

**Luncurkan aplikasi UI SageMaker Profiler**

Prosedur berikut menunjukkan cara meluncurkan aplikasi SageMaker Profiler yang dicakup ke profil pengguna. 

1. Pada halaman detail domain, pilih tab **Profil pengguna**. 

1. Identifikasi profil pengguna yang ingin Anda luncurkan aplikasi UI SageMaker Profiler. 

1. Pilih **Luncurkan** untuk profil pengguna yang dipilih, dan pilih **Profiler**. 

## Opsi 2: Luncurkan aplikasi UI SageMaker Profiler dari halaman arahan SageMaker Profiler di konsol AI SageMaker
<a name="profiler-access-smprofiler-ui-console-profiler-landing-page"></a>

Prosedur berikut menjelaskan cara meluncurkan aplikasi UI SageMaker Profiler dari halaman arahan SageMaker Profiler di konsol SageMaker AI. Jika Anda memiliki akses ke konsol SageMaker AI, Anda dapat mengambil opsi ini.

1. Buka konsol Amazon SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Di panel navigasi kiri, pilih **Profiler**.

1. Di bawah **Memulai**, pilih domain tempat Anda ingin meluncurkan aplikasi Studio Classic. Jika profil pengguna Anda hanya milik satu domain, Anda tidak melihat opsi untuk memilih domain.

1. Pilih profil pengguna yang ingin Anda luncurkan aplikasi UI SageMaker Profiler. Jika tidak ada profil pengguna di domain, pilih **Buat profil pengguna**. Untuk informasi selengkapnya tentang membuat profil pengguna baru, lihat [Menambahkan profil pengguna](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Pilih **Open Profiler.**

## Opsi 3: Gunakan fungsi peluncur aplikasi di SageMaker AI Python SDK
<a name="profiler-access-smprofiler-ui-app-launcher-function"></a>

Jika Anda adalah pengguna domain SageMaker AI dan hanya memiliki akses ke SageMaker Studio, Anda dapat mengakses aplikasi SageMaker Profiler UI melalui SageMaker Studio Classic dengan menjalankan [https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app](https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app)fungsinya.

Perhatikan bahwa SageMaker Studio Classic adalah pengalaman UI Studio sebelumnya sebelum re:Invent 2023, dan dimigrasikan sebagai aplikasi ke UI Studio yang baru dirancang di re:Invent 2023. Aplikasi UI SageMaker Profiler tersedia di tingkat domain SageMaker AI, dan karenanya memerlukan ID domain dan nama profil pengguna Anda. Saat ini, `DetailedProfilerApp` fungsi hanya berfungsi dalam aplikasi SageMaker Studio Classic; fungsi tersebut dengan benar mengambil informasi domain dan profil pengguna dari SageMaker Studio Classic.

Untuk domain, pengguna domain, dan Studio yang dibuat sebelum re:invent 2023, Studio Classic akan menjadi pengalaman default kecuali Anda telah memperbaruinya mengikuti petunjuk di Migrating [from](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-migrate.html) Amazon Studio Classic. SageMaker Jika ini kasus Anda, tidak ada tindakan lebih lanjut yang diperlukan, dan Anda dapat langsung meluncurkan aplikasi UI SageMaker Profiler dengan menjalankan `DetailProfilerApp` funciton.

Jika Anda membuat domain baru dan Studio setelah re:Invent 2023, luncurkan aplikasi Studio Classic dalam UI Studio dan kemudian jalankan `DetailProfilerApp` fungsi untuk meluncurkan aplikasi UI Profiler. SageMaker 

Perhatikan bahwa `DetailedProfilerApp` fungsi tersebut tidak berfungsi dalam pembelajaran mesin SageMaker AI lainnya IDEs, seperti JupyterLab aplikasi SageMaker Studio, aplikasi Editor Kode SageMaker Studio, dan instance SageMaker Notebook. Jika Anda menjalankan `DetailedProfilerApp` fungsi di dalamnya IDEs, ia mengembalikan URL ke halaman arahan Profiler di konsol SageMaker AI, bukan tautan langsung untuk membuka aplikasi UI Profiler.

# 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.

# Pemecahan Masalah untuk Profiler SageMaker
<a name="profiler-faq"></a>

Gunakan question-and-answer pasangan berikut untuk memecahkan masalah saat menggunakan SageMaker Profiler.

**Q. Saya mendapatkan pesan kesalahan, `ModuleNotFoundError: No module named 'smppy'`**

Sejak Desember 2023, nama paket SageMaker Profiler Python telah berubah dari `smppy` menjadi menyelesaikan masalah nama paket duplikat; sudah `smppy` digunakan oleh paket open source. `smprof`

Oleh karena itu, jika Anda telah menggunakan `smppy` sejak sebelum Desember 2023 dan mengalami `ModuleNotFoundError` masalah ini, mungkin karena nama paket yang sudah ketinggalan zaman dalam skrip pelatihan Anda saat `smprof` paket yang terakhir diinstal atau menggunakan salah satu yang terbaru. [SageMaker Gambar kerangka kerja AI yang sudah diinstal sebelumnya dengan Profiler SageMaker](profiler-support.md#profiler-support-frameworks) Dalam hal ini, pastikan Anda mengganti semua sebutan `smppy` dengan `smprof` seluruh skrip pelatihan Anda.

Saat memperbarui nama paket SageMaker Profiler Python dalam skrip pelatihan Anda, untuk menghindari kebingungan seputar versi nama paket mana yang harus Anda gunakan, pertimbangkan untuk menggunakan pernyataan impor bersyarat seperti yang ditunjukkan dalam cuplikan kode berikut.

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

Perhatikan juga bahwa jika Anda telah menggunakan `smppy` saat meningkatkan ke versi terbaru PyTorch atau TensorFlow versi, pastikan Anda menginstal `smprof` paket terbaru dengan mengikuti petunjuk di[(Opsional) Instal paket SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**Q. Saya mendapatkan pesan kesalahan, `ModuleNotFoundError: No module named 'smprof'`**

Pertama, pastikan Anda menggunakan salah satu Wadah Kerangka SageMaker AI yang didukung secara resmi. Jika Anda tidak menggunakan salah satunya, Anda dapat menginstal `smprof` paket dengan mengikuti instruksi di[(Opsional) Instal paket SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**Q. Saya tidak dapat mengimpor `ProfilerConfig`**

Jika Anda tidak dapat mengimpor `ProfilerConfig` skrip peluncur pekerjaan menggunakan SageMaker Python SDK, lingkungan lokal Anda atau kernel Jupyter mungkin memiliki versi Python SDK yang sudah ketinggalan zaman secara signifikan. SageMaker Pastikan Anda memutakhirkan SDK ke versi terbaru.

```
$ pip install --upgrade sagemaker
```

**Q. Saya mendapatkan pesan kesalahan, `aborted: core dumped when importing smprof into my training script`**

Dalam versi sebelumnya`smprof`, masalah ini terjadi dengan PyTorch 2.0\$1 dan PyTorch Lightning. Untuk mengatasi masalah ini, instal juga `smprof` paket terbaru dengan mengikuti petunjuk di[(Opsional) Instal paket SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**T. Saya tidak dapat menemukan UI SageMaker Profiler dari SageMaker Studio. Bagaimana saya bisa menemukannya?**

Jika Anda memiliki akses ke konsol SageMaker AI, pilih salah satu opsi berikut.
+ [Opsi 1: Luncurkan UI SageMaker Profiler dari halaman detail domain](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-smdomain)
+ [Opsi 2: Luncurkan aplikasi UI SageMaker Profiler dari halaman arahan SageMaker Profiler di konsol AI SageMaker](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-profiler-landing-page)

Jika Anda adalah pengguna domain dan tidak memiliki akses ke konsol SageMaker AI, Anda dapat mengakses aplikasi melalui SageMaker Studio Classic. Jika ini kasus Anda, pilih opsi berikut.
+ [Opsi 3: Gunakan fungsi peluncur aplikasi di SageMaker AI Python SDK](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-app-launcher-function)