Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pekerjaan rekomendasi inferensi menjalankan serangkaian uji beban pada jenis instance yang direkomendasikan dan titik akhir yang ada. Pekerjaan rekomendasi inferensi menggunakan metrik kinerja yang didasarkan pada uji beban menggunakan data sampel yang Anda berikan selama pendaftaran versi model.
Anda dapat melakukan benchmark dan mendapatkan rekomendasi inferensi untuk titik akhir Inferensi SageMaker AI yang ada untuk membantu Anda meningkatkan kinerja titik akhir Anda. Prosedur mendapatkan rekomendasi untuk titik akhir Inferensi SageMaker AI yang ada mirip dengan prosedur untuk mendapatkan rekomendasi inferensi tanpa titik akhir. Ada beberapa pengecualian fitur yang perlu diperhatikan saat membandingkan titik akhir yang ada:
-
Anda hanya dapat menggunakan satu titik akhir yang ada per pekerjaan Inference Recommender.
-
Anda hanya dapat memiliki satu varian di titik akhir Anda.
-
Anda tidak dapat menggunakan titik akhir yang memungkinkan penskalaan otomatis.
-
Fungsionalitas ini hanya didukung untuk Inferensi Real-Time.
-
Fungsionalitas ini tidak mendukung Titik Akhir Multi-Model Real-Time.
Awas
Kami sangat menyarankan agar Anda tidak menjalankan pekerjaan Inference Recommender pada titik akhir produksi yang menangani lalu lintas langsung. Beban sintetis selama pembandingan dapat memengaruhi titik akhir produksi Anda dan menyebabkan pelambatan atau memberikan hasil benchmark yang tidak akurat. Kami menyarankan Anda menggunakan titik akhir non-produksi atau pengembang untuk tujuan perbandingan.
Bagian berikut menunjukkan cara menggunakan Amazon SageMaker Inference Recommender untuk membuat rekomendasi inferensi untuk titik akhir yang ada berdasarkan jenis model Anda menggunakan AWS SDK for Python (Boto3) dan file. AWS CLI
catatan
Sebelum Anda membuat pekerjaan rekomendasi Inference Recommender, pastikan Anda telah puas. Prasyarat untuk menggunakan Amazon Inference Recommender SageMaker
Prasyarat
Jika Anda belum memiliki titik akhir Inferensi SageMaker AI, Anda bisa mendapatkan rekomendasi inferensi tanpa titik akhir, atau Anda dapat membuat titik akhir Inferensi Waktu Nyata dengan mengikuti instruksi di Buat titik akhir Anda dan terapkan model Anda.
Buat pekerjaan rekomendasi inferensi untuk titik akhir yang ada
Buat rekomendasi inferensi secara terprogram menggunakan AWS SDK for Python (Boto3), atau. AWS CLI Tentukan nama pekerjaan untuk rekomendasi inferensi Anda, nama titik akhir Inferensi SageMaker AI yang ada, ARN peran AWS IAM, konfigurasi input, dan ARN paket model Anda sejak Anda mendaftarkan model Anda dengan registri model.
Gunakan CreateInferenceRecommendationsJob
API untuk mendapatkan rekomendasi inferensi. Tetapkan JobType
bidang 'Default'
untuk pekerjaan rekomendasi inferensi. Selain itu, berikan yang berikut:
-
Berikan nama untuk pekerjaan rekomendasi Inference Recommender Anda untuk bidang tersebut.
JobName
Nama pekerjaan Inference Recommender harus unik di dalam AWS Wilayah dan di dalam akun Anda AWS . -
Nama Sumber Daya Amazon (ARN) dari peran IAM yang memungkinkan Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk
RoleArn
bidang. -
ARN dari paket model berversi yang Anda buat saat Anda mendaftarkan model Anda dengan registri model. Tentukan ini untuk
ModelPackageVersionArn
diInputConfig
lapangan. -
Berikan nama titik akhir Inferensi SageMaker AI yang ada yang ingin Anda benchmark di Inference Recommender di lapangan.
Endpoints
InputConfig
Impor AWS SDK for Python (Boto3) paket dan buat objek klien SageMaker AI menggunakan kelas klien. Jika Anda mengikuti langkah-langkah di bagian Prasyarat, kelompok paket model ARN disimpan dalam variabel bernama. model_package_arn
# Create a low-level SageMaker service client.
import boto3
aws_region = '<region>'
sagemaker_client = boto3.client('sagemaker', region_name=aws_region)
# Provide your model package ARN that was created when you registered your
# model with Model Registry
model_package_arn = '<model-package-arn>'
# Provide a unique job name for SageMaker Inference Recommender job
job_name = '<job-name>'
# Inference Recommender job type. Set to Default to get an initial recommendation
job_type = 'Default'
# Provide an IAM Role that gives SageMaker Inference Recommender permission to
# access AWS services
role_arn = '<arn:aws:iam::<account>:role/*>'
# Provide endpoint name for your endpoint that want to benchmark in Inference Recommender
endpoint_name = '<existing-endpoint-name>'
sagemaker_client.create_inference_recommendations_job(
JobName = job_name,
JobType = job_type,
RoleArn = role_arn,
InputConfig = {
'ModelPackageVersionArn': model_package_arn,
'Endpoints': [{'EndpointName': endpoint_name}]
}
)
Lihat Panduan Referensi Amazon SageMaker API untuk daftar lengkap argumen opsional dan wajib yang dapat Anda berikan CreateInferenceRecommendationsJob
.
Dapatkan hasil pekerjaan rekomendasi inferensi Anda
Anda dapat mengumpulkan hasil pekerjaan rekomendasi inferensi Anda secara terprogram dengan prosedur yang sama untuk pekerjaan rekomendasi inferensi standar. Untuk informasi selengkapnya, lihat Dapatkan hasil pekerjaan rekomendasi inferensi Anda.
Ketika Anda mendapatkan hasil pekerjaan rekomendasi inferensi untuk titik akhir yang ada, Anda harus menerima respons JSON yang mirip dengan berikut ini:
{
"JobName": "job-name"
,
"JobType": "Default",
"JobArn": "arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
",
"RoleArn": "iam-role-arn"
,
"Status": "COMPLETED",
"CreationTime": 1664922919.2,
"LastModifiedTime": 1664924208.291,
"InputConfig": {
"ModelPackageVersionArn": "arn:aws:sagemaker:region
:account-id
:model-package/resource-id
",
"Endpoints": [
{
"EndpointName": "endpoint-name"
}
]
},
"InferenceRecommendations": [
{
"Metrics": {
"CostPerHour": 0.7360000014305115,
"CostPerInference": 7.456940238625975e-06,
"MaxInvocations": 1645,
"ModelLatency": 171
},
"EndpointConfiguration": {
"EndpointName": "sm-endpoint-name"
,
"VariantName": "variant-name"
,
"InstanceType": "ml.g4dn.xlarge",
"InitialInstanceCount": 1
},
"ModelConfiguration": {
"EnvironmentParameters": [
{
"Key": "TS_DEFAULT_WORKERS_PER_MODEL",
"ValueType": "string",
"Value": "4"
}
]
}
}
],
"EndpointPerformances": [
{
"Metrics": {
"MaxInvocations": 184,
"ModelLatency": 1312
},
"EndpointConfiguration": {
"EndpointName": "endpoint-name"
}
}
]
}
Beberapa baris pertama memberikan informasi tentang pekerjaan rekomendasi inferensi itu sendiri. Ini termasuk nama pekerjaan, peran ARN, dan pembuatan dan waktu modifikasi terbaru.
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.
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
) dalam dolar AS untuk titik akhir waktu nyata Anda, jumlah maksimum yang diharapkan InvokeEndpoint
permintaan per menit yang dikirim ke titik akhir (MaxInvocations
), dan latensi model (ModelLatency
), yang merupakan interval waktu (dalam milidetik) 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.
Kamus EndpointPerformances
bersarang berisi nama titik akhir yang ada tempat tugas rekomendasi dijalankan (EndpointName
) dan metrik kinerja untuk titik akhir Anda (dan). MaxInvocations
ModelLatency