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.
Multimodell-Endpunkte
Multimodell-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 das Laden von Modellen im Speicher und deren Skalierung auf der Grundlage der Datenverkehrsmuster zu Ihrem Endpunkt verwaltet.
Das folgende Diagramm zeigt, wie Multimodell-Endpunkte im Vergleich zu Einzelmodell-Endpunkten funktionieren.
Multimodell-Endpunkte eignen sich ideal zum Hosten einer großen Anzahl von Modellen, die dasselbe ML-Framework auf einem gemeinsam genutzten Serving-Container 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.
Endgeräte mit mehreren Modellen unterstützen das Hosten sowohl als auch unterstützter Modelle. CPU GPU Durch die Verwendung GPU unterstützter Modelle können Sie die Kosten für die Modellbereitstellung senken, indem Sie den Endpunkt und die zugrunde liegenden beschleunigten Recheninstanzen stärker nutzen.
Multimodell-Endpunkte ermöglichen darüber hinaus die zeitliche gemeinsame Nutzung von Speicherressourcen über Ihre Modelle hinweg. 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 Anforderungen an Transaktionen pro Sekunde (TPS) oder Latenz haben, empfehlen wir, diese auf dedizierten Endpunkten zu hosten.
Sie können Multimodell-Endpunkte mit den folgenden Features verwenden:
-
AWS PrivateLinkund VPCs
-
Serielle Inference Pipelines (es kann jedoch nur ein multimodell-fähiger Container in einer Inference-Pipeline enthalten sein)
-
A/B-Tests
Sie können die Konsole AWS SDK for Python (Boto) oder die SageMaker Konsole verwenden, um einen Endpunkt mit mehreren Modellen zu erstellen. Für CPU unterstützte Endpunkte mit mehreren Modellen können Sie Ihren Endpunkt mit benutzerdefinierten Containern erstellen, indem Sie die Multi
Themen
- Funktionsweise von Multimodell-Endpunkten
- Beispiel-Notebooks für Multimodell-Endpunkte
- Unterstützte Algorithmen, Frameworks und Instanzen für Endgeräte mit mehreren Modellen
- Instance-Empfehlungen für Bereitstellungen von Multimodell-Endpunkten
- Erstellen eines Multimodell-Endpunkts
- Aufrufen eines Multimodell-Endpunkts
- Hinzufügen oder Entfernen von Modellen
- Erstellen Sie Ihren eigenen Container für Endgeräte SageMaker mit mehreren Modellen
- Sicherheit eines Multimodell-Endpunkts
- CloudWatch Metriken für Endpunktbereitstellungen mit mehreren Modellen
- Legen Sie das SageMaker Caching-Verhalten von Endpunktmodellen für mehrere Modelle fest
- Legen Sie Auto-Scaling-Richtlinien für die Bereitstellung von Multimodell-Endpunkten fest
Funktionsweise von Multimodell-Endpunkten
SageMaker verwaltet den Lebenszyklus von Modellen, die auf Endpunkten mit mehreren Modellen im Speicher des Containers gehostet werden. Anstatt beim Erstellen des Endpunkts alle Modelle von einem Amazon S3 S3-Bucket in den Container herunterzuladen, werden sie SageMaker dynamisch geladen und zwischengespeichert, wenn Sie sie aufrufen. Wenn es eine Aufrufanfrage für ein bestimmtes Modell SageMaker erhält, geht es wie folgt vor:
-
Er leitet die Anforderung an eine Instance hinter dem Endpunkt weiter.
-
Er lädt das Modell aus dem S3-Bucket auf das Speicher-Volume dieser Instance herunter.
-
Lädt das Modell in den Speicher des Containers (CPUoderGPU, je nachdem, ob Sie über CPU oder über GPU gesicherte Instanzen verfügen) auf dieser beschleunigten Recheninstanz. Wenn das Modell bereits im Speicher des Containers geladen ist, ist der Aufruf schneller, da es SageMaker nicht heruntergeladen und geladen werden muss.
SageMaker leitet Anfragen für ein Modell weiterhin an die Instanz weiter, in der das Modell bereits geladen ist. Wenn das Modell jedoch viele Aufrufanforderungen empfängt und es zusätzliche Instanzen für den Multimodell-Endpunkt gibt, SageMaker leitet es einige Anfragen an eine andere Instanz weiter, um den Datenverkehr zu bewältigen. 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 ein anderes Modell in den Speicher geladen werden SageMaker muss, werden nicht verwendete Modelle aus dem Container dieser Instanz entladen, 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, werden alle ungenutzten Modelle aus dem Speichervolume SageMaker gelöscht.
Um ein Modell zu löschen, beenden Sie das Senden von Anfragen und löschen Sie es aus dem S3-Bucket. SageMaker bietet Endpunktfunktionen für mehrere Modelle in einem Serving-Container. 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:
-
Beispiele für Endgeräte mit mehreren Modellen, die unterstützte Instanzen verwendenCPU:
-
XGBoostBeispielnotizbuch für Endgeräte mit mehreren Modellen — Dieses Notizbuch
zeigt, wie Sie mehrere XGBoost Modelle auf einem Endpunkt bereitstellen. -
BYOCBeispielnotizbuch für Endgeräte mit mehreren Modellen
— In diesem Notizbuch wird gezeigt, wie ein Kundencontainer eingerichtet und bereitgestellt wird, der Endgeräte mit mehreren Modellen unterstützt. SageMaker
-
-
Beispiel für Endgeräte mit mehreren Modellen, die unterstützte Instanzen verwenden: GPU
-
Führen Sie mehrere Deep-Learning-Modelle GPUs mit Amazon SageMaker Multi-Model-Endpunkten aus (MME)
— Dieses Notizbuch zeigt, wie Sie einen NVIDIA Triton Inference-Container verwenden, um 50 Modelle auf einem Endpunkt mit mehreren Modellen bereitzustellen ResNet.
-
Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instances, mit denen Sie die vorherigen Beispiele ausführen können, finden Sie unter. SageMaker Amazon SageMaker Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab SageMaker Beispiele, um eine Liste aller Beispiele zu sehen. SageMaker Die Endpunkt-Notebooks mit mehreren Modellen befinden sich im ADVANCEDFUNCTIONALITYAbschnitt. 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:
-
Video: Hosten von Tausenden von Modellen
auf SageMaker -
Video: SageMaker ML für SaaS
-
Blog: So skalieren Sie die Inference für Machine Learning für mandantenfähige SaaS-Anwendungsfälle
-
Fallstudie: Veeva Systems