Wie behebe ich Latenzprobleme mit meinem Amazon SageMaker-Endpunkt?

Lesedauer: 3 Minute
0

Ich möchte Probleme mit hoher Latenz bei meinem Amazon SageMaker-Endpunkt beheben.

Kurzbeschreibung

Auf dem SageMaker-Endpunkt treten möglicherweise die folgenden Arten von Latenz auf:

  • **Modelllatenz ** – Dies ist die Zeit, die das Modell benötigt, um auf eine Inferenzanforderung zu antworten. Die Modelllatenz beinhaltet die lokale Kommunikationszeit, um eine Anforderung zu senden und dann eine Antwort abzurufen. Die Modelllatenz beinhaltet auch die Zeit, in der die Inferenz innerhalb des Modellcontainers abgeschlossen wird.
  • Overhead-Latenz – Dies ist die Zeit, die SageMaker benötigt, um auf eine Aufrufanforderung zu antworten, und schließt die Modelllatenz aus.
  • Netzwerklatenz – Dies ist die Zeit, die die Aufforderung benötigt, um zwischen dem Client und dem SageMaker-Endpunkt hin und her übertragen zu werden. Die Netzwerklatenz tritt außerhalb der AWS-Infrastruktur auf.

Wenn der SageMaker-Endpunkt ein einzelnes Modell bedient, sind die folgenden Amazon CloudWatch-Metriken verfügbar:

  • Modelllatenz
  • Overhead-Latenz

Wenn der SageMaker-Endpunkt einen Multimodell-Endpunkt bedient, sind die folgenden CloudWatch-Metriken verfügbar:

  • Wartezeit beim Laden des Modells – Diese Metrik zeigt die Wartezeit an, die eine Aufrufanforderung benötigt, bis das Zielmodell heruntergeladen oder geladen wird, bevor die Inferenz durchgeführt wird.
  • Zeit des Herunterladens des Modells – Diese Metrik zeigt die Zeit an, die das Modell zum Herunterladen von Amazon Simple Storage Service (Amazon S3) benötigt.
  • Ladezeit des Modells – Diese Metrik zeigt die Zeit an, die das Modell benötigt, um in den Container geladen zu werden.
  • Modell-Cache-Treffer – Diese Metrik zeigt die Anzahl der InvokeEndpoint-Anforderungen, die an den Endpunkt gesendet werden, auf den das Modell geladen wurde.

Hinweis: Multimodell-Endpunkte laden und entladen Modelle während ihrer gesamten Lebensdauer. Verwende die CloudWatch-Metrik LoadedModelCount, um die Anzahl der geladenen Modelle für einen Endpunkt anzuzeigen.

Lösung

Behebe die hohe Latenz, die auf den folgenden Arten von Latenz basieren:

Modelllatenz

Gehe wie folgt vor, um die hohe Modelllatenz zu reduzieren:

  • Vergleiche das Modell außerhalb eines SageMaker-Endpunkts, um die Modellleistung zu testen.
  • Wenn SageMaker Neo das Modell unterstützt, kannst du das Modell kompilieren. SageMaker Neo optimiert Modelle so, dass sie doppelt so schnell mit weniger Speicherbedarf und ohne Genauigkeitsverlust ausgeführt werden.
  • Wenn AWS Inferentia das Modell unterstützt, kannst du das Modell für Inferentia kompilieren. Dies ermöglicht einen höheren Durchsatz bei geringeren Kosten pro Inferenz.
  • Wenn du eine CPU-Instance verwendest und das Modell die GPU-Beschleunigung unterstützt, verwende eine GPU-Instance, um einer Instance GPU-Beschleunigung hinzuzufügen.
    Hinweis: Der Inferenzcode kann die Modelllatenz beeinflussen, je nachdem, wie der Code mit der Inferenz umgeht. Jede Verzögerung im Code erhöht die Latenz.
  • Um die Anzahl der verfügbaren Instances für einen Endpunkt dynamisch zu erhöhen und zu verringern, füge Auto Scaling zu einem Endpunkt hinzu. Ein übermäßig beanspruchter Endpunkt kann zu einer höheren Modelllatenz führen.

Overhead-Latenz

Faktoren, die zu einer hohen Overhead-Latenz beitragen, sind:

  • Nutzdatengröße für Anforderungen und Antworten
  • Häufigkeit oder Unregelmäßigkeit der Anforderung
  • Authentifizierung oder Autorisierung der Anforderung

Beim ersten Aufruf eines Endpunkts kann es aufgrund eines Kaltstarts zu einer erhöhten Latenz kommen. Um eine hohe Latenz bei einem Kaltstart zu vermeiden, sende Testanforderungen an den Endpunkt, um ihn vorzuwärmen.

Netzwerklatenz

Gehe wie folgt vor, um die hohe Netzwerklatenz zu reduzieren:

  • Stelle die Client-Anwendung näher an der AWS-Region bereit, in der der SageMaker-Endpunkt gehostet wird.
  • Optimiere die clientseitigen Netzwerkkonfigurationen und die Internet-Konnektivität.
  • Verwende ein Content Delivery Network (CDN) oder eine Edge-Computing-Lösung, um die Inferenzanforderungen näher an den Kunden heranzuführen.

Hinweis: SageMaker kann die Netzwerklatenz nicht direkt beeinflussen. Stelle sicher, dass du die allgemeine Inferenzlatenz für Anwendungen, die SageMaker-Endpunkte verwenden, auf der Grundlage deines Anwendungsfalls optimierst.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 5 Monaten