Menentukan kebijakan penskalaan - Amazon SageMaker

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

Menentukan kebijakan penskalaan

Sebelum menambahkan kebijakan penskalaan ke model, simpan konfigurasi kebijakan Anda sebagai JSON blok dalam file teks. Anda menggunakan file teks tersebut saat menjalankan AWS Command Line Interface (AWS CLI) atau Application Auto API Scaling. Anda dapat mengoptimalkan penskalaan dengan memilih CloudWatch metrik yang sesuai. Namun, sebelum menggunakan metrik khusus dalam produksi, Anda harus menguji penskalaan otomatis dengan metrik khusus Anda.

Bagian ini menunjukkan contoh konfigurasi kebijakan untuk kebijakan penskalaan pelacakan target.

Tentukan metrik yang telah ditentukan (CloudWatch metrik: InvocationsPerInstance)

Berikut ini adalah contoh konfigurasi kebijakan pelacakan target untuk varian yang menjaga pemanggilan rata-rata per instance pada 70. Simpan konfigurasi ini dalam file bernama config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } }

Untuk informasi selengkapnya, lihat TargetTrackingScalingPolicyConfigurationdi Referensi Application Auto Scaling. API

Tentukan metrik standar resolusi tinggi (CloudWatch metrik: dan) ConcurrentRequestsPerModel ConcurrentRequestsPerCopy

Dengan CloudWatch metrik resolusi tinggi berikut, Anda dapat menyetel kebijakan penskalaan untuk volume permintaan bersamaan yang diterima model Anda:

ConcurrentRequestsPerModel

Jumlah permintaan bersamaan yang diterima oleh wadah model.

ConcurrentRequestsPerCopy

Jumlah permintaan bersamaan yang diterima oleh komponen inferensi.

Metrik ini melacak jumlah permintaan simultan yang ditangani oleh container model Anda, termasuk permintaan yang diantrian di dalam container. Untuk model yang mengirimkan respons inferensi mereka sebagai aliran token, metrik ini melacak setiap permintaan hingga model mengirimkan token terakhir untuk permintaan tersebut.

Sebagai metrik resolusi tinggi, mereka memancarkan data lebih sering daripada metrik standar. CloudWatch Metrik standar, seperti InvocationsPerInstance metrik, memancarkan data setiap menit sekali. Namun, metrik resolusi tinggi ini memancarkan data setiap 10 detik. Oleh karena itu, ketika lalu lintas bersamaan ke model Anda meningkat, kebijakan Anda bereaksi dengan menskalakan jauh lebih cepat daripada metrik standar. Namun, karena lalu lintas ke model Anda berkurang, kebijakan Anda menskalakan dengan kecepatan yang sama seperti untuk metrik standar.

Berikut ini adalah contoh konfigurasi kebijakan pelacakan target yang menambahkan instance jika jumlah permintaan bersamaan per model melebihi 5. Simpan konfigurasi ini dalam file bernama config.json.

{ "TargetValue": 5.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantConcurrentRequestsPerModelHighResolution" } }

Jika Anda menggunakan komponen inferensi untuk menerapkan beberapa model ke titik akhir yang sama, Anda dapat membuat kebijakan yang setara. Dalam hal ini, atur PredefinedMetricType keSageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution.

Untuk informasi selengkapnya, lihat TargetTrackingScalingPolicyConfigurationdi Referensi Application Auto Scaling. API

Tentukan metrik khusus (CloudWatchmetrik:CPUUtilization)

Untuk membuat kebijakan penskalaan pelacakan target dengan metrik kustom, tentukan nama metrik, namespace, unit, statistik, dan dimensi nol atau lebih. Dimensi terdiri dari nama dimensi dan nilai dimensi. Anda dapat menggunakan metrik varian produksi apa pun yang berubah sebanding dengan kapasitas.

Contoh konfigurasi berikut menunjukkan kebijakan penskalaan pelacakan target dengan metrik kustom. Kebijakan ini menskalakan varian berdasarkan CPU pemanfaatan rata-rata 50 persen di semua kasus. Simpan konfigurasi ini dalam file bernama config.json.

{ "TargetValue": 50.0, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Average", "Unit": "Percent" } }

Untuk informasi selengkapnya, lihat CustomizedMetricSpecificationdi Referensi Application Auto Scaling. API

Tentukan metrik khusus (CloudWatch metrik: ExplanationsPerInstance)

Ketika titik akhir mengaktifkan penjelasan online, ia memancarkan ExplanationsPerInstance metrik yang menghasilkan jumlah rata-rata catatan yang dijelaskan per menit, per contoh, untuk sebuah varian. Pemanfaatan sumber daya untuk menjelaskan catatan bisa lebih berbeda dari catatan prediksi. Kami sangat menyarankan menggunakan metrik ini untuk penskalaan pelacakan target titik akhir dengan kemampuan penjelasan online diaktifkan.

Anda dapat membuat beberapa kebijakan pelacakan target untuk target yang dapat diskalakan. Pertimbangkan untuk menambahkan InvocationsPerInstance kebijakan dari Tentukan metrik yang telah ditentukan (CloudWatch metrik: InvocationsPerInstance) bagian (selain ExplanationsPerInstance kebijakan). Jika sebagian besar pemanggilan tidak menampilkan penjelasan karena nilai ambang batas yang ditetapkan dalam EnableExplanations parameter, maka titik akhir dapat memilih kebijakan. InvocationsPerInstance Jika ada banyak penjelasan, titik akhir dapat menggunakan kebijakan. ExplanationsPerInstance

Contoh konfigurasi berikut menunjukkan kebijakan penskalaan pelacakan target dengan metrik kustom. Skala kebijakan menyesuaikan jumlah instance varian sehingga setiap instance memiliki ExplanationsPerInstance metrik 20. Simpan konfigurasi ini dalam file bernama config.json.

{ "TargetValue": 20.0, "CustomizedMetricSpecification": { "MetricName": "ExplanationsPerInstance", "Namespace": "AWS/SageMaker", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Sum" } }

Untuk informasi selengkapnya, lihat CustomizedMetricSpecificationdi Referensi Application Auto Scaling. API

Tentukan periode cooldown

Anda dapat secara opsional menentukan periode cooldown dalam kebijakan penskalaan pelacakan target Anda dengan menentukan dan parameter. ScaleOutCooldown ScaleInCooldown

Berikut ini adalah contoh konfigurasi kebijakan pelacakan target untuk varian yang menjaga pemanggilan rata-rata per instance pada 70. Konfigurasi kebijakan menyediakan periode cooldown scale-in 10 menit (600 detik) dan periode cooldown scale-out 5 menit (300 detik). Simpan konfigurasi ini dalam file bernama config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Untuk informasi selengkapnya, lihat TargetTrackingScalingPolicyConfigurationdi Referensi Application Auto Scaling. API