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.
Stellen Sie mithilfe einer Inferenz-Pipeline in Amazon Vorverarbeitungslogik in einem ML-Modell an einem einzigen Endpunkt bereit SageMaker
Erstellt von Mohan Gowda Purushothama (AWS), Gabriel Rodriguez Garcia (AWS) und Mateusz Zaremba (AWS)
Umgebung: Produktion | Technologien: Maschinelles Lernen und KI; Container und Mikroservices | AWS-Dienste: Amazon SageMaker; Amazon ECR |
Übersicht
Dieses Muster erklärt, wie mehrere Pipeline-Modellobjekte in einem einzigen Endpunkt mithilfe einer Inferenz-Pipeline in Amazon SageMaker bereitgestellt werden. Das Pipeline-Modellobjekt repräsentiert verschiedene Workflow-Phasen des maschinellen Lernens (ML), wie Vorverarbeitung, Modellinferenz und Nachverarbeitung. Um den Einsatz von seriell verbundenen Pipeline-Modellobjekten zu veranschaulichen, zeigt Ihnen dieses Muster, wie Sie einen Scikit-Learn-Vorverarbeitungscontainer und ein Regressionsmodell bereitstellen, das auf dem integrierten linearen Lernalgorithmus basiert. SageMaker Die Bereitstellung wird hinter einem einzigen Endpunkt in gehostet. SageMaker
Hinweis: Die Bereitstellung in diesem Muster verwendet den Instance-Typ ml.m4.2xlarge. Wir empfehlen, einen Instance-Typ zu verwenden, der Ihren Anforderungen an die Datengröße und der Komplexität Ihres Workflows entspricht. Weitere Informationen finden Sie unter SageMaker Amazon-Preise
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
Rolle AWS Identity and Access Management (AWS IAM) mit SageMaker Basisberechtigungen und Amazon Simple Storage Service (Amazon S3) -Berechtigungen
Produktversionen
Architektur
Zieltechnologie-Stack
Amazon Elastic Container Registry (Amazon ECR)
Amazon SageMaker
Amazon SageMaker Studio
Amazon-Simple-Storage-Service (Amazon-S3)
Echtzeit-Inferenzendpunkt für Amazon SageMaker
Zielarchitektur
Das folgende Diagramm zeigt die Architektur für die Bereitstellung eines SageMaker Amazon-Pipeline-Modellobjekts.
Das Diagramm zeigt den folgenden Workflow:
Ein SageMaker Notebook stellt ein Pipeline-Modell bereit.
Ein S3-Bucket speichert die Modellartefakte.
Amazon ECR ruft die Quellcontainer-Images aus dem S3-Bucket ab.
Tools
AWS-Tools
Amazon Elastic Container Registry (Amazon ECR) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
Amazon SageMaker ist ein verwalteter ML-Service, der Ihnen hilft, ML-Modelle zu erstellen und zu trainieren und sie dann in einer produktionsbereiten gehosteten Umgebung bereitzustellen.
Amazon SageMaker Studio ist eine webbasierte, integrierte Entwicklungsumgebung (IDE) für ML, mit der Sie Ihre ML-Modelle erstellen, trainieren, debuggen, bereitstellen und überwachen können.
Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.
Code
Der Code für dieses Muster ist in den Repositorien GitHub Inference Pipeline with Scikit-learn
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bereiten Sie den Datensatz für Ihre Regressionsaufgabe vor. | Öffnen Sie ein Notizbuch in Amazon SageMaker Studio. Verwenden Sie den folgenden Beispielcode in Ihrem Notizbuch, um alle erforderlichen Bibliotheken zu importieren und Ihre Arbeitsumgebung zu initialisieren:
Um einen Beispieldatensatz herunterzuladen, fügen Sie Ihrem Notizbuch den folgenden Code hinzu:
Hinweis: Das Beispiel in diesem Muster verwendet den Abalone-Datensatz | Data Scientist |
Laden Sie den Datensatz in einen S3-Bucket hoch. | Fügen Sie in dem Notizbuch, in dem Sie Ihren Datensatz zuvor vorbereitet haben, den folgenden Code hinzu, um Ihre Beispieldaten in einen S3-Bucket hochzuladen:
| Data Scientist |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bereiten Sie das Skript preprocessor.py vor. |
| Data Scientist |
Erstellen Sie das SkLearn-Präprozessor-Objekt. | Um ein SkLearn-Präprozessor-Objekt (genannt skLearn Estimator) zu erstellen, das Sie in Ihre endgültige Inferenz-Pipeline integrieren können, führen Sie den folgenden Code in Ihrem Notizbuch aus: SageMaker
| Data Scientist |
Testen Sie die Inferenz des Präprozessors. | Um zu überprüfen, ob Ihr Präprozessor korrekt definiert ist, starten Sie einen Batch-Transformationsauftrag, indem Sie den folgenden Code in Ihr Notizbuch eingeben: SageMaker
|
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie ein Modellobjekt. | Um ein Modellobjekt zu erstellen, das auf dem linearen Lernalgorithmus basiert, geben Sie den folgenden Code in Ihr SageMaker Notizbuch ein:
Der obige Code ruft das entsprechende Amazon ECR Docker-Image aus der öffentlichen Amazon ECR Registry für das Modell ab, erstellt ein Schätzerobjekt und verwendet dieses Objekt dann, um das Regressionsmodell zu trainieren. | Data Scientist |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie das Pipeline-Modell bereit. | Um ein Pipeline-Modellobjekt (d. h. ein Präprozessor-Objekt) zu erstellen und das Objekt bereitzustellen, geben Sie den folgenden Code in Ihr SageMaker Notizbuch ein:
Hinweis: Sie können den im Modellobjekt verwendeten Instanztyp an Ihre Bedürfnisse anpassen. | Data Scientist |
Testen Sie die Inferenz. | Um zu überprüfen, ob der Endpunkt ordnungsgemäß funktioniert, führen Sie den folgenden Beispiel-Inferenzcode in Ihrem SageMaker Notizbuch aus:
| Data Scientist |