View a markdown version of this page

Multi-model Endpunkte - 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.

Multi-model Endpunkte

Multi-model Endpunkte bieten eine skalierbare und kostengünstige Lösung für die Bereitstellung einer großen Anzahl von Modellen. Sie verwenden dieselbe Flotte von Ressourcen und einen gemeinsamen Server-Container, um alle Ihre Modelle zu hosten. Dies reduziert Hosting-Kosten, indem die Endpunktauslastung gegenüber der Verwendung von Einzelmodell-Endpunkten verbessert wird. Es reduziert auch den Bereitstellungsaufwand, da Amazon SageMaker AI das Laden von Modellen im Speicher verwaltet und sie auf der Grundlage der Verkehrsmuster zu Ihrem Endpunkt skaliert.

Das folgende Diagramm zeigt, wie Multimodell-Endpunkte im Vergleich zu Einzelmodell-Endpunkten funktionieren.

Ein Diagramm, das zeigt, wie Multimodell- und Einzelmodell-Endpunkte Modelle hosten.

Multi-model Endpunkte eignen sich ideal für das Hosten einer großen Anzahl von Modellen, die dasselbe ML-Framework in einem gemeinsam genutzten Servercontainer verwenden. Wenn Sie eine Mischung von Modellen haben, auf die häufig bzw. selten zugegriffen wird, kann ein Multimodell-Endpunkt diesen Datenverkehr mit weniger Ressourcen und höheren Kosteneinsparungen effizient bedienen. Ihre Anwendung sollte gelegentlich auftretende Latenzeinbußen im durch Kaltstarts tolerieren, die beim Aufrufen selten verwendeter Modelle auftreten.

Multi-model Endpunkte unterstützen das Hosten von sowohl CPU- als auch GPU-gestützten Modellen. Durch die Verwendung von GPU-gestützten Modellen können Sie die Kosten für die Modellbereitstellung senken, indem Sie den Endpunkt und die zugrunde liegenden beschleunigten Cpmputing-Instances stärker auslasten.

Multi-model Endpunkte ermöglichen auch die gemeinsame Nutzung von Speicherressourcen zwischen Ihren Modellen. Dies funktioniert am besten, wenn die Modelle in Größe und Aufruflatenz recht ähnlich sind. In diesem Fall können Multimodell-Endpunkte Instances effektiv über alle Modelle hinweg verwenden. Wenn Sie Modelle mit deutlich höheren Transaktionen pro Sekunde (TPS) oder Latenzanforderungen haben, empfehlen wir Ihnen, diese auf dedizierten Endpunkten zu hosten.

Sie können Multimodell-Endpunkte mit den folgenden Features verwenden:

Sie können die AWS SDK für Python (Boto) oder die SageMaker AI-Konsole verwenden, um einen Endpunkt mit mehreren Modellen zu erstellen. Für CPU-gestützte Multimodell-Endpunkte können Sie Ihren Endpunkt mit benutzerdefinierten Containern erstellen, indem Sie die Multimodell-Server-Bibliothek integrieren.

Funktionsweise von Multimodell-Endpunkten

SageMaker KI verwaltet den Lebenszyklus von Modellen, die auf Endpunkten mit mehreren Modellen im Speicher des Containers gehostet werden. Anstatt bei der Erstellung des Endpunkts alle Modelle aus einem Amazon S3-Bucket in den Container herunterzuladen, lädt SageMaker KI sie dynamisch und speichert sie im Cache, wenn Sie sie aufrufen. Wenn SageMaker AI eine Aufrufanforderung für ein bestimmtes Modell erhält, geht sie wie folgt vor:

  1. Er leitet die Anforderung an eine Instance hinter dem Endpunkt weiter.

  2. Er lädt das Modell aus dem S3-Bucket auf das Speicher-Volume dieser Instance herunter.

  3. Lädt das Modell in den Speicher des Containers (CPU oder GPU, je nachdem, ob Sie über CPU- oder GPU-gestützte Instances verfügen) auf dieser beschleunigten Computing-Instance. Wenn das Modell bereits in den Speicher des Containers geladen ist, ist der Aufruf schneller, da die SageMaker KI es nicht herunterladen und laden muss.

SageMaker AI leitet weiterhin Anfragen für ein Modell an die Instanz weiter, in der das Modell bereits geladen ist. Wenn das Modell jedoch viele Aufrufanforderungen erhält und es zusätzliche Instanzen für den Endpunkt mit mehreren Modellen gibt, leitet SageMaker AI einige Anfragen an eine andere Instanz weiter, um den Datenverkehr abzuwickeln. Wenn das Modell noch nicht auf die zweite Instance geladen wurde, wird das Modell auf das Speicher-Volume dieser Instance heruntergeladen und in den Speicher des Containers geladen.

Wenn die Speicherauslastung einer Instanz hoch ist und die SageMaker KI ein anderes Modell in den Speicher laden muss, entlädt sie ungenutzte Modelle aus dem Container dieser Instanz, um sicherzustellen, dass genügend Speicher zum Laden des Modells vorhanden ist. Entfernte Modelle verbleiben auf dem Speicher-Volume der Instance und können später in den Speicher des Containers geladen werden, ohne dass sie erneut aus dem S3-Bucket heruntergeladen werden müssen. Wenn das Speichervolumen der Instance seine Kapazität erreicht, löscht SageMaker AI alle ungenutzten Modelle vom Speichervolume.

Um ein Modell zu löschen, beenden Sie das Senden von Anfragen und löschen Sie es aus dem S3-Bucket. SageMaker KI bietet Endpunktfunktionen für mehrere Modelle in einem Servercontainer. Das Hinzufügen von Modellen zu einem Multimodell-Endpunkt und ihr Löschen erfordert keine Aktualisierung des Endpunkts selbst. Um ein Modell hinzuzufügen, laden Sie es in den S3-Bucket hoch und rufen Sie es auf. Um sie verwenden zu können, sind keine Codeänderungen erforderlich.

Anmerkung

Wenn Sie einen Multimodell-Endpunkt aktualisieren, kann es bei Aufrufanfragen auf dem Endpunkt zunächst zu höheren Latenzen kommen, da sich Smart Routing auf Multimodell-Endpunkten an das Muster Ihres Datenverkehrs anpasst. Sobald es allerdings das Muster Ihres Datenverkehrs kennt, kann es bei den am häufigsten verwendeten Modellen zu niedrigen Latenzen kommen. Bei weniger häufig verwendeten Modellen kann es zu Kaltstart-Latenzen kommen, da die Modelle dynamisch in eine Instance geladen werden.

Beispiel-Notebooks für Multimodell-Endpunkte

Weitere Informationen zur Verwendung von Multimodell-Endpunkten finden Sie evtl. in den folgenden Beispiel-Notebooks:

Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instances, mit denen Sie die vorherigen Beispiele in AI ausführen können, finden Sie unter. SageMaker SageMaker Amazon-Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab SageMaker AI-Beispiele, um eine Liste aller AI-Beispiele anzuzeigen. SageMaker Die Notebooks für Multimodell-Endpunkte finden Sie im Abschnitt ADVANCED FUNCTIONALITY. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Verwenden und dann Kopie erstellen aus.

Weitere Informationen zu Anwendungsfällen für Multimodell-Endpunkte finden Sie in den folgenden Blogs und Ressourcen: