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.
Erstellen Sie ein benutzerdefiniertes Docker-Container-Image für SageMaker und verwenden Sie es für das Modelltraining in AWS Step Functions
Erstellt von Julia Bluszcz (AWS), Neha Sharma (), Aubrey Oosthuizen (AWS), Mohan Gowda Purushothama () und Mateusz Zaremba (AWS) AWS AWS
Umwelt: Produktion | Technologien: Maschinelles Lernen und KI; DevOps | AWSDienstleistungen: AmazonECR; Amazon SageMaker; AWS Step Functions |
Übersicht
Dieses Muster zeigt, wie Sie ein Docker-Container-Image für Amazon erstellen SageMaker und es für ein Trainingsmodell in AWSStep Functions verwenden. Indem Sie benutzerdefinierte Algorithmen in einem Container verpacken, können Sie fast jeden Code in der SageMaker Umgebung ausführen, unabhängig von Programmiersprache, Framework oder Abhängigkeiten.
In dem bereitgestellten SageMaker Beispiel-Notizbuch wird das benutzerdefinierte Docker-Container-Image in Amazon Elastic Container Registry (AmazonECR) gespeichert. Step Functions verwendet dann den in Amazon gespeicherten Container, ECR um ein Python-Verarbeitungsskript für auszuführen SageMaker. Anschließend exportiert der Container das Modell nach Amazon Simple Storage Service (Amazon S3).
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS Konto
Eine AWSIdentity and Access Management Zugriffsmanagement-Rolle (IAM) für SageMaker mit Amazon S3 S3-Berechtigungen
Vertrautheit mit Python
Vertrautheit mit Amazon Python SageMaker SDK
Vertrautheit mit der AWS Befehlszeilenschnittstelle () AWS CLI
Vertrautheit mit AWS SDK for Python (Boto3)
Vertrautheit mit Amazon ECR
Vertrautheit mit Docker
Produktversionen
AWSStep Functions Data Science SDK Version 2.3.0
Amazon SageMaker Python SDK versie 2.78.0
Architektur
Das folgende Diagramm zeigt einen Beispiel-Workflow für die Erstellung eines Docker-Container-Images für und SageMaker dessen anschließende Verwendung für ein Trainingsmodell in Step Functions:
Das Diagramm zeigt den folgenden Workflow:
Ein Datenwissenschaftler oder DevOps Ingenieur verwendet ein SageMaker Amazon-Notizbuch, um ein benutzerdefiniertes Docker-Container-Image zu erstellen.
Ein Datenwissenschaftler oder DevOps Ingenieur speichert das Docker-Container-Image in einem ECR privaten Amazon-Repository, das sich in einer privaten Registrierung befindet.
Ein Datenwissenschaftler oder DevOps Ingenieur verwendet den Docker-Container, um einen SageMaker Python-Verarbeitungsjob in einem Step Functions Functions-Workflow auszuführen.
Automatisierung und Skalierung
Das SageMaker Beispiel-Notizbuch in diesem Muster verwendet einen ml.m5.xlarge
Notebook-Instanztyp. Sie können den Instanztyp an Ihren Anwendungsfall anpassen. Weitere Informationen zu SageMaker Notebook-Instance-Typen finden Sie unter SageMaker Amazon-Preise
Tools
Amazon Elastic Container Registry (AmazonECR) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
Amazon SageMaker ist ein verwalteter Service für maschinelles Lernen (ML), der Ihnen hilft, ML-Modelle zu erstellen und zu trainieren und sie dann in einer produktionsbereiten gehosteten Umgebung bereitzustellen.
Amazon SageMaker Python SDK
ist eine Open-Source-Bibliothek zum Trainieren und Bereitstellen von Modellen für maschinelles Lernen. SageMaker AWSStep Functions ist ein serverloser Orchestrierungsdienst, mit dem Sie AWS Lambda-Funktionen und andere AWS Dienste kombinieren können, um geschäftskritische Anwendungen zu erstellen.
AWSStep Functions Data Science Python SDK
ist eine Open-Source-Bibliothek, mit der Sie Step Functions Functions-Workflows erstellen können, die Modelle für maschinelles Lernen verarbeiten und veröffentlichen.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie Amazon ein ECR und erstellen Sie eine neue private Registrierung. | Falls Sie dies noch nicht getan haben, richten Sie Amazon ein, ECR indem Sie den Anweisungen unter Einrichtung bei Amazon ECR im ECRAmazon-Benutzerhandbuch folgen. Jedes AWS Konto ist standardmäßig mit einer privaten ECR Amazon-Registrierung ausgestattet. | DevOps Ingenieur |
Erstellen Sie ein ECR privates Amazon-Repository. | Folgen Sie den Anweisungen unter Erstellen eines privaten Repositorys im ECRAmazon-Benutzerhandbuch. Hinweis: In dem Repository, das Sie erstellen, speichern Sie Ihre benutzerdefinierten Docker-Container-Images. | DevOps Ingenieur |
Erstellen Sie ein Dockerfile, das die Spezifikationen enthält, die für die Ausführung Ihres SageMaker Verarbeitungsjobs erforderlich sind. | Erstellen Sie ein Dockerfile, das die für die Ausführung Ihres SageMaker Verarbeitungsjobs erforderlichen Spezifikationen enthält, indem Sie ein Dockerfile konfigurieren. Eine Anleitung finden Sie im Amazon SageMaker Developer Guide unter Anpassung Ihres eigenen Trainingscontainers. Weitere Informationen zu Dockerfiles finden Sie in der Dockerfile-Referenz Beispiel: Jupyter-Notebook-Codezellen zum Erstellen eines Dockerfiles Zelle 1
Zelle 2
| DevOps Ingenieur |
Erstellen Sie Ihr Docker-Container-Image und übertragen Sie es an AmazonECR. |
Weitere Informationen finden Sie unter Container erstellen und registrieren unter Beispiel für Jupyter-Notebook-Codezellen zum Erstellen und Registrieren eines Docker-Images Wichtig: Bevor Sie die folgenden Zellen ausführen, stellen Sie sicher, dass Sie ein Dockerfile erstellt und im Verzeichnis namens gespeichert haben. Zelle 1
Zelle 2
Zelle 3
Zelle 4
Hinweis: Sie müssen Ihren Docker-Client bei Ihrer privaten Registrierung authentifizieren, damit Sie die Befehle | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie ein Python-Skript, das Ihre benutzerdefinierte Verarbeitungs- und Modelltrainingslogik enthält. | Schreiben Sie eine benutzerdefinierte Verarbeitungslogik, die in Ihrem Datenverarbeitungsskript ausgeführt werden soll. Speichern Sie es dann als Python-Skript mit dem Namen Weitere Informationen finden Sie unter Bringen Sie Ihr eigenes Modell mit aktiviertem SageMaker Skriptmodus Beispiel für ein Python-Skript mit benutzerdefinierter Verarbeitungs- und Modelltrainingslogik
| Data Scientist |
Erstellen Sie einen Step Functions Functions-Workflow, der Ihren SageMaker Verarbeitungsjob als einen der Schritte enthält. | Installieren und importieren Sie AWSStep Functions Data Science SDK Wichtig: Stellen Sie sicher, dass Sie in Ihrem AWS Konto eine IAM Ausführungsrolle für Step Functions erstellt Beispiel für die Einrichtung einer Umgebung und ein benutzerdefiniertes Trainingsskript zum Hochladen auf Amazon S3
Beispiel für eine Definition eines SageMaker Verarbeitungsschritts, die ein benutzerdefiniertes ECR Amazon-Image und ein Python-Skript verwendet Hinweis: Stellen Sie sicher, dass Sie den
Beispiel Step Functions Functions-Workflow, der einen SageMaker Verarbeitungsjob ausführt Hinweis: Dieser Beispiel-Workflow umfasst nur den SageMaker Verarbeitungs-Job-Schritt, keinen vollständigen Step Functions Functions-Workflow. Einen vollständigen Beispiel-Workflow finden Sie unter Beispiel-Notebooks SageMaker in
| Data Scientist |
Zugehörige Ressourcen
Daten verarbeiten (Amazon SageMaker Developer Guide)
Anpassung Ihres eigenen Trainingscontainers (Amazon SageMaker Developer Guide)