Inferenz-Pipelines in Amazon SageMaker AI
Eine Inferenz-Pipeline ist ein Modell von Amazon SageMaker AI, das aus einer linearen Folge von zwei bis fünfzehn Containern besteht, die Anfragen für datenbasierte Inferenzen verarbeiten. Inferenz-Pipelines ermöglichen die Definition und Bereitstellung beliebiger Kombinationen aus vortrainierten, in SageMaker AI integrierten Algorithmen sowie eigenen benutzerdefinierten Algorithmen, die in Docker-Container gepackt sind. Sie können eine Inferenz-Pipeline verwenden, um Vorverarbeitungs-, Prognose- und Post-Processing-Data Science-Aufgaben zu kombinieren. Inferenz-Pipelines sind vollständig verwaltet.
Sie können Container von SageMaker AI Spark ML Serving und scikit-learn hinzufügen, die die für das Training von Modellen entwickelten Datentransformer wiederverwenden. Die gesamte zusammengesetzte Inferenz-Pipeline kann als SageMaker-AI-Modell betrachtet, mit dem Sie entweder Echtzeitprognosen erstellen oder Batch-Transformationen ohne interne Vorverarbeitung direkt ausführen können.
Innerhalb eines Inferenz-Pipeline-Modells behandelt SageMaker AI Aufrufe als eine Folge von HTTP-Anfragen. Die erste Anfrage wird vom ersten Container in der Pipeline verarbeitet. Die Zwischenantwort wird dann als Anfrage an den zweiten Container gesendet und dieser Vorgang wird für jeden Container in der Pipeline wiederholt. SageMaker AI gibt die endgültige Antwort an den Client zurück.
Wenn Sie das Pipeline-Modell bereitstellen, installiert SageMaker AI alle Container und führt sie auf jeder Amazon Elastic Compute Cloud (Amazon EC2)-Instance in dem Endpunkt- oder Transformationsauftrag aus. Die Merkmalverarbeitung und Inferenzen geschehen mit geringer Latenz, da sich die Container auf denselben EC2-Instances befinden. Sie definieren die Container für ein Pipeline-Modell mithilfe der CreateModel-Operation oder über die Konsole. Anstatt einen PrimaryContainer festzulegen, verwenden Sie den Containers-Parameter, um die Container einzurichten, aus denen die Pipeline besteht. Dazu geben Sie die Reihenfolge an, in der die Container ausgeführt werden.
Ein Pipeline-Modell ist unveränderbar, aber Sie können eine Inferenz-Pipeline aktualisieren, indem Sie mit der UpdateEndpoint-Operation eine neue bereitstellen. Diese Modularität unterstützt eine größere Flexibilität beim Experimentieren.
Informationen zum Erstellen einer Inferenz-Pipeline mit der SageMaker Model Registry finden Sie unter Bereitstellung von Modellregistrierung mit Model Registry.
Für diese Funktion fallen keine zusätzlichen Gebühren an. Sie zahlen nur für die Instances, die auf einem Endpunkt ausgeführt werden.
Themen
Beispiel-Notebooks für Inferenz-Pipelines
Ein Beispiel, das zeigt, wie Inferenz-Pipelines erstellt und bereitgestellt werden, finden Sie im Beispiel-Notebook Inference Pipeline with Scikit-Learn und Linear Learner
Um eine Liste aller SageMaker-AI-Beispiele anzuzeigen, wählen Sie nach dem Erstellen und Öffnen einer Notebook-Instance die Registerkarte SageMaker-AI-Beispiele aus. Es gibt drei Inferenz Pipeline-Notebooks. Die ersten beiden Inferenz-Pipeline-Notebooks befinden sich im Ordner advanced_functionality und das dritte Notebook befindet sich im Ordner sagemaker-python-sdk. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Use (Verwenden) und dann Create copy (Kopie erstellen).