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.
Hosten Sie mehrere Modelle, die unterschiedliche Container hinter einem Endpunkt verwenden
SageMaker Endpunkte mit mehreren Containern ermöglichen es Kunden, mehrere Container, die unterschiedliche Modelle oder Frameworks verwenden, auf einem einzigen SageMaker Endpunkt bereitzustellen. Die Container können nacheinander als Inferenz-Pipeline ausgeführt werden, oder auf jeden Container kann mithilfe eines direkten Aufrufs einzeln zugegriffen werden, um die Endpunktauslastung zu verbessern und die Kosten zu optimieren.
Hinweise zum sequenziellen Aufrufen der Container in einem Endpunkt mit mehreren Containern finden Sie unter Hostmodelle zusammen mit Vorverarbeitungslogik als serielle Inferenz-Pipeline hinter einem Endpunkt.
Hinweise zum Aufrufen eines bestimmten Containers in einem Endpunkt mit mehreren Containern finden Sie unter Verwenden Sie einen Endpunkt mit mehreren Containern und direktem Aufruf
Themen
Erstellen eines Multicontainer-Endpunkts (Boto 3)
Erstellen Sie einen Multi-Container-EndpunktCreateModel, indem Sie die CreateEndpoint APIs CreateEndpointConfig, und aufrufen, wie Sie andere Endpunkte erstellen würden. Sie können diese Container sequentiell als Inferenzpipeline ausführen oder jeden einzelnen Container mithilfe eines direkten Aufrufs ausführen. Multi-Container Endpunkte haben die folgenden Anforderungen, wenn Sie create_model
aufrufen:
-
Verwenden Sie den
Containers
Parameter anstelle vonPrimaryContainer
und schließen Sie mehr als einen Container in denContainers
Parameter ein. -
Der
ContainerHostname
Parameter ist für jeden Container in einem Endpunkt mit mehreren Containern und direktem Aufruf erforderlich. -
Setzen Sie den
Mode
Parameter desInferenceExecutionConfig
Felds aufDirect
für den direkten Aufruf jedes Containers oderSerial
auf die Verwendung von Containern als Inferenz-Pipeline. Der Standardmodus istSerial
.
Anmerkung
Derzeit gibt es ein Limit von bis zu 15 Containern, die auf einem Endpunkt mit mehreren Containern unterstützt werden.
Im folgenden Beispiel wird ein Modell mit mehreren Containern für den direkten Aufruf erstellt.
-
Erstellen Sie Containerelemente und
InferenceExecutionConfig
mit direktem Aufruf.container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer' } container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct'}
-
Erstellen Sie das Modell mit den Containerelementen und legen Sie das
InferenceExecutionConfig
Feld fest.import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2] )
Um einen Endpunkt zu erstellen, würden Sie dann create_endpoint_config
Aktualisieren Sie einen Endpunkt mit mehreren Containern
Aktualisieren eines Endpunkts mit mehreren Containern, indem Sie die folgenden Schritte ausführen.
-
Rufen Sie create_model
auf, um ein neues Modell mit einem neuen Wert für den Mode
Parameter imInferenceExecutionConfig
Feld zu erstellen. -
Rufen Sie create_endpoint_config
auf, um mithilfe des neuen Modells, das Sie im vorherigen Schritt erstellt haben, eine neue Endpunktkonfiguration mit einem anderen Namen zu erstellen. -
Rufen Sie update_endpoint
auf, um den Endpunkt mit der neuen Endpunktkonfiguration zu aktualisieren, die Sie im vorherigen Schritt erstellt haben.
Löschen eines Endpunkts mit mehreren Containern
Um einen Endpunkt zu löschen, rufen Sie delete_endpointEndpointName
Parameter an.