Dapatkan rekomendasi inferensi untuk titik akhir yang ada - Amazon SageMaker

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

Dapatkan rekomendasi inferensi untuk titik akhir yang ada

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 SageMaker Inferensi yang ada untuk membantu Anda meningkatkan kinerja titik akhir Anda. Prosedur mendapatkan rekomendasi untuk titik akhir SageMaker Inferensi 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 untuk AWS SDK Python (Boto3) dan. 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 SageMaker Inferensi, 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 SageMaker Inferensi yang ada, AWS IAM peran, konfigurasi inputARN, dan paket model Anda ARN dari saat Anda mendaftarkan model Anda dengan registri model.

AWS SDK for Python (Boto3)

Gunakan CreateInferenceRecommendationsJobAPIuntuk 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 .

  • Amazon Resource Name (ARN) IAM peran yang memungkinkan Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk RoleArn bidang.

  • Paket ARN model berversi yang Anda buat saat Anda mendaftarkan model Anda dengan registri model. Tentukan ini untuk ModelPackageVersionArn di InputConfig lapangan.

  • Berikan nama titik akhir SageMaker Inferensi yang ada yang ingin Anda benchmark di Inference Recommender di bidang tersebut. Endpoints InputConfig

Impor AWS SDK for Python (Boto3) paket dan buat objek SageMaker klien menggunakan kelas klien. Jika Anda mengikuti langkah-langkah di bagian Prasyarat, grup paket model disimpan dalam ARN 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 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 mendapatkan rekomendasi titik akhir instance. Tetapkan job-type bidang untuk 'Default' misalnya pekerjaan rekomendasi titik akhir. Selain itu, berikan yang berikut:

  • Berikan nama untuk pekerjaan rekomendasi Inference Recommender Anda untuk bidang tersebut. job-name Nama pekerjaan Inference Recommender harus unik di dalam AWS Wilayah dan di dalam akun Anda AWS .

  • Nama Sumber Daya Amazon (ARN) IAM peran yang memungkinkan Amazon SageMaker Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk role-arn bidang.

  • Paket ARN model berversi yang Anda buat saat Anda mendaftarkan model Anda dengan Model Registry. Tentukan ini untuk ModelPackageVersionArn di input-config lapangan.

  • Berikan nama titik akhir SageMaker Inferensi yang ada yang ingin Anda benchmark di Inference Recommender di bidang tersebut. Endpoints input-config

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region:account:role/*>\", \"Endpoints\": [{\"EndpointName\": <endpoint_name>}] }"

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 JSON respons 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, peranARN, dan pembuatan serta waktu modifikasi terbaru.

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.

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