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. TentukanAdvanced
untukJobType
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:-
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
, tentukanPHASES
. Kemudian, untukPhases
array, tentukanInitialNumberOfUsers
(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), danDurationInSeconds
(berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600). -
Untuk
TrafficType
, tentukanSTAIRS
. Kemudian, untukStairs
array, tentukanDurationInSeconds
(berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600),NumberOfSteps
(berapa banyak interval yang digunakan selama fase), danUsersPerStep
(berapa banyak pengguna yang ditambahkan selama setiap interval). Perhatikan bahwa panjang setiap langkah adalah nilai dariDurationInSeconds / NumberOfSteps
. Misalnya, jika Anda600
dan AndaDurationInSeconds
menentukan5
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
, tentukanMaxNumberOfTests
(jumlah maksimum uji beban benchmarking untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10) danMaxParallelOfTests
(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 untukMaxConcurrency
danMemorySizeInMB
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:-
Untuk
MaxInvocations
, tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir, dengan minimum 1 dan maksimum 30.000. -
Untuk
ModelLatencyThresholds
, tentukanPercentile
(ambang persentil latensi model) danValueInMilliseconds
(nilai persentil latensi model dalam milidetik). -
(Opsional) Untuk
FlatInvocations
, 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 adalahStop
.
-
# 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 sampaikan
CreateInferenceRecommendationsJob
. -
- AWS CLI
-
Gunakan
create-inference-recommendations-job
API untuk membuat tes beban Inference Recommender. TentukanAdvanced
untukJobType
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:-
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
, tentukanPHASES
. Kemudian, untukPhases
array, tentukanInitialNumberOfUsers
(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), danDurationInSeconds
(berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600). -
Untuk
TrafficType
, tentukanSTAIRS
. Kemudian, untukStairs
array, tentukanDurationInSeconds
(berapa lama fase lalu lintas seharusnya, dengan minimum 120 dan maksimum 3600),NumberOfSteps
(berapa banyak interval yang digunakan selama fase), danUsersPerStep
(berapa banyak pengguna yang ditambahkan selama setiap interval). Perhatikan bahwa panjang setiap langkah adalah nilai dariDurationInSeconds / NumberOfSteps
. Misalnya, jika Anda600
dan AndaDurationInSeconds
menentukan5
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
, tentukanMaxNumberOfTests
(jumlah maksimum uji beban benchmarking untuk pekerjaan Inference Recommender, dengan minimal 1 dan maksimum 10) danMaxParallelOfTests
(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 untukMaxConcurrency
danMemorySizeInMB
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
, tentukanPercentile
(ambang persentil latensi model) danValueInMilliseconds
(nilai persentil latensi model dalam milidetik). -
(Opsional) Untuk
FlatInvocations
, 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 adalahStop
.
-
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.
-
Di aplikasi Studio Classic Anda, pilih ikon beranda ( ).
-
Di bilah sisi kiri Studio Classic, pilih Deployment.
-
Pilih Inference recommended dari daftar dropdown.
-
Pilih Buat pekerjaan pemberi rekomendasi inferensi. Tab baru berjudul Buat lowongan pemberi rekomendasi inferensi terbuka.
-
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.
-
Pilih versi model dari bidang versi model dropdown.
-
Pilih Lanjutkan.
-
Berikan nama untuk pekerjaan di bidang Nama.
-
(Opsional) Berikan deskripsi pekerjaan Anda di bidang Deskripsi.
-
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. -
Pilih Kondisi Berhenti untuk memperluas bidang input yang tersedia. Berikan serangkaian kondisi untuk menghentikan rekomendasi penerapan.
-
Tentukan jumlah maksimum permintaan per menit yang diharapkan untuk titik akhir di bidang Pemanggilan Maks Per Menit.
-
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.
-
-
Pilih Pola Lalu Lintas untuk memperluas bidang input yang tersedia.
-
Tetapkan jumlah awal pengguna virtual dengan menentukan bilangan bulat di bidang Nomor Awal Pengguna.
-
Berikan bilangan bulat untuk bidang Spawn Rate. Tingkat spawn menetapkan jumlah pengguna yang dibuat per detik.
-
Atur durasi untuk fase dalam detik dengan menentukan bilangan bulat di bidang Durasi.
-
(Opsional) Tambahkan pola lalu lintas tambahan. Untuk melakukannya, pilih Tambah.
-
-
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.
-
Pilih Lanjutkan.
-
Pilih Instans yang Dipilih.
-
Di bidang Instances for benchmarking, pilih Tambahkan instance untuk diuji. Pilih hingga 10 instans untuk Inference Recommender untuk digunakan untuk pengujian beban.
-
Pilih Pengaturan tambahan.
-
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.
-
Berikan bilangan bulat untuk bidang uji paralel Max. Pengaturan ini mendefinisikan batas atas pada jumlah tes beban yang dapat berjalan secara paralel.
-
-
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:
-
Pergi ke SageMaker konsol di https://console.aws.amazon.com/sagemaker/
. -
Di panel navigasi kiri, pilih Inferensi, lalu pilih Inference recommended.
-
Pada halaman lowongan pemberi rekomendasi inferensi, pilih Buat pekerjaan.
-
Untuk Langkah 1: Konfigurasi model, lakukan hal berikut:
-
Untuk jenis Job, pilih Lowongan pemberi rekomendasi lanjutan.
-
Jika Anda menggunakan model yang terdaftar di registri SageMaker model, aktifkan sakelar Pilih model dari registri model dan lakukan hal berikut:
-
Untuk daftar dropdown grup Model, pilih grup model di registri SageMaker model tempat model Anda berada.
-
Untuk daftar dropdown versi Model, pilih versi model yang diinginkan.
-
-
Jika Anda menggunakan model yang telah Anda buat SageMaker, matikan sakelar Pilih model dari registri model dan lakukan hal berikut:
-
Untuk bidang Nama model, masukkan nama SageMaker model Anda.
-
-
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.
-
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.
-
Untuk jenis konten Payload, masukkan MIME jenis data payload sampel Anda.
-
Untuk pola Lalu Lintas, konfigurasikan fase untuk uji beban dengan melakukan hal berikut:
-
Untuk jumlah pengguna awal, tentukan berapa banyak pengguna bersamaan yang ingin Anda mulai dengan (dengan minimal 1 dan maksimal 3).
-
Untuk tingkat Spawn, tentukan jumlah pengguna yang akan muncul dalam satu menit untuk fase (dengan minimum 0 dan maksimum 3).
-
Untuk Durasi (detik), tentukan seberapa rendah fase lalu lintas dalam hitungan detik (dengan minimum 120 dan maksimum 3600).
-
-
(Opsional) Jika Anda mematikan Pilih model dari registri model toggle dan menentukan SageMaker model, maka untuk konfigurasi Container, lakukan hal berikut:
-
Untuk daftar dropdown Domain, pilih domain pembelajaran mesin model, seperti visi komputer, pemrosesan bahasa alami, atau pembelajaran mesin.
-
Untuk daftar dropdown Framework, pilih framework penampung Anda, seperti TensorFlow atau. XGBoost
-
Untuk versi Framework, masukkan versi kerangka gambar kontainer Anda.
-
Untuk daftar dropdown nama model terdekat, pilih model pra-terlatih yang sebagian besar cocok dengan model Anda.
-
Untuk daftar tarik-turun Tugas, pilih tugas pembelajaran mesin yang diselesaikan model, seperti klasifikasi gambar atau regresi.
-
-
(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]}
. -
Pilih Berikutnya.
-
-
Untuk Langkah 2: Contoh dan parameter lingkungan, lakukan hal berikut:
-
Untuk Select instance untuk benchmarking, pilih hingga 8 jenis instans yang ingin Anda benchmark.
-
(Opsional) Untuk rentang parameter Lingkungan, Anda dapat menentukan parameter lingkungan yang membantu mengoptimalkan model Anda. Tentukan parameter sebagai pasangan Kunci dan Nilai.
-
Pilih Berikutnya.
-
-
Untuk Langkah 3: Parameter Job, lakukan hal berikut:
-
(Opsional) Untuk bidang Nama Job, masukkan nama untuk pekerjaan rekomendasi instans Anda. Saat Anda membuat pekerjaan, SageMaker tambahkan stempel waktu ke akhir nama ini.
-
(Opsional) Untuk kolom Job description, masukkan deskripsi untuk pekerjaan tersebut.
-
(Opsional) Untuk daftar dropdown kunci Enkripsi, pilih AWS KMS kunci berdasarkan nama atau masukkan ARN untuk mengenkripsi data Anda.
-
(Opsional) Untuk jumlah maksimum tes, masukkan jumlah tes yang ingin Anda jalankan selama pekerjaan rekomendasi.
-
(Opsional) Untuk tes paralel Max, masukkan jumlah maksimum tes paralel yang ingin Anda jalankan selama pekerjaan rekomendasi.
-
Untuk durasi pengujian Maks, masukkan jumlah detik maksimum yang Anda inginkan untuk dijalankan setiap pengujian.
-
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.
-
Untuk ambang latensi Model P99 (ms), masukkan persentil latensi model dalam milidetik.
-
Pilih Berikutnya.
-
-
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 untukJobName
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.
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 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 yangMaxInvocations
ditentukan dalam.StoppingConditions
Misalnya, jikaInstanceType
isml.m5.large
danInitialInstanceCount
is2
, maka Anda harus menyediakan 2ml.m5.large
instance untuk titik akhir Anda sehingga dapat menangani yang TPS ditentukan dalam kondisiMaxInvocations
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 maksimumInvokeEndpoint
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 pengecualian
ServerlessConfig
, yang memberi tahu Anda nilai yang Anda tentukan untukMaxConcurrency
danMemorySizeInMB
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 untukjob-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.
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 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 maksimumInvokeEndpoint
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 pengecualian
ServerlessConfig
, yang memberi tahu Anda nilai yang Anda tentukan untukMaxConcurrency
danMemorySizeInMB
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:
-
Pergi ke SageMaker konsol di https://console.aws.amazon.com/sagemaker/
. -
Di panel navigasi kiri, pilih Inferensi, lalu pilih Inference recommended.
-
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.
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.
-