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.
Echtzeit-Inferenz mit niedriger Latenz mit AWS PrivateLink
Amazon SageMaker AI bietet eine geringe Latenz für Echtzeit-Inferenzen und gewährleistet gleichzeitig eine hohe Verfügbarkeit und Resilienz mithilfe der Multi-AZ-Bereitstellung. Die Latenz der Anwendung besteht aus zwei Hauptkomponenten: Infrastruktur- oder Overhead-Latenz und Latenz der Modell-Inference. Die Reduzierung der Overhead-Latenz eröffnet neue Möglichkeiten, wie z. B. die Bereitstellung komplexerer, umfassenderer und genauerer Modelle oder die Aufteilung monolithischer Anwendungen in Microservice-Module, die skaliert und gewartet werden können. Mithilfe von SageMaker KI können Sie die Latenz für Echtzeit-Inferenzen mithilfe einer Bereitstellung reduzieren. AWS PrivateLink Mit AWS PrivateLink können Sie mithilfe von VPC-Endpunkten auf skalierbare Weise privat auf alle SageMaker API-Operationen von Ihrer Virtual Private Cloud (VPC) zugreifen. Ein Schnittstellen-VPC-Endpunkt ist eine elastic network interface in Ihrem Subnetz mit privaten IP-Adressen, die als Einstiegspunkt für alle SageMaker API-Aufrufe dient.
Standardmäßig wird ein SageMaker KI-Endpunkt mit 2 oder mehr Instances in mindestens 2 AWS Availability Zones (AZs) bereitgestellt, und Instances in jeder AZ können Aufrufe verarbeiten. Dies führt zu einem oder mehreren AZ-„Sprüngen“, die zur Overhead-Latenz beitragen. Eine AWS PrivateLink Bereitstellung mit der privateDNSEnabled
Option auf true
mildert dieses Problem, indem zwei Ziele erreicht werden:
-
Der gesamte Inference-Verkehr bleibt in Ihrer VPC.
-
Es hält den Aufruf-Verkehr in derselben AZ wie der Client, von dem er bei der Verwendung von Runtime ausgegangen ist. SageMaker Dadurch werden die „Sprünge“ zwischen der AZs Reduzierung der Overhead-Latenz vermieden.
In den folgenden Abschnitten dieses Handbuchs wird gezeigt, wie Sie die Latenz bei Echtzeit-Inferenen bei der AWS PrivateLink Bereitstellung reduzieren können.
Themen
Bereitstellen AWS PrivateLink
Erstellen Sie zur Bereitstellung AWS PrivateLink zunächst einen Schnittstellenendpunkt für die VPC, von der aus Sie eine Verbindung zu den SageMaker KI-Endpunkten herstellen. Bitte folgen Sie den Schritten unter Zugreifen auf einen AWS Dienst mithilfe eines Schnittstellen-VPC-Endpunkts, um den Schnittstellenendpunkt zu erstellen. Wählen Sie beim Erstellen des Endpunktes die folgenden Einstellungen in der Konsolenoberfläche aus:
-
Aktivieren Sie unter Zusätzliche Einstellungen das Kontrollkästchen DNS-Namen aktivieren
-
Wählen Sie die entsprechenden Sicherheitsgruppen und Subnetze aus, die mit den SageMaker KI-Endpunkten verwendet werden sollen.
Vergewissern Sie sich außerdem, dass für die VPC DNS-Hostnamen aktiviert sind. Weitere Informationen dazu, wie Sie DNS-Attribute für Ihre VPC ändern, finden Sie unter DNS-Attribute für Ihre VPC anzeigen und aktualisieren.
SageMaker KI-Endpunkt in einer VPC bereitstellen
Um eine geringe Overhead-Latenz zu erreichen, erstellen Sie einen SageMaker KI-Endpunkt mit denselben Subnetzen, die Sie bei der Bereitstellung angegeben haben. AWS PrivateLink Diese Subnetze sollten denen AZs Ihrer Client-Anwendung entsprechen, wie im folgenden Codeausschnitt gezeigt.
model_name =
'<the-name-of-your-model>'
vpc ='vpc-0123456789abcdef0'
subnet_a ='subnet-0123456789abcdef0'
subnet_b ='subnet-0123456789abcdef1'
security_group ='sg-0123456789abcdef0'
create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url }, VpcConfig = { 'SecurityGroupIds': [security_group], 'Subnets': [subnet_a, subnet_b], }, )
Der o.g. Codeausschnitt setzt voraus, dass Sie die Schritte unter Bevor Sie beginnen befolgt haben.
Rufen Sie den AI-Endpunkt auf SageMaker
Geben Sie abschließend den SageMaker Runtime-Client an und rufen Sie den SageMaker KI-Endpunkt auf, wie im folgenden Codeausschnitt gezeigt.
endpoint_name =
'<endpoint-name>'
runtime_client = boto3.client('sagemaker-runtime') response = runtime_client.invoke_endpoint(EndpointName=endpoint_name, ContentType='text/csv', Body=payload)
Weitere Informationen zur Endpunktkonfiguration finden Sie unter Implementieren Sie Modelle für Inferenz in Echtzeit.