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 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. Mit dem können Sie die Richtlinien speichern und auf Ihren Endpunkt anwenden. PutScalingPolicyAPI
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 ID für Inferenzempfehlungen oder den Namen eines SageMaker Endpunkts angeben, für den während eines Jobs mit Inferenzempfehlungen ein Benchmarking durchgeführt wurde.
Um Ihre Empfehlungs-Job-ID oder Ihren Endpunktnamen abzurufen, können Sie entweder die Details Ihres Jobs für Inferenzempfehlungen in der SageMaker Konsole anzeigen oder die von der zurückgegebenen EndpointName
Felder RecommendationId
oder verwenden. DescribeInferenceRecommendationsJobAPI
Erstellen Sie eine Konfigurationsempfehlung für Autoscaling
Um eine Empfehlungsrichtlinie für die automatische Skalierung zu erstellen, können Sie die AWS SDK for Python (Boto3) verwenden.
Das folgende Beispiel zeigt die Felder für. GetScalingConfigurationRecommendationAPI Verwenden Sie die folgenden Felder, wenn Sie die aufrufenAPI:
-
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 dasEndpointName
Feld 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 dasRecommendationId
Feld 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 von 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 } } ] } }
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 TargetTrackingScalingPolicyConfigurationbeim Aufrufen von angeben sollten PutScalingPolicyAPI. 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.