Konfiguration und Überwachung von Auto-Rollback - Amazon SageMaker KI

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.

Konfiguration und Überwachung von Auto-Rollback

CloudWatch Amazon-Alarme sind eine Voraussetzung für die Verwendung von Backzeiten in Einsatzleitplanken. Sie können die Auto-Rollback-Funktion in Bereitstellungsleitplanken nur verwenden, wenn Sie CloudWatch Alarme einrichten, die einen Endpunkt überwachen können. Wenn einer Ihrer Alarme während des angegebenen Überwachungszeitraums ausgelöst wird, leitet SageMaker KI zum Schutz Ihrer Anwendung ein vollständiges Rollback zum alten Endpunkt ein. Wenn Sie keine CloudWatch Alarme zur Überwachung Ihres Endpunkts eingerichtet haben, funktioniert die Auto-Rollback-Funktion während Ihrer Bereitstellung nicht.

Weitere Informationen zu Amazon CloudWatch finden Sie unter Was ist Amazon CloudWatch? im CloudWatch Amazon-Benutzerhandbuch.

Anmerkung

Stellen Sie sicher, dass Ihre IAM-Ausführungsrolle berechtigt ist, die cloudwatch:DescribeAlarms Aktion für die von Ihnen angegebenen Auto-Rollback-Alarme auszuführen.

Alarmbeispiele

Um Ihnen den Einstieg zu erleichtern, stellen wir Ihnen die folgenden Beispiele zur Verfügung, um die Funktionen von CloudWatch Alarmen zu demonstrieren. Zusätzlich zur Verwendung oder Änderung der folgenden Beispiele können Sie Ihre eigenen Alarme erstellen und die Alarme so konfigurieren, dass verschiedene Messwerte für die angegebenen Flotten für einen bestimmten Zeitraum überwacht werden. Weitere SageMaker KI-Metriken und -Dimensionen, die Sie Ihren Alarmen hinzufügen können, finden Sie unterMetriken für die Überwachung von Amazon SageMaker AI mit Amazon CloudWatch.

Überwachen Sie Aufruffehler sowohl bei alten als auch bei neuen Flotten

Der folgende CloudWatch Alarm überwacht die durchschnittliche Fehlerrate eines Endpunkts. Sie können diesen Alarm für jede Art von Einsatz, Leitplanken und Verkehrsverlagerung verwenden, um eine umfassende Überwachung sowohl der alten als auch der neuen Flotten zu gewährleisten. Wenn der Alarm ausgelöst wird, leitet die SageMaker KI einen Rollback zur alten Flotte ein.

Aufruffehler, die sowohl von der alten als auch von der neuen Flotte stammen, tragen zur durchschnittlichen Fehlerquote bei. Wenn die durchschnittliche Fehlerrate den angegebenen Schwellenwert überschreitet, wird der Alarm ausgelöst. In diesem speziellen Beispiel werden die 4xx-Fehler (Client-Fehler) sowohl auf der alten als auch auf der neuen Flotte für die Dauer eines Einsatzes überwacht. Sie können die 5xx-Fehler (Serverfehler) auch überwachen, indem Sie die -Metrik Invocation5XXErrors verwenden.

Anmerkung

Bei diesem Alarmtyp beendet SageMaker KI Ihren Einsatz, wenn Ihre alte Flotte während des Einsatzes den Alarm auslöst. Wenn Ihre aktuelle Produktionsflotte bereits Fehler verursacht, sollten Sie daher in Erwägung ziehen, eines der folgenden Beispiele zu verwenden oder zu ändern, das nur die neue Flotte auf Fehler überwacht.

#Applied deployment type: all types { "AlarmName": "EndToEndDeploymentHighErrorRateAlarm", "AlarmDescription": "Monitors the error rate of 4xx errors", "MetricName": "Invocation4XXErrors", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value": <your-endpoint-name> }, { "Name": "VariantName", "Value": "AllTraffic" } ], "Period": 600, "EvaluationPeriods": 2, "Threshold": 1, "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }

Notieren Sie sich im vorherigen Beispiel die Werte für die folgenden Felder:

  • Für AlarmName und AlarmDescription geben Sie einen Namen und eine Beschreibung ein, die Sie für den Alarm wählen.

  • Verwenden Sie für MetricName den Wert Invocation4XXErrors, um auf 4xx-Fehler am Endpunkt zu achten

  • Für Namespace ist der Wert AWS/SageMaker zu verwenden. Sie können gegebenenfalls auch Ihre eigene benutzerdefinierte Metrik angeben.

  • Geben Sie als Statistic Averageein. Das bedeutet, dass der Alarm bei der Berechnung, ob die Fehlerrate den Schwellenwert überschritten hat, anhand der durchschnittlichen Fehlerrate über die Bewertungszeiträume berechnet wird.

  • Verwenden Sie für die Dimension EndpointName den Namen des Endpunkts, den Sie aktualisieren, als Wert.

  • Verwenden Sie für die Dimension VariantName den Wert AllTraffic, um den gesamten Endpunktverkehr anzugeben.

  • Geben Sie als Period 600ein. Dadurch werden die Bewertungszeiträume des Alarms auf 10 Minuten festgelegt.

  • Geben Sie als EvaluationPeriods 2ein. Dieser Wert weist den Alarm an, bei der Bestimmung des Alarmstatus die beiden letzten Bewertungszeiträume zu berücksichtigen.

Überwachen Sie die Modelllatenz der neuen Flotte

Das folgende CloudWatch Alarmbeispiel überwacht die Latenz des Modells der neuen Flotte während Ihres Einsatzes. Sie können diesen Alarm verwenden, um nur die neue Flotte zu überwachen und die alte Flotte auszuschließen. Der Alarm hält für den gesamten Einsatz an. Dieses Beispiel bietet Ihnen eine umfassende end-to-end Überwachung der neuen Flotte und leitet einen Rollback zur alten Flotte ein, falls die neue Flotte Probleme mit der Reaktionszeit hat.

CloudWatch veröffentlicht die Metriken mit der Dimension, EndpointConfigName:{New-Ep-Config} nachdem die neue Flotte den Verkehr aufgenommen hat. Diese Metriken bleiben auch nach Abschluss der Bereitstellung erhalten.

Sie können das folgende Alarme Beispiel für jeden Bereitstellungstyp verwenden.

#Applied deployment type: all types { "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm", "AlarmDescription": "Monitors the model latency on new fleet", "MetricName": "ModelLatency", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value": <your-endpoint-name> }, { "Name": "VariantName", "Value": "AllTraffic" }, { "Name": "EndpointConfigName", "Value": <your-config-name> ], "Period": 300, "EvaluationPeriods": 2, "Threshold": 100000, # 100ms "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }

Notieren Sie sich im vorherigen Beispiel die Werte für die folgenden Felder:

  • Für MetricName verwenden Sie den Wert ModelLatency, um die Reaktionszeit des Modells zu überwachen.

  • Für Namespace ist der Wert AWS/SageMaker zu verwenden. Sie können gegebenenfalls auch Ihre eigene benutzerdefinierte Metrik angeben.

  • Verwenden Sie für die Dimension EndpointName den Namen des Endpunkts, den Sie aktualisieren, als Wert.

  • Für die Dimension VariantName verwenden Sie den Wert AllTraffic, um den gesamten Endpunktverkehr anzugeben.

  • Bei der Dimension EndpointConfigName sollte sich der Wert auf den Namen der Endpunktkonfiguration für Ihren neuen oder aktualisierten Endpunkt beziehen.

Anmerkung

Wenn Sie Ihre alte Flotte statt der neuen Flotte überwachen möchten, können Sie die Dimension EndpointConfigName ändern, um den Namen der Konfiguration Ihrer alten Flotte anzugeben.