Jalankan uji beban khusus - Amazon SageMaker

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

Jalankan uji beban khusus

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 for Python (Boto3) dan AWS CLI, atau secara interaktif menggunakan Amazon SageMaker Studio Classic atau konsol. SageMaker

Buat pekerjaan uji beban

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

AWS SDK for Python (Boto3)

Gunakan CreateInferenceRecommendationsJob API untuk membuat tes 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.

  • Amazon Resource Name (ARN) IAM peran 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:

    • UntukTrafficPattern, 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 dariDurationInSeconds / 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.

    • UntukResourceLimit, 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).

    • UntukEndpointConfigurations, Anda dapat menentukan salah satu dari berikut ini:

      • InstanceTypeBidang, tempat Anda menentukan jenis instance tempat Anda ingin menjalankan pengujian beban.

      • TheServerlessConfig, di mana Anda menentukan nilai ideal Anda untuk MaxConcurrency dan MemorySizeInMB untuk titik akhir tanpa server. Untuk informasi selengkapnya, lihat dokumentasi Inferensi Tanpa Server.

  • Kamus kondisi berhenti (StoppingConditions), di mana jika salah satu kondisi terpenuhi, pekerjaan Inference Recommender berhenti. Untuk contoh ini, tentukan bidang berikut dalam kamus:

    • UntukMaxInvocations, tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir, dengan minimum 1 dan maksimum 30.000.

    • UntukModelLatencyThresholds, tentukan Percentile (ambang persentil latensi model) dan ValueInMilliseconds (nilai persentil latensi model dalam milidetik).

    • (Opsional) UntukFlatInvocations, Anda dapat menentukan apakah akan melanjutkan uji beban ketika laju TPS (pemanggilan per menit) rata. TPSTingkat 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 sebagaiContinue. 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 SageMaker API Referensi Amazon untuk daftar lengkap argumen opsional dan wajib yang dapat Anda sampaikanCreateInferenceRecommendationsJob.

AWS CLI

Gunakan create-inference-recommendations-job API untuk membuat tes 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.

  • Amazon Resource Name (ARN) IAM peran 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:

    • UntukTrafficPattern, 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 dariDurationInSeconds / 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.

    • UntukResourceLimit, 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).

    • UntukEndpointConfigurations, Anda dapat menentukan salah satu dari berikut ini:

      • InstanceTypeBidang, tempat Anda menentukan jenis instance tempat Anda ingin menjalankan pengujian beban.

      • TheServerlessConfig, 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:

    • UntukMaxInvocations, tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir, dengan minimum 1 dan maksimum 30.000.

    • UntukModelLatencyThresholds, tentukan Percentile (ambang persentil latensi model) dan ValueInMilliseconds (nilai persentil latensi model dalam milidetik).

    • (Opsional) UntukFlatInvocations, Anda dapat menentukan apakah akan melanjutkan uji beban ketika laju TPS (pemanggilan per menit) rata. TPSTingkat 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 sebagaiContinue. 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. ).

  2. Di bilah sisi kiri Studio Classic, pilih Deployment.

  3. Pilih Inference recommended dari daftar dropdown.

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

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

  6. Pilih versi model dari bidang versi model dropdown.

  7. Pilih Lanjutkan.

  8. Berikan nama untuk pekerjaan di bidang Nama.

  9. (Opsional) Berikan deskripsi pekerjaan Anda di bidang Deskripsi.

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

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

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

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

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

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

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

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

  14. Pilih Lanjutkan.

  15. Pilih Instans yang Dipilih.

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

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

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

  18. 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 console

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

  1. Pergi ke SageMaker konsol di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi kiri, pilih Inferensi, lalu pilih Inference recommended.

  3. Pada halaman lowongan pemberi rekomendasi inferensi, pilih Buat pekerjaan.

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

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

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

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

      2. Untuk daftar dropdown versi Model, pilih versi model yang diinginkan.

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

      1. Untuk bidang Nama model, masukkan nama SageMaker model Anda.

    4. Untuk IAMperan, Anda dapat memilih AWS IAM peran 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 menambahkan izin yang diperlukan ke peran baru yang Anda buat.

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

    6. Untuk jenis konten Payload, masukkan MIME jenis data payload sampel Anda.

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

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

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

    8. (Opsional) Jika Anda mematikan Pilih model dari registri model toggle dan menentukan SageMaker model, maka 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.

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

      3. Untuk versi Framework, masukkan versi kerangka gambar kontainer Anda.

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

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

    9. (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]}.

    10. Pilih Berikutnya.

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

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

    3. Pilih Berikutnya.

  6. 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 tambahkan stempel waktu ke akhir nama ini.

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

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

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

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

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

    7. 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 akhiri pekerjaan.

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

    9. Pilih Berikutnya.

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

Dapatkan hasil tes beban Anda

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

AWS SDK for 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 JSON 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, peranARN, pembuatan, dan waktu penghapusan.

InferenceRecommendationsKamus 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 untuk memantau Amazon SageMaker dengan Amazon CloudWatch.

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 is2, maka Anda harus menyediakan 2 ml.m5.large instance untuk titik akhir Anda sehingga dapat menangani yang TPS ditentukan dalam kondisi MaxInvocations berhenti.

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. 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 pengecualianServerlessConfig, yang memberi tahu Anda nilai yang Anda tentukan untuk MaxConcurrency dan MemorySizeInMB saat menyiapkan uji beban. Rekomendasi tanpa server juga mengukur metrikModelSetupTime, 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.

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, peranARN, pembuatan, dan waktu penghapusan.

InferenceRecommendationsKamus 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 untuk memantau Amazon SageMaker dengan Amazon CloudWatch.

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. 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 pengecualianServerlessConfig, yang memberi tahu Anda nilai yang Anda tentukan untuk MaxConcurrency dan MemorySizeInMB saat menyiapkan uji beban. Rekomendasi tanpa server juga mengukur metrikModelSetupTime, 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.

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 Hasil menyediakan jendela tujuan dan SageMakerrekomendasi Deployment di mana Anda dapat menyesuaikan urutan hasil yang ditampilkan 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 console

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

  1. Pergi ke SageMaker konsol di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi kiri, pilih Inferensi, lalu pilih Inference recommended.

  3. 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 instance yang SageMaker direkomendasikan untuk model Anda, seperti yang ditunjukkan pada gambar berikut.

Tangkapan layar dari daftar rekomendasi inferensi di halaman detail pekerjaan di SageMaker konsol.

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