Dapatkan rekomendasi kebijakan penskalaan otomatis - Amazon SageMaker

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

Dapatkan rekomendasi kebijakan penskalaan otomatis

Dengan Amazon SageMaker Inference Recommender, Anda bisa mendapatkan rekomendasi untuk kebijakan penskalaan otomatis untuk SageMaker titik akhir Anda berdasarkan pola lalu lintas yang Anda antisipasi. Jika Anda telah menyelesaikan pekerjaan rekomendasi inferensi, Anda dapat memberikan rincian pekerjaan untuk mendapatkan rekomendasi untuk kebijakan penskalaan otomatis yang dapat Anda terapkan ke titik akhir Anda.

Inference Recommender membandingkan nilai yang berbeda untuk setiap metrik untuk menentukan konfigurasi penskalaan otomatis yang ideal untuk titik akhir Anda. Rekomendasi penskalaan otomatis mengembalikan kebijakan penskalaan otomatis yang direkomendasikan untuk setiap metrik yang ditentukan dalam pekerjaan rekomendasi inferensi Anda. Anda dapat menyimpan kebijakan dan menerapkannya ke titik akhir Anda dengan PutScalingPolicyAPI.

Untuk memulai, tinjau prasyarat berikut.

Prasyarat

Sebelum Anda mulai, Anda harus telah menyelesaikan pekerjaan rekomendasi inferensi yang sukses. Di bagian berikut, Anda dapat memberikan ID rekomendasi inferensi atau nama SageMaker titik akhir yang dibenchmark selama pekerjaan rekomendasi inferensi.

Untuk mengambil ID lowongan rekomendasi atau nama titik akhir, Anda dapat melihat detail pekerjaan rekomendasi inferensi di SageMaker konsol, atau Anda dapat menggunakan EndpointName kolom RecommendationId atau yang ditampilkan oleh API. DescribeInferenceRecommendationsJob

Buat rekomendasi konfigurasi penskalaan otomatis

Untuk membuat kebijakan rekomendasi penskalaan otomatis, Anda dapat menggunakan. AWS SDK for Python (Boto3)

Contoh berikut menunjukkan bidang untuk GetScalingConfigurationRecommendationAPI. Gunakan bidang berikut saat Anda memanggil API:

  • InferenceRecommendationsJobName— Masukkan nama pekerjaan rekomendasi inferensi Anda.

  • RecommendationId— Masukkan ID rekomendasi inferensi dari pekerjaan rekomendasi. Ini opsional jika Anda telah menentukan EndpointName bidang.

  • EndpointName— Masukkan nama titik akhir yang telah dipatokan selama pekerjaan rekomendasi inferensi. Ini opsional jika Anda telah menentukan RecommendationId bidang.

  • TargetCpuUtilizationPerCore— (Opsional) Masukkan nilai persentase berapa banyak pemanfaatan yang Anda inginkan sebuah instance pada titik akhir Anda untuk digunakan sebelum penskalaan otomatis. Nilai default jika Anda tidak menentukan bidang ini adalah 50%.

  • ScalingPolicyObjective— (Opsional) Objek tempat Anda menentukan pola lalu lintas yang diantisipasi.

    • MinInvocationsPerMinute— (Opsional) Jumlah minimum permintaan yang diharapkan ke titik akhir Anda per menit.

    • MaxInvocationsPerMinute— (Opsional) Jumlah maksimum permintaan yang diharapkan ke titik akhir Anda per menit.

{ "InferenceRecommendationsJobName": "string", // Required "RecommendationId": "string", // Optional, provide one of RecommendationId or EndpointName "EndpointName": "string", // Optional, provide one of RecommendationId or EndpointName "TargetCpuUtilizationPerCore": number, // Optional "ScalingPolicyObjective": { // Optional "MinInvocationsPerMinute": number, "MaxInvocationsPerMinute": number } }

Setelah mengirimkan permintaan, Anda akan menerima respons dengan kebijakan penskalaan otomatis yang ditentukan untuk setiap metrik. Lihat bagian berikut untuk informasi tentang menafsirkan respons.

Tinjau hasil rekomendasi konfigurasi penskalaan otomatis Anda

Contoh berikut menunjukkan respons dari GetScalingConfigurationRecommendationAPI:

{ "InferenceRecommendationsJobName": "string", "RecommendationId": "string", // One of RecommendationId or EndpointName is shown "EndpointName": "string", "TargetUtilizationPercentage": Integer, "ScalingPolicyObjective": { "MinInvocationsPerMinute": Integer, "MaxInvocationsPerMinute": Integer }, "Metric": { "ModelLatency": Integer, "InvocationsPerInstance": Integer }, "DynamicScalingConfiguration": { "MinCapacity": number, "MaxCapacity": number, "ScaleInCooldown": number, "ScaleOutCooldown": number, "ScalingPolicies": [ { "TargetTracking": { "MetricSpecification": { "Predefined" { "PredefinedMetricType": "string" }, "Customized": { "MetricName": "string", "Namespace": "string", "Statistic": "string" } }, "TargetValue": Double } } ] } }

Bidang InferenceRecommendationsJobNameEndpointName, RecommendationID atauTargetCpuUtilizationPerCore,, dan ScalingPolicyObjective objek disalin dari permintaan awal Anda.

MetricObjek mencantumkan metrik yang dibenchmark dalam pekerjaan rekomendasi inferensi Anda, bersama dengan perhitungan nilai untuk setiap metrik ketika pemanfaatan instance akan sama dengan nilainya. TargetCpuUtilizationPerCore Hal ini berguna untuk mengantisipasi metrik kinerja pada titik akhir Anda saat menskalakan masuk dan keluar dengan kebijakan penskalaan otomatis yang direkomendasikan. Misalnya, pertimbangkan apakah pemanfaatan instans Anda adalah 50% dalam pekerjaan rekomendasi inferensi Anda dan InvocationsPerInstance nilai Anda pada awalnya. 4 Jika Anda menentukan TargetCpuUtilizationPerCore nilai menjadi 100% dalam permintaan rekomendasi penskalaan otomatis Anda, maka nilai InvocationsPerInstance metrik yang dikembalikan dalam respons adalah 2 karena Anda mengantisipasi mengalokasikan penggunaan instance dua kali lebih banyak.

DynamicScalingConfigurationObjek mengembalikan nilai yang harus Anda tentukan TargetTrackingScalingPolicyConfigurationsaat Anda memanggil PutScalingPolicyAPI. Ini termasuk nilai kapasitas minimum dan maksimum yang disarankan, waktu cooldown skala masuk dan skala yang disarankan, dan ScalingPolicies objek, yang berisi rekomendasi yang harus TargetValue Anda tentukan untuk setiap metrik.