Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Holen Sie sich politische Empfehlungen zur automatischen Skalierung
Mit Amazon SageMaker Inference Recommender können Sie Empfehlungen für Autoscaling-Richtlinien für Ihren SageMaker-AI-Endpunkt erhalten, die auf Ihrem erwarteten Datenverkehrsmuster basieren. Wenn Sie bereits einen Job mit Inferenzempfehlungen abgeschlossen haben, können Sie die Details des Jobs angeben, um eine Empfehlung für eine Autoscaling-Richtlinie zu erhalten, die Sie auf Ihren Endpunkt anwenden können.
Inference Recommender vergleicht verschiedene Werte für jede Metrik, um die ideale Autoscaling-Konfiguration für Ihren Endpunkt zu ermitteln. Die Autoscaling-Empfehlung gibt eine empfohlene Autoscaling-Richtlinie für jede Metrik zurück, die in Ihrem Inferenzempfehlungsjob definiert wurde. Sie können die Richtlinien speichern und mit der PutScalingPolicy-API auf Ihren Endpunkt anwenden.
Lesen Sie die folgenden Seiten, um zu beginnen.
Voraussetzungen
Bevor Sie beginnen, müssen Sie eine Inferenzempfehlung erfolgreich abgeschlossen haben. Im folgenden Abschnitt können Sie entweder eine Inferenzempfehlungs-ID oder den Namen eines SageMaker-AI-Endpunkts angeben, der während eines Inferenzempfehlungsjobs einem Benchmarking unterzogen wurde.
Um Ihre Empfehlungs-Job-ID oder Ihren Endpunktnamen abzurufen, können Sie entweder die Details Ihres Inferenz-Empfehlungs-Jobs in der SageMaker-AI-Konsole anzeigen oder die Felder RecommendationId oder EndpointName verwenden, die von der DescribeInferenceRecommendationsJob-API zurückgegeben werden.
Erstellen Sie eine Konfigurationsempfehlung für Autoscaling
Um eine Empfehlungsrichtlinie für die automatische Skalierung zu erstellen, können Sie die AWS SDK für Python (Boto3) verwenden.
Das folgende Beispiel zeigt die Felder für die GetScalingConfigurationRecommendation-API. Verwenden Sie die folgenden Felder, wenn Sie die API aufrufen:
-
InferenceRecommendationsJobName– Geben Sie den Namen Ihres Jobs für Inferenzempfehlungen ein. -
RecommendationId– Geben Sie die ID einer Inferenzempfehlung aus einem Empfehlungsjob ein. Dies ist optional, wenn Sie dasEndpointNameFeld angegeben haben. -
EndpointName– Geben Sie den Namen eines Endpunkts ein, für den während eines Jobs mit Inferenzempfehlungen ein Benchmarking durchgeführt wurde. Dies ist optional, wenn Sie dasRecommendationIdFeld angegeben haben. -
TargetCpuUtilizationPerCore– (Optional) Geben Sie einen Prozentwert ein, der angibt, wie viel Auslastung eine Instance auf Ihrem Endpunkt vor der automatischen Skalierung nutzen soll. Wenn Sie dieses Feld nicht angeben, beträgt der Standardwert 50%. -
ScalingPolicyObjective– (Optional) Ein Objekt, in dem Sie Ihr erwartetes Verkehrsmuster angeben.-
MinInvocationsPerMinute– (Optional) Die Mindestanzahl erwarteter Anfragen an Ihren Endpunkt pro Minute. -
MaxInvocationsPerMinute– (Optional) Die maximale Anzahl erwarteter Anfragen an Ihren Endpunkt pro Minute.
-
{ "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} }
Nachdem Sie Ihre Anfrage eingereicht haben, erhalten Sie eine Antwort mit Richtlinien zur automatischen Skalierung, die für jede Metrik definiert sind. Im folgenden Abschnitt finden Sie Informationen zur Interpretation der Antwort.
Überprüfen Sie die Ergebnisse Ihrer Autoscaling-Konfigurationsempfehlungen
Das folgende Beispiel zeigt die Antwort der GetScalingConfigurationRecommendation-API:
{ "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 } } ] } }
Die Felder InferenceRecommendationsJobName, RecommendationID oder EndpointName, TargetCpuUtilizationPerCore, und die ScalingPolicyObjective Objektfelder werden aus Ihrer ersten Anfrage kopiert.
Das Metric Objekt listet die Metriken auf, die in Ihrem Job mit Inferenzempfehlungen verglichen wurden, sowie eine Berechnung der Werte für jede Metrik, wenn die Instance-Auslastung dem Wert TargetCpuUtilizationPerCore entsprechen würde. Dies ist nützlich, um die Leistungskennzahlen auf Ihrem Endpunkt zu antizipieren, wenn dieser mit der empfohlenen Autoscaling-Richtlinie nach oben oder unten skaliert wird. Stellen Sie sich zum Beispiel vor, dass Ihre Instance-Auslastung bei Ihrer Inferenzempfehlung bei 50% lag und Ihr InvocationsPerInstance Wert ursprünglich bei 4 lag. Wenn Sie in Ihrer Autoscaling-Empfehlungsanfrage TargetCpuUtilizationPerCore einen Wert von 100% angeben, ist der in der Antwort zurückgegebene InvocationsPerInstance Metrikwert darauf zurückzuführen, 2 dass Sie damit gerechnet haben, doppelt so viel Instance-Auslastung zuzuweisen.
Das DynamicScalingConfiguration Objekt gibt die Werte zurück, die Sie für die TargetTrackingScalingPolicyConfiguration angeben sollten, wenn Sie die PutScalingPolicy-API aufrufen. Dazu gehören die empfohlenen Mindest- und Höchstwerte für die Kapazität, die empfohlenen Abklingzeiten beim Ein- und Ausskalieren sowie das ScalingPolicies Objekt, das die empfohlenen TargetValue Werte enthält, die Sie für jede Metrik angeben sollten.