Dapatkan rekomendasi inferensi untuk titik akhir yang ada - Amazon SageMaker AI

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

AWS SDK for Python (Boto3)

Gunakan CreateInferenceRecommendationsJobAPI 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 di InputConfig 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.

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) dari peran IAM yang memungkinkan Amazon SageMaker Inference Recommender untuk melakukan tugas atas nama Anda. Tentukan ini untuk role-arn bidang.

  • ARN dari paket 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 Inferensi SageMaker AI yang ada yang ingin Anda benchmark di Inference Recommender di lapangan. 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 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.

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