

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

# Jalankan uji beban khusus
<a name="inference-recommender-load-test"></a>

Pengujian beban Amazon SageMaker Inference Recommender melakukan tolok ukur ekstensif berdasarkan persyaratan produksi untuk latensi dan throughput, pola lalu lintas khusus, dan titik akhir tanpa server atau instans real-time (hingga 10) yang Anda pilih.

Bagian berikut menunjukkan cara membuat, mendeskripsikan, dan menghentikan uji beban secara terprogram menggunakan AWS SDK untuk Python (Boto3) dan AWS CLI, atau secara interaktif menggunakan Amazon SageMaker Studio Classic atau konsol AI. SageMaker 

## Buat pekerjaan uji beban
<a name="load-test-create"></a>

Buat uji beban secara terprogram menggunakan AWS SDK untuk Python (Boto3), dengan AWS CLI, atau secara interaktif menggunakan Studio Classic atau konsol AI. SageMaker Seperti rekomendasi inferensi Inference Recommender, tentukan nama pekerjaan untuk uji beban Anda, ARN peran AWS IAM, konfigurasi input, dan ARN paket model Anda sejak Anda mendaftarkan model Anda dengan registri model. Tes beban mengharuskan Anda juga menentukan pola lalu lintas dan kondisi penghentian.

------
#### [ AWS SDK untuk Python (Boto3) ]

Gunakan `CreateInferenceRecommendationsJob` API untuk membuat uji beban Inference Recommender. Tentukan `Advanced` untuk `JobType` bidang dan berikan: 
+ Nama pekerjaan untuk uji beban Anda (`JobName`). Nama pekerjaan harus unik di AWS Wilayah Anda dan di dalam AWS akun Anda.
+ Nama Sumber Daya Amazon (ARN) dari peran IAM yang memungkinkan Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk `RoleArn` bidang.
+ Kamus konfigurasi titik akhir (`InputConfig`) tempat Anda menentukan yang berikut:
  + Untuk`TrafficPattern`, tentukan fase atau pola lalu lintas tangga. Dengan pola lalu lintas fase, pengguna baru muncul setiap menit dengan kecepatan yang Anda tentukan. Dengan pola lalu lintas tangga, pengguna baru muncul pada interval waktu (atau *langkah*) pada tingkat yang Anda tentukan. Pilih salah satu cara berikut:
    + Untuk `TrafficType`, tentukan `PHASES`. Kemudian, untuk `Phases` array, tentukan `InitialNumberOfUsers` (berapa banyak pengguna bersamaan untuk memulai, dengan minimal 1 dan maksimum 3), `SpawnRate` (jumlah pengguna yang akan muncul dalam satu menit untuk fase pengujian beban tertentu, dengan minimal 0 dan maksimum 3), dan `DurationInSeconds` (berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600).
    + Untuk `TrafficType`, tentukan `STAIRS`. Kemudian, untuk `Stairs` array, tentukan `DurationInSeconds` (berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600), `NumberOfSteps` (berapa banyak interval yang digunakan selama fase), dan `UsersPerStep` (berapa banyak pengguna yang ditambahkan selama setiap interval). Perhatikan bahwa panjang setiap langkah adalah nilai dari`DurationInSeconds / NumberOfSteps`. Misalnya, jika Anda `600` dan Anda `DurationInSeconds` menentukan `5` langkah-langkahnya, maka setiap langkah berdurasi 120 detik.
**catatan**  
Seorang pengguna didefinisikan sebagai aktor yang dihasilkan sistem yang berjalan dalam satu lingkaran dan memanggil permintaan ke titik akhir sebagai bagian dari Inference Recommender. Untuk XGBoost wadah tipikal yang berjalan pada sebuah `ml.c5.large` instance, titik akhir dapat mencapai 30.000 pemanggilan per menit (500 tps) hanya dengan 15-20 pengguna.
  + Untuk`ResourceLimit`, tentukan `MaxNumberOfTests` (jumlah maksimum uji beban benchmarking untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10) dan `MaxParallelOfTests` (jumlah maksimum uji beban benchmarking paralel untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10).
  + Untuk`EndpointConfigurations`, Anda dapat menentukan salah satu dari berikut ini:
    + `InstanceType`Bidang, tempat Anda menentukan jenis instance tempat Anda ingin menjalankan pengujian beban.
    + The`ServerlessConfig`, di mana Anda menentukan nilai ideal Anda untuk `MaxConcurrency` dan `MemorySizeInMB` untuk titik akhir tanpa server. Untuk informasi selengkapnya, lihat dokumentasi [Inferensi Tanpa Server](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html).
+ Kamus kondisi berhenti (`StoppingConditions`), di mana jika salah satu kondisi terpenuhi, pekerjaan Inference Recommender berhenti. Untuk contoh ini, tentukan bidang berikut dalam kamus:
  + Untuk`MaxInvocations`, tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir, dengan minimum 1 dan maksimum 30.000.
  + Untuk`ModelLatencyThresholds`, tentukan `Percentile` (ambang persentil latensi model) dan `ValueInMilliseconds` (nilai persentil latensi model dalam milidetik).
  + (Opsional) Untuk`FlatInvocations`, Anda dapat menentukan apakah akan melanjutkan uji beban ketika tingkat TPS (pemanggilan per menit) rata. Tingkat TPS yang diratakan biasanya berarti bahwa titik akhir telah mencapai kapasitas. Namun, Anda mungkin ingin terus memantau titik akhir dalam kondisi kapasitas penuh. Untuk melanjutkan uji beban ketika ini terjadi, tentukan nilai ini sebagai`Continue`. Jika tidak, nilai defaultnya adalah `Stop`.

```
# Create a low-level SageMaker service client.
import boto3
aws_region=<INSERT>
sagemaker_client=boto3.client('sagemaker', region=aws_region) 
                
# Provide a name to your recommendation based on load testing
load_test_job_name="<INSERT>"

# Provide the name of the sagemaker instance type
instance_type="<INSERT>"

# Provide the IAM Role that gives SageMaker permission to access AWS services 
role_arn='arn:aws:iam::<account>:role/*'

# Provide your model package ARN that was created when you registered your 
# model with Model Registry
model_package_arn='arn:aws:sagemaker:<region>:<account>:role/*'

sagemaker_client.create_inference_recommendations_job(
                        JobName=load_test_job_name,
                        JobType="Advanced",
                        RoleArn=role_arn,
                        InputConfig={
                            'ModelPackageVersionArn': model_package_arn,
                            "JobDurationInSeconds": 7200,
                            'TrafficPattern' : {
                                # Replace PHASES with STAIRS to use the stairs traffic pattern
                                'TrafficType': 'PHASES',
                                'Phases': [
                                    {
                                        'InitialNumberOfUsers': 1,
                                        'SpawnRate': 1,
                                        'DurationInSeconds': 120
                                    },
                                    {
                                        'InitialNumberOfUsers': 1,
                                        'SpawnRate': 1,
                                        'DurationInSeconds': 120
                                    }
                                ]
                                # Uncomment this section and comment out the Phases object above to use the stairs traffic pattern
                                # 'Stairs' : {
                                #   'DurationInSeconds': 240,
                                #   'NumberOfSteps': 2,
                                #   'UsersPerStep': 2
                                # }
                            },
                            'ResourceLimit': {
                                        'MaxNumberOfTests': 10,
                                        'MaxParallelOfTests': 3
                                },
                            "EndpointConfigurations" : [{
                                        'InstanceType': 'ml.c5.xlarge'
                                    },
                                    {
                                        'InstanceType': 'ml.m5.xlarge'
                                    },
                                    {
                                        'InstanceType': 'ml.r5.xlarge'
                                    }]
                                    # Uncomment the ServerlessConfig and comment out the InstanceType field if you want recommendations for a serverless endpoint
                                    # "ServerlessConfig": {
                                    #     "MaxConcurrency": value, 
                                    #     "MemorySizeInMB": value 
                                    # }
                        },
                        StoppingConditions={
                            'MaxInvocations': 1000,
                            'ModelLatencyThresholds':[{
                                'Percentile': 'P95', 
                                'ValueInMilliseconds': 100
                            }],
                            # Change 'Stop' to 'Continue' to let the load test continue if invocations flatten 
                            'FlatInvocations': 'Stop'
                        }
                )
```

Lihat [Panduan Referensi Amazon SageMaker API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html) untuk daftar lengkap argumen opsional dan wajib yang dapat Anda berikan`CreateInferenceRecommendationsJob`.

------
#### [ AWS CLI ]

Gunakan `create-inference-recommendations-job` API untuk membuat uji beban Inference Recommender. Tentukan `Advanced` untuk `JobType` bidang dan berikan: 
+ Nama pekerjaan untuk uji beban Anda (`job-name`). Nama pekerjaan harus unik di AWS Wilayah Anda dan di dalam AWS akun Anda.
+ Nama Sumber Daya Amazon (ARN) dari peran IAM yang memungkinkan Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk `role-arn` bidang.
+ Kamus konfigurasi titik akhir (`input-config`) tempat Anda menentukan yang berikut:
  + Untuk`TrafficPattern`, tentukan fase atau pola lalu lintas tangga. Dengan pola lalu lintas fase, pengguna baru muncul setiap menit dengan kecepatan yang Anda tentukan. Dengan pola lalu lintas tangga, pengguna baru muncul pada interval waktu (atau *langkah*) pada tingkat yang Anda tentukan. Pilih salah satu cara berikut:
    + Untuk `TrafficType`, tentukan `PHASES`. Kemudian, untuk `Phases` array, tentukan `InitialNumberOfUsers` (berapa banyak pengguna bersamaan untuk memulai, dengan minimal 1 dan maksimum 3), `SpawnRate` (jumlah pengguna yang akan muncul dalam satu menit untuk fase pengujian beban tertentu, dengan minimal 0 dan maksimum 3), dan `DurationInSeconds` (berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600).
    + Untuk `TrafficType`, tentukan `STAIRS`. Kemudian, untuk `Stairs` array, tentukan `DurationInSeconds` (berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600), `NumberOfSteps` (berapa banyak interval yang digunakan selama fase), dan `UsersPerStep` (berapa banyak pengguna yang ditambahkan selama setiap interval). Perhatikan bahwa panjang setiap langkah adalah nilai dari`DurationInSeconds / NumberOfSteps`. Misalnya, jika Anda `600` dan Anda `DurationInSeconds` menentukan `5` langkah-langkahnya, maka setiap langkah berdurasi 120 detik.
**catatan**  
Seorang pengguna didefinisikan sebagai aktor yang dihasilkan sistem yang berjalan dalam satu lingkaran dan memanggil permintaan ke titik akhir sebagai bagian dari Inference Recommender. Untuk XGBoost wadah tipikal yang berjalan pada sebuah `ml.c5.large` instance, titik akhir dapat mencapai 30.000 pemanggilan per menit (500 tps) hanya dengan 15-20 pengguna.
  + Untuk`ResourceLimit`, tentukan `MaxNumberOfTests` (jumlah maksimum uji beban benchmarking untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10) dan `MaxParallelOfTests` (jumlah maksimum uji beban benchmarking paralel untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10).
  + Untuk`EndpointConfigurations`, Anda dapat menentukan salah satu dari berikut ini:
    + `InstanceType`Bidang, tempat Anda menentukan jenis instance tempat Anda ingin menjalankan pengujian beban.
    + The`ServerlessConfig`, di mana Anda menentukan nilai ideal Anda untuk `MaxConcurrency` dan `MemorySizeInMB` untuk titik akhir tanpa server.
+ Kamus kondisi berhenti (`stopping-conditions`), di mana jika salah satu kondisi terpenuhi, pekerjaan Inference Recommender berhenti. Untuk contoh ini, tentukan bidang berikut dalam kamus:
  + Untuk`MaxInvocations`, tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir, dengan minimum 1 dan maksimum 30.000.
  + Untuk`ModelLatencyThresholds`, tentukan `Percentile` (ambang persentil latensi model) dan `ValueInMilliseconds` (nilai persentil latensi model dalam milidetik).
  + (Opsional) Untuk`FlatInvocations`, Anda dapat menentukan apakah akan melanjutkan uji beban ketika tingkat TPS (pemanggilan per menit) rata. Tingkat TPS yang diratakan biasanya berarti bahwa titik akhir telah mencapai kapasitas. Namun, Anda mungkin ingin terus memantau titik akhir dalam kondisi kapasitas penuh. Untuk melanjutkan uji beban ketika ini terjadi, tentukan nilai ini sebagai`Continue`. Jika tidak, nilai defaultnya adalah `Stop`.

```
aws sagemaker create-inference-recommendations-job\
    --region <region>\
    --job-name <job-name>\
    --job-type ADVANCED\
    --role-arn arn:aws:iam::<account>:role/*\
    --input-config \"{
        \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region>:<account>:role/*\",
        \"JobDurationInSeconds\": 7200,                                
        \"TrafficPattern\" : {
                # Replace PHASES with STAIRS to use the stairs traffic pattern
                \"TrafficType\": \"PHASES\",
                \"Phases\": [
                    {
                        \"InitialNumberOfUsers\": 1,
                        \"SpawnRate\": 60,
                        \"DurationInSeconds\": 300
                    }
                ]
                # Uncomment this section and comment out the Phases object above to use the stairs traffic pattern
                # 'Stairs' : {
                #   'DurationInSeconds': 240,
                #   'NumberOfSteps': 2,
                #   'UsersPerStep': 2
                # }
            },
            \"ResourceLimit\": {
                \"MaxNumberOfTests\": 10,
                \"MaxParallelOfTests\": 3
            },
            \"EndpointConfigurations\" : [
                {
                    \"InstanceType\": \"ml.c5.xlarge\"
                },
                {
                    \"InstanceType\": \"ml.m5.xlarge\"
                },
                {
                    \"InstanceType\": \"ml.r5.xlarge\"
                }
                # Use the ServerlessConfig and leave out the InstanceType fields if you want recommendations for a serverless endpoint
                # \"ServerlessConfig\": {
                #     \"MaxConcurrency\": value, 
                #     \"MemorySizeInMB\": value 
                # }
            ]
        }\"
    --stopping-conditions \"{
        \"MaxInvocations\": 1000,
        \"ModelLatencyThresholds\":[
                {
                    \"Percentile\": \"P95\", 
                    \"ValueInMilliseconds\": 100
                }
        ],
        # Change 'Stop' to 'Continue' to let the load test continue if invocations flatten 
        \"FlatInvocations\": \"Stop\"
    }\"
```

------
#### [ Amazon SageMaker Studio Classic ]

Buat tes beban dengan Studio Classic.

1. Di aplikasi Studio Classic Anda, pilih ikon beranda (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Di bilah sisi kiri Studio Classic, pilih **Deployment**.

1. Pilih **Inference recommended dari daftar** dropdown.

1. Pilih **Buat pekerjaan pemberi rekomendasi inferensi**. Tab baru berjudul **Buat lowongan pemberi rekomendasi inferensi terbuka**.

1. Pilih nama grup model Anda dari bidang **grup Model** dropdown. Daftar ini mencakup semua grup model yang terdaftar dengan registri model di akun Anda, termasuk model yang terdaftar di luar Studio Classic.

1. Pilih versi model dari bidang **versi model** dropdown.

1. Pilih **Lanjutkan**.

1. Berikan nama untuk pekerjaan di bidang **Nama**.

1. (Opsional) Berikan deskripsi pekerjaan Anda di bidang **Deskripsi**.

1. Pilih peran IAM yang memberikan izin Inference Recommender untuk mengakses layanan. AWS Anda dapat membuat peran dan melampirkan kebijakan terkelola `AmazonSageMakerFullAccess` IAM untuk mencapai hal ini, atau Anda dapat membiarkan Studio Classic membuat peran untuk Anda.

1. Pilih **Kondisi Berhenti** untuk memperluas bidang input yang tersedia. Berikan serangkaian kondisi untuk menghentikan rekomendasi penerapan. 

   1. Tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir di bidang **Pemanggilan Maks Per** Menit.

   1. Tentukan ambang latensi model dalam mikrodetik di bidang Ambang **Latensi Model**. **Ambang Latensi Model** menggambarkan interval waktu yang dibutuhkan oleh model untuk merespons sebagaimana dilihat dari Inference Recommender. Interval tersebut mencakup waktu komunikasi lokal yang diambil untuk mengirim permintaan dan untuk mengambil respons dari wadah model dan waktu yang dibutuhkan untuk menyelesaikan inferensi dalam wadah.

1. Pilih **Pola Lalu Lintas** untuk memperluas bidang input yang tersedia.

   1. Tetapkan jumlah awal pengguna virtual dengan menentukan bilangan bulat di bidang **Nomor Awal Pengguna**.

   1. Berikan bilangan bulat untuk bidang **Spawn** Rate. Tingkat spawn menetapkan jumlah pengguna yang dibuat per detik.

   1. Atur durasi untuk fase dalam detik dengan menentukan bilangan bulat di bidang **Durasi**.

   1. (Opsional) Tambahkan pola lalu lintas tambahan. Untuk melakukannya, pilih **Tambah**.

1. Pilih Pengaturan **tambahan** untuk menampilkan bidang **Durasi tes Maks**. Tentukan, dalam hitungan detik, waktu maksimum yang dapat diambil tes selama pekerjaan. Pekerjaan baru tidak dijadwalkan setelah durasi yang ditentukan. Ini membantu memastikan pekerjaan yang sedang berlangsung tidak dihentikan dan Anda hanya melihat pekerjaan yang sudah selesai.

1. Pilih **Lanjutkan**.

1. Pilih **Instans yang Dipilih**.

1. Di bidang **Instances for benchmarking**, pilih **Tambahkan instance** untuk diuji. Pilih hingga 10 instans untuk Inference Recommender untuk digunakan untuk pengujian beban.

1. Pilih **Pengaturan tambahan**.

   1. Berikan bilangan bulat yang menetapkan batas atas jumlah pengujian yang dapat dilakukan pekerjaan untuk **bidang jumlah tes Maks**. Perhatikan bahwa setiap konfigurasi titik akhir menghasilkan uji beban baru.

   1. Berikan bilangan bulat untuk bidang uji **paralel Max**. Pengaturan ini mendefinisikan batas atas pada jumlah tes beban yang dapat berjalan secara paralel.

1. Pilih **Kirim**.

   Tes beban bisa memakan waktu hingga 2 jam.
**Awas**  
Jangan tutup tab ini. Jika Anda menutup tab ini, Anda membatalkan tugas uji beban Inference Recommender.

------
#### [ SageMaker AI console ]

Buat uji beban khusus melalui konsol SageMaker AI dengan melakukan hal berikut:

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

1. Di panel navigasi kiri, pilih **Inferensi, lalu pilih **Inference**** recommended.

1. Pada halaman **lowongan pemberi rekomendasi inferensi, pilih **Buat** pekerjaan**.

1. Untuk **Langkah 1: Konfigurasi model**, lakukan hal berikut:

   1. Untuk **jenis Job**, pilih **Lowongan pemberi rekomendasi lanjutan**.

   1. Jika Anda menggunakan model yang terdaftar di registri model SageMaker AI, aktifkan sakelar **Pilih model dari registri model** dan lakukan hal berikut:

      1. Untuk daftar dropdown **grup Model**, pilih grup model di registri model SageMaker AI tempat model Anda berada.

      1. Untuk daftar dropdown **versi Model**, pilih versi model yang diinginkan.

   1. Jika Anda menggunakan model yang telah Anda buat di SageMaker AI, matikan sakelar **Pilih model dari registri model** dan lakukan hal berikut:

      1. Untuk bidang **Nama Model**, masukkan nama model SageMaker AI Anda.

   1. Untuk **peran IAM**, Anda dapat memilih peran AWS IAM yang ada yang memiliki izin yang diperlukan untuk membuat pekerjaan rekomendasi instans. Atau, jika Anda tidak memiliki peran yang ada, Anda dapat memilih **Buat peran baru** untuk membuka pop-up pembuatan peran, dan SageMaker AI menambahkan izin yang diperlukan ke peran baru yang Anda buat.

   1. Untuk **bucket S3 untuk benchmarking payload**, masukkan path Amazon S3 ke arsip payload sampel Anda, yang harus berisi contoh file payload yang digunakan Inference Recomder untuk membandingkan model Anda pada jenis instans yang berbeda.

   1. Untuk **jenis konten Payload, masukkan tipe** MIME dari data payload sampel Anda.

   1. Untuk **pola Lalu Lintas**, konfigurasikan fase untuk uji beban dengan melakukan hal berikut:

      1. Untuk **jumlah pengguna awal**, tentukan berapa banyak pengguna bersamaan yang ingin Anda mulai dengan (dengan minimal 1 dan maksimal 3).

      1. Untuk **tingkat Spawn**, tentukan jumlah pengguna yang akan muncul dalam satu menit untuk fase (dengan minimum 0 dan maksimum 3).

      1. Untuk **Durasi (detik)**, tentukan seberapa rendah fase lalu lintas dalam hitungan detik (dengan minimum 120 dan maksimum 3600).

   1. (Opsional) Jika Anda mematikan **tombol Pilih model dari registri model** dan menentukan model SageMaker AI, lalu untuk **konfigurasi Container**, lakukan hal berikut:

      1. Untuk daftar dropdown **Domain**, pilih domain pembelajaran mesin model, seperti visi komputer, pemrosesan bahasa alami, atau pembelajaran mesin.

      1. Untuk daftar dropdown **Framework**, pilih framework penampung Anda, seperti TensorFlow atau. XGBoost

      1. Untuk **versi Framework**, masukkan versi kerangka gambar kontainer Anda.

      1. Untuk daftar dropdown **nama model terdekat**, pilih model pra-terlatih yang sebagian besar cocok dengan model Anda.

      1. Untuk daftar tarik-turun **Tugas**, pilih tugas pembelajaran mesin yang diselesaikan model, seperti klasifikasi gambar atau regresi.

   1. (Opsional) Untuk **kompilasi Model menggunakan SageMaker Neo**, Anda dapat mengonfigurasi pekerjaan rekomendasi untuk model yang telah Anda kompilasi menggunakan SageMaker Neo. Untuk **konfigurasi input Data**, masukkan bentuk data input yang benar untuk model Anda dalam format yang mirip dengan`{'input':[1,1024,1024,3]}`.

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 2: Contoh dan parameter lingkungan**, lakukan hal berikut:

   1. Untuk **Select instance untuk benchmarking**, pilih hingga 8 jenis instans yang ingin Anda benchmark.

   1. (Opsional) Untuk **rentang parameter Lingkungan**, Anda dapat menentukan parameter lingkungan yang membantu mengoptimalkan model Anda. Tentukan parameter sebagai pasangan **Kunci** dan **Nilai**.

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 3: Parameter Job**, lakukan hal berikut:

   1. (Opsional) Untuk bidang **Nama Job**, masukkan nama untuk pekerjaan rekomendasi instans Anda. Saat Anda membuat pekerjaan, SageMaker AI menambahkan stempel waktu di akhir nama ini.

   1. (Opsional) Untuk kolom **Job description**, masukkan deskripsi untuk pekerjaan tersebut.

   1. (Opsional) Untuk daftar dropdown **kunci Enkripsi**, pilih AWS KMS kunci berdasarkan nama atau masukkan ARN untuk mengenkripsi data Anda.

   1. (Opsional) Untuk **jumlah maksimum tes**, masukkan jumlah tes yang ingin Anda jalankan selama pekerjaan rekomendasi.

   1. (Opsional) Untuk **tes paralel Max**, masukkan jumlah maksimum tes paralel yang ingin Anda jalankan selama pekerjaan rekomendasi.

   1. Untuk **durasi pengujian Maks**, masukkan jumlah detik maksimum yang Anda inginkan untuk dijalankan setiap pengujian.

   1. Untuk **pemanggilan Max per menit**, masukkan jumlah maksimum permintaan per menit yang dapat dicapai titik akhir sebelum menghentikan pekerjaan rekomendasi. Setelah mencapai batas ini, SageMaker AI mengakhiri pekerjaan.

   1. Untuk **ambang latensi Model P99 (ms)**, masukkan persentil latensi model dalam milidetik.

   1. Pilih **Berikutnya**.

1. Untuk **Langkah 4: Tinjau pekerjaan**, tinjau konfigurasi Anda, lalu pilih **Kirim**.

------

## Dapatkan hasil tes beban Anda
<a name="load-test-describe"></a>

Anda dapat mengumpulkan metrik secara terprogram di semua pengujian beban setelah pengujian beban selesai dengan AWS SDK untuk Python (Boto3), Studio Classic AWS CLI, atau konsol AI. SageMaker 

------
#### [ AWS SDK untuk Python (Boto3) ]

Kumpulkan metrik dengan `DescribeInferenceRecommendationsJob` API. Tentukan nama pekerjaan uji beban untuk `JobName` bidang:

```
load_test_response = sagemaker_client.describe_inference_recommendations_job(
                                                        JobName=load_test_job_name
                                                        )
```

Cetak objek respons.

```
load_test_response['Status']
```

Ini mengembalikan respon JSON mirip dengan contoh berikut. Perhatikan bahwa contoh ini menunjukkan jenis instance yang direkomendasikan untuk inferensi waktu nyata (untuk contoh yang menunjukkan rekomendasi inferensi tanpa server, lihat contoh setelah yang ini).

```
{
    'JobName': 'job-name', 
    'JobDescription': 'job-description', 
    'JobType': 'Advanced', 
    'JobArn': 'arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id', 
    'Status': 'COMPLETED', 
    'CreationTime': datetime.datetime(2021, 10, 26, 19, 38, 30, 957000, tzinfo=tzlocal()), 
    'LastModifiedTime': datetime.datetime(2021, 10, 26, 19, 46, 31, 399000, tzinfo=tzlocal()), 
    'InputConfig': {
        'ModelPackageVersionArn': 'arn:aws:sagemaker:region:account-id:model-package/resource-id', 
        'JobDurationInSeconds': 7200, 
        'TrafficPattern': {
            'TrafficType': 'PHASES'
            }, 
        'ResourceLimit': {
            'MaxNumberOfTests': 100, 
            'MaxParallelOfTests': 100
            }, 
        'EndpointConfigurations': [{
            'InstanceType': 'ml.c5d.xlarge'
            }]
        }, 
    'StoppingConditions': {
        'MaxInvocations': 1000, 
        'ModelLatencyThresholds': [{
            'Percentile': 'P95', 
            'ValueInMilliseconds': 100}
            ]}, 
    'InferenceRecommendations': [{
        'Metrics': {
            'CostPerHour': 0.6899999976158142, 
            'CostPerInference': 1.0332434612791985e-05, 
            'MaximumInvocations': 1113, 
            'ModelLatency': 100000
            }, 
    'EndpointConfiguration': {
        'EndpointName': 'endpoint-name', 
        'VariantName': 'variant-name', 
        'InstanceType': 'ml.c5d.xlarge', 
        'InitialInstanceCount': 3
        }, 
    'ModelConfiguration': {
        'Compiled': False, 
        'EnvironmentParameters': []
        }
    }], 
    'ResponseMetadata': {
        'RequestId': 'request-id', 
        'HTTPStatusCode': 200, 
        'HTTPHeaders': {
            'x-amzn-requestid': 'x-amzn-requestid', 
            'content-type': 'content-type', 
            'content-length': '1199', 
            'date': 'Tue, 26 Oct 2021 19:57:42 GMT'
            }, 
        'RetryAttempts': 0}
    }
```

Beberapa baris pertama memberikan informasi tentang pekerjaan uji beban itu sendiri. Ini termasuk nama pekerjaan, peran ARN, pembuatan, dan waktu penghapusan. 

`InferenceRecommendations`Kamus berisi daftar rekomendasi inferensi Inference Recommender.

Kamus `EndpointConfiguration` bersarang berisi rekomendasi instance type (`InstanceType`) bersama dengan titik akhir dan nama varian (model pembelajaran AWS mesin yang diterapkan) yang digunakan selama pekerjaan rekomendasi. Anda dapat menggunakan nama endpoint dan varian untuk pemantauan di Amazon CloudWatch Events. Untuk informasi selengkapnya, lihat [Metrik Amazon SageMaker AI di Amazon CloudWatch](monitoring-cloudwatch.md).

Kamus `EndpointConfiguration` bersarang juga berisi rekomendasi instance count (`InitialInstanceCount`). Ini adalah jumlah instance yang harus Anda sediakan di titik akhir untuk memenuhi yang `MaxInvocations` ditentukan dalam. `StoppingConditions` Misalnya, jika `InstanceType` is `ml.m5.large` dan `InitialInstanceCount` is`2`, maka Anda harus menyediakan 2 `ml.m5.large` instance untuk titik akhir Anda sehingga dapat menangani TPS yang ditentukan dalam kondisi berhenti. `MaxInvocations`

Kamus `Metrics` bersarang berisi informasi tentang perkiraan biaya per jam (`CostPerHour`) untuk titik akhir real-time Anda dalam dolar AS, perkiraan biaya per inferensi (`CostPerInference`) untuk titik akhir waktu nyata Anda, jumlah maksimum `InvokeEndpoint` permintaan yang dikirim ke titik akhir, dan latensi model (`ModelLatency`), yang merupakan interval waktu (dalam mikrodetik) yang diambil model Anda untuk merespons AI. SageMaker Latensi model mencakup waktu komunikasi lokal yang diambil untuk mengirim permintaan dan untuk mengambil respons dari wadah model dan waktu yang dibutuhkan untuk menyelesaikan inferensi dalam wadah.

Contoh berikut menunjukkan `InferenceRecommendations` bagian respons untuk pekerjaan uji beban yang dikonfigurasi untuk mengembalikan rekomendasi inferensi tanpa server:

```
"InferenceRecommendations": [ 
      { 
         "EndpointConfiguration": { 
            "EndpointName": "value",
            "InitialInstanceCount": value,
            "InstanceType": "value",
            "VariantName": "value",
            "ServerlessConfig": {
                "MaxConcurrency": value,
                "MemorySizeInMb": value
            }
         },
         "InvocationEndTime": value,
         "InvocationStartTime": value,
         "Metrics": { 
            "CostPerHour": value,
            "CostPerInference": value,
            "CpuUtilization": value,
            "MaxInvocations": value,
            "MemoryUtilization": value,
            "ModelLatency": value,
            "ModelSetupTime": value
         },
         "ModelConfiguration": { 
            "Compiled": "False",
            "EnvironmentParameters": [],
            "InferenceSpecificationName": "value"
         },
         "RecommendationId": "value"
      }
   ]
```

Anda dapat menafsirkan rekomendasi untuk inferensi tanpa server mirip dengan hasil untuk inferensi waktu nyata, dengan pengecualian`ServerlessConfig`, yang memberi tahu Anda nilai yang Anda tentukan untuk `MaxConcurrency` dan `MemorySizeInMB` saat menyiapkan uji beban. Rekomendasi tanpa server juga mengukur metrik`ModelSetupTime`, yang mengukur (dalam mikrodetik) waktu yang diperlukan untuk meluncurkan sumber daya komputasi pada titik akhir tanpa server. Untuk informasi selengkapnya tentang pengaturan titik akhir tanpa server, lihat dokumentasi Inferensi Tanpa [Server](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html).

------
#### [ AWS CLI ]

Kumpulkan metrik dengan `describe-inference-recommendations-job` API. Tentukan nama pekerjaan uji beban untuk `job-name` bendera:

```
aws sagemaker describe-inference-recommendations-job --job-name <job-name>
```

Ini mengembalikan respons yang mirip dengan contoh berikut. Perhatikan bahwa contoh ini menunjukkan jenis instance yang direkomendasikan untuk inferensi waktu nyata (untuk contoh yang menunjukkan rekomendasi Inferensi Tanpa Server, lihat contoh setelah yang ini).

```
{
    'JobName': 'job-name', 
    'JobDescription': 'job-description', 
    'JobType': 'Advanced', 
    'JobArn': 'arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id', 
    'Status': 'COMPLETED', 
    'CreationTime': datetime.datetime(2021, 10, 26, 19, 38, 30, 957000, tzinfo=tzlocal()), 
    'LastModifiedTime': datetime.datetime(2021, 10, 26, 19, 46, 31, 399000, tzinfo=tzlocal()), 
    'InputConfig': {
        'ModelPackageVersionArn': 'arn:aws:sagemaker:region:account-id:model-package/resource-id', 
        'JobDurationInSeconds': 7200, 
        'TrafficPattern': {
            'TrafficType': 'PHASES'
            }, 
        'ResourceLimit': {
            'MaxNumberOfTests': 100, 
            'MaxParallelOfTests': 100
            }, 
        'EndpointConfigurations': [{
            'InstanceType': 'ml.c5d.xlarge'
            }]
        }, 
    'StoppingConditions': {
        'MaxInvocations': 1000, 
        'ModelLatencyThresholds': [{
            'Percentile': 'P95', 
            'ValueInMilliseconds': 100
            }]
        }, 
    'InferenceRecommendations': [{
        'Metrics': {
        'CostPerHour': 0.6899999976158142, 
        'CostPerInference': 1.0332434612791985e-05, 
        'MaximumInvocations': 1113, 
        'ModelLatency': 100000
        }, 
        'EndpointConfiguration': {
            'EndpointName': 'endpoint-name', 
            'VariantName': 'variant-name', 
            'InstanceType': 'ml.c5d.xlarge', 
            'InitialInstanceCount': 3
            }, 
        'ModelConfiguration': {
            'Compiled': False, 
            'EnvironmentParameters': []
            }
        }], 
    'ResponseMetadata': {
        'RequestId': 'request-id', 
        'HTTPStatusCode': 200, 
        'HTTPHeaders': {
            'x-amzn-requestid': 'x-amzn-requestid', 
            'content-type': 'content-type', 
            'content-length': '1199', 
            'date': 'Tue, 26 Oct 2021 19:57:42 GMT'
            }, 
        'RetryAttempts': 0
        }
    }
```

Beberapa baris pertama memberikan informasi tentang pekerjaan uji beban itu sendiri. Ini termasuk nama pekerjaan, peran ARN, pembuatan, dan waktu penghapusan. 

`InferenceRecommendations`Kamus berisi daftar rekomendasi inferensi Inference Recommender.

Kamus `EndpointConfiguration` bersarang berisi rekomendasi instance type (`InstanceType`) bersama dengan titik akhir dan nama varian (model pembelajaran AWS mesin yang diterapkan) yang digunakan selama pekerjaan rekomendasi. Anda dapat menggunakan nama endpoint dan varian untuk pemantauan di Amazon CloudWatch Events. Untuk informasi selengkapnya, lihat [Metrik Amazon SageMaker AI di Amazon CloudWatch](monitoring-cloudwatch.md).

Kamus `Metrics` bersarang berisi informasi tentang perkiraan biaya per jam (`CostPerHour`) untuk titik akhir real-time Anda dalam dolar AS, perkiraan biaya per inferensi (`CostPerInference`) untuk titik akhir waktu nyata Anda, jumlah maksimum `InvokeEndpoint` permintaan yang dikirim ke titik akhir, dan latensi model (`ModelLatency`), yang merupakan interval waktu (dalam mikrodetik) yang diambil model Anda untuk merespons AI. SageMaker Latensi model mencakup waktu komunikasi lokal yang diambil untuk mengirim permintaan dan untuk mengambil respons dari wadah model dan waktu yang dibutuhkan untuk menyelesaikan inferensi dalam wadah.

Contoh berikut menunjukkan `InferenceRecommendations` bagian respons untuk pekerjaan uji beban yang dikonfigurasi untuk mengembalikan rekomendasi inferensi tanpa server:

```
"InferenceRecommendations": [ 
      { 
         "EndpointConfiguration": { 
            "EndpointName": "value",
            "InitialInstanceCount": value,
            "InstanceType": "value",
            "VariantName": "value",
            "ServerlessConfig": {
                "MaxConcurrency": value,
                "MemorySizeInMb": value
            }
         },
         "InvocationEndTime": value,
         "InvocationStartTime": value,
         "Metrics": { 
            "CostPerHour": value,
            "CostPerInference": value,
            "CpuUtilization": value,
            "MaxInvocations": value,
            "MemoryUtilization": value,
            "ModelLatency": value,
            "ModelSetupTime": value
         },
         "ModelConfiguration": { 
            "Compiled": "False",
            "EnvironmentParameters": [],
            "InferenceSpecificationName": "value"
         },
         "RecommendationId": "value"
      }
   ]
```

Anda dapat menafsirkan rekomendasi untuk inferensi tanpa server mirip dengan hasil untuk inferensi waktu nyata, dengan pengecualian`ServerlessConfig`, yang memberi tahu Anda nilai yang Anda tentukan untuk `MaxConcurrency` dan `MemorySizeInMB` saat menyiapkan uji beban. Rekomendasi tanpa server juga mengukur metrik`ModelSetupTime`, yang mengukur (dalam mikrodetik) waktu yang diperlukan untuk meluncurkan sumber daya komputer pada titik akhir tanpa server. Untuk informasi selengkapnya tentang pengaturan titik akhir tanpa server, lihat dokumentasi Inferensi Tanpa [Server](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html).

------
#### [ Amazon SageMaker Studio Classic ]

Rekomendasi terisi di tab baru yang disebut **Rekomendasi inferensi** dalam Studio Classic. Diperlukan waktu hingga 2 jam agar hasilnya muncul. Tab ini berisi kolom **Hasil** dan **Detail**.

Kolom **Detail** memberikan informasi tentang pekerjaan uji beban, seperti nama yang diberikan untuk pekerjaan uji beban, saat pekerjaan dibuat (**Waktu pembuatan**), dan banyak lagi. Ini juga berisi informasi **Pengaturan**, seperti jumlah maksimum pemanggilan yang terjadi per menit dan informasi tentang Nama Sumber Daya Amazon yang digunakan.

Kolom **Results** menyediakan **tujuan Deployment** dan jendela **rekomendasi SageMaker AI** di mana Anda dapat menyesuaikan urutan tampilan hasil berdasarkan kepentingan penerapan. Ada tiga menu tarik-turun di mana Anda dapat memberikan tingkat kepentingan **Biaya**, **Latensi**, dan **Throughput** untuk kasus penggunaan Anda. Untuk setiap tujuan (biaya, latensi, dan throughput), Anda dapat menetapkan tingkat kepentingan: Kepentingan **Terendah, Kepentingan** **Rendah, Kepentingan** **sedang, Kepentingan** **tinggi, atau Kepentingan** **tertinggi**. 

Berdasarkan pilihan penting Anda untuk setiap tujuan, Inference Recommender menampilkan rekomendasi teratasnya di bidang **SageMakerrekomendasi** di sebelah kanan panel, bersama dengan perkiraan biaya per jam dan permintaan inferensi. Ini juga menyediakan Informasi tentang latensi model yang diharapkan, jumlah maksimum pemanggilan, dan jumlah instance.

Selain rekomendasi teratas yang ditampilkan, Anda juga dapat melihat informasi yang sama ditampilkan untuk semua instance yang diuji oleh Inference Recommender di bagian **Semua** berjalan.

------
#### [ SageMaker AI console ]

Anda dapat melihat hasil pekerjaan uji beban kustom di konsol SageMaker AI dengan melakukan hal berikut:

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

1. Di panel navigasi kiri, pilih **Inferensi, lalu pilih **Inference**** recommended.

1. Pada halaman **pekerjaan pemberi rekomendasi inferensi**, pilih nama pekerjaan rekomendasi inferensi Anda.

Pada halaman detail untuk pekerjaan Anda, Anda dapat melihat **rekomendasi Inferensi**, yang merupakan jenis instans yang direkomendasikan SageMaker AI untuk model Anda, seperti yang ditunjukkan pada tangkapan layar berikut.

![\[Tangkapan layar dari daftar rekomendasi inferensi di halaman detail pekerjaan di konsol SageMaker AI.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/inf-rec-instant-recs.png)


Di bagian ini, Anda dapat membandingkan jenis instans dengan berbagai faktor seperti **latensi Model**, **Biaya per jam, Biaya per** **inferensi**, dan **Pemanggilan** per menit.

Di halaman ini, Anda juga dapat melihat konfigurasi yang Anda tentukan untuk pekerjaan Anda. Di bagian **Monitor**, Anda dapat melihat CloudWatch metrik Amazon yang dicatat untuk setiap jenis instans. Untuk mempelajari lebih lanjut tentang menafsirkan metrik ini, lihat [Menafsirkan](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender-interpret-results.html) hasil.

------