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.
Verwenden Sie SageMaker AI-Provided Projektvorlagen
Wichtig
Am 28. Oktober 2024 wurden die AWS CodeCommit Vorlagen entfernt. Wählen Sie für neue Projekte aus den verfügbaren Projektvorlagen aus, die Git-Repositorys von Drittanbietern verwenden.
Amazon SageMaker AI bietet Projektvorlagen, die die Infrastruktur schaffen, die Sie für die Erstellung einer MLOps-Lösung für die kontinuierliche Integration und den kontinuierlichen Einsatz (CI/CD) von ML-Modellen benötigen. Verwenden Sie diese Vorlagen, um Daten zu verarbeiten, Funktionen zu extrahieren, Modelle zu trainieren und zu testen, die Modelle in der SageMaker Modellregistrierung zu registrieren und die Modelle für Inferenzzwecke bereitzustellen. Sie können den Seed-Code und die Konfigurationsdateien an Ihre Anforderungen anpassen.
Anmerkung
Für die Verwendung von Projektvorlagen sind zusätzliche Rollen erforderlich. Eine vollständige Liste der erforderlichen Rollen und Anweisungen zu ihrer Erstellung finden Sie unter Erteilen der SageMaker Studio-Berechtigungen, die für die Verwendung von Projekten erforderlich sind. Wenn Sie die neuen Rollen nicht haben, erhalten Sie die Fehlermeldung CodePipeline is not authorized to perform AssumeRole on role arn:aws:iam: :xxx: role/service -, role/AmazonSageMakerServiceCatalogProductsCodePipelineRole wenn Sie versuchen, ein neues Projekt zu erstellen und nicht fortfahren können.
SageMaker KI-Projektvorlagen bieten Ihnen die folgende Auswahl an Code-Repositorys, Workflow-Automatisierungstools und Pipeline-Phasen:
-
Code-Repository: Third-party Git-Repositorys wie GitHub und Bitbucket
-
CI/CD Workflow-Automatisierung: oder Jenkins AWS CodePipeline
-
Phasen der Pipeline: Modellerstellung und Training, Modellbereitstellung oder beides
Die folgende Diskussion bietet einen Überblick über jede Vorlage, die Sie bei der Erstellung Ihres SageMaker KI-Projekts auswählen können. Sie können die verfügbaren Vorlagen auch in Studio (oder Studio Classic) anzeigen, indem Sie den Anweisungen unter Projekt erstellen der Projektanleitung folgen.
Eine schrittweise Anleitung zum Erstellen eines echten Projekts finden Sie in einer der Vorgehensweisen für das Projekt:
-
Wenn Sie die Vorlage MLOps-Vorlagen für die Modellerstellung, das Training und die Bereitstellung mit Git von Drittanbietern mithilfe von Git CodePipeline verwenden möchten, siehe Gehen Sie mithilfe von Git Repos durch ein SageMaker KI-MLOps-Projekt Third-party.
-
Wenn Sie die Vorlage verwenden möchtenMLOps-Vorlagen für Modellerstellung, Training und Bereitstellung mit Git-Repositorys von Drittanbietern mithilfe von Jenkins, finden Sie weitere Informationen unter Erstellen von SageMaker Amazon-Projekten mithilfe der Quellcodeverwaltung von Drittanbietern und Jenkins
.
Themen
-
Code-Repository: Third-party Git.
Anmerkung
Stellen Sie die AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem GitHub Benutzer oder Ihrer Organisation her. Fügen Sie dieser AWS CodeStar Verbindung ein Tag mit dem Schlüssel
sagemakerundtruedem Wert hinzu. -
CI/CD Workflow-Automatisierung: AWS CodePipeline
Modellbau und Training
Diese Vorlage enthält die folgenden Ressourcen:
-
Verknüpfungen mit einem kundenspezifischen Git-Repository. Das Repository enthält Beispielcode, der eine Amazon SageMaker AI-Pipeline in Python-Code erstellt und zeigt, wie die SageMaker AI-Pipeline erstellt und aktualisiert wird. Dieses Repository enthält auch ein Python-Beispiel-Notebook, das Sie in Studio (oder Studio Classic) öffnen und ausführen können.
-
Eine AWS CodePipeline Pipeline mit Quell- und Build-Schritten. Der Quellschritt verweist auf das Git-Repository eines Drittanbieters. Der Build-Schritt ruft den Code aus diesem Repository ab, erstellt und aktualisiert die SageMaker AI-Pipeline, startet eine Pipeline-Ausführung und wartet, bis die Pipeline-Ausführung abgeschlossen ist.
-
Ein AWS CodeBuild Projekt, um die Git-Repositorys mit den Seedcode-Informationen zu füllen. Dies erfordert eine AWS CodeStar Verbindung von Ihnen AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.
-
Ein Amazon S3-Bucket zum Speichern von Artefakten, einschließlich CodePipeline und CodeBuild Artefakten, sowie aller aus der SageMaker KI-Pipeline generierten Artefakte wird ausgeführt.
Modellbereitstellung
Diese Vorlage enthält die folgenden Ressourcen:
-
Verknüpfungen mit einem kundenspezifischen Git-Repository. Das Repository enthält Beispielcode, der Modelle auf Endpunkten in Staging- und Produktionsumgebungen bereitstellt.
-
Eine AWS CodePipeline Pipeline, die die Schritte Source, Build, Deployment to Staging und Deployment to Production umfasst. Der Quellschritt verweist auf das Git-Repository eines Drittanbieters, und der Build-Schritt ruft den Code aus diesem Repository ab und generiert Stacks für die Bereitstellung. CloudFormation In den Schritten Deployment to Staging und Deployment to Production werden die CloudFormation Stacks in ihren jeweiligen Umgebungen bereitgestellt. Zwischen der Staging- und der Produktionsphase findet ein manueller Genehmigungsschritt statt, sodass ein MLOps-Techniker das Modell genehmigen muss, bevor es in der Produktion eingesetzt wird.
-
Ein AWS CodeBuild Projekt, um die Git-Repositorys mit den Seedcode-Informationen zu füllen. Dies erfordert eine AWS CodeStar Verbindung von Ihnen AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.
-
Ein Amazon S3-Bucket zum Speichern von Artefakten, einschließlich CodePipeline und CodeBuild Artefakten, sowie aller aus der SageMaker KI-Pipeline generierten Artefakte wird ausgeführt.
Modellerstellung, Training und Bereitstellung
Diese Vorlage enthält die folgenden Ressourcen:
-
Verknüpfungen mit einem oder mehreren kundenspezifischen Git-Repositorys.
-
Eine AWS CodePipeline Pipeline, die die Schritte Source, Build, Deployment to Staging und Deployment to Production umfasst. Der Quellschritt verweist auf das Git-Repository eines Drittanbieters, und im Build-Schritt wird der Code aus diesem Repository abgerufen und CloudFormation-Stacks für die Bereitstellung generiert. In den Schritten Deploy-to-Staging und Deploy-to-Production werden die CloudFormation -Stacks in ihren jeweiligen Umgebungen bereitgestellt. Zwischen der Staging- und der Produktionsphase findet ein manueller Genehmigungsschritt statt, sodass ein MLOps-Techniker das Modell genehmigen muss, bevor es in der Produktion eingesetzt wird.
-
Ein AWS CodeBuild Projekt, um die Git-Repositorys mit den Startcode-Informationen zu füllen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem Konto auf dem Git-Repository-Host.
-
Ein Amazon S3-Bucket zum Speichern von Artefakten, einschließlich CodePipeline und CodeBuild Artefakten, sowie aller aus der SageMaker KI-Pipeline generierten Artefakte wird ausgeführt.
Wie bereits erwähnt, finden Sie unter Projekt-Walkthrough Using Third-party Git Repos eine Demonstration, bei der diese Vorlage verwendet wird, um ein echtes Projekt zu erstellen.
-
Code-Repository: Third-party Git.
Anmerkung
Stellen Sie die AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem GitHub Benutzer oder Ihrer Organisation her. Fügen Sie dieser AWS CodeStar Verbindung ein Tag mit dem Schlüssel
sagemakerundtruedem Wert hinzu. -
CI/CD Workflow-Automatisierung: AWS CodePipeline
Die folgenden Vorlagen enthalten eine zusätzliche Amazon SageMaker Model Monitor-Vorlage, die die folgenden Arten der Überwachung bietet:
-
Datenqualität – Überwachen Sie Abweichungen bei der Datenqualität.
-
Modellqualität – Überwachen Sie Abweichungen bei den Kennzahlen zur Modellqualität, z. B. bei der Genauigkeit.
-
Verzerrungen bei Modellen in der Produktion: Überwachen Sie Verzerrungen bei den Vorhersagen eines Modells.
Modellerstellung, Schulung, Bereitstellung und Amazon SageMaker Model Monitor
Diese Vorlage ist eine Erweiterung der MLOps-Vorlage für die Modellerstellung, das Training und die Bereitstellung mithilfe von Git-Repositorys. CodePipeline Sie umfasst sowohl die Modellerstellungs-, Schulungs- und Bereitstellungskomponenten der Vorlage als auch eine zusätzliche Amazon SageMaker Model Monitor-Vorlage, die die folgenden Arten der Überwachung bietet:
Überwachen eines bereitgestellten Modells
Sie können diese Vorlage für eine MLOps-Lösung verwenden, um einen oder mehrere der Amazon SageMaker AI-Monitore für Datenqualität, Modellqualität, Modellverzerrung und Modellerklärbarkeit bereitzustellen, um ein bereitgestelltes Modell auf einem KI-Inferenzendpunkt zu überwachen. SageMaker Diese Vorlage enthält die folgenden Ressourcen:
-
Verknüpfungen mit einem oder mehreren kundenspezifischen Git-Repositorys. Das Repository enthält Python-Beispielcode, der die von den Monitoren verwendeten Baselines aus der Amazon SageMaker Model Registry abruft und die Parameter der Vorlage für die Staging- und Produktionsumgebungen aktualisiert. Es enthält auch eine CloudFormation Vorlage zum Erstellen der Amazon SageMaker Model Monitors.
-
Eine AWS CodePipeline Pipeline mit Quell-, Erstellungs- und Bereitstellungsschritten. Der Quellschritt verweist auf das CodePipeline Repository. Im Build-Schritt wird der Code aus diesem Repository abgerufen, die Baseline aus der Model Registry abgerufen und die Vorlagenparameter für die Staging- und Produktionsumgebung aktualisiert. In den Bereitstellungsschritten werden die konfigurierten Monitore in der Staging- und Produktionsumgebung bereitgestellt. Beim manuellen Genehmigungsschritt innerhalb der
DeployStagingPhase müssen Sie überprüfen, ob sich der SageMaker KI-Endpunkt der Produktion befindet,InServicebevor Sie die Genehmigung genehmigen und zurDeployProdPhase übergehen. -
Ein AWS CodeBuild Projekt, um die Git-Repositorys mit den Startcode-Informationen zu füllen. Dies erfordert eine AWS CodeStar Verbindung von Ihnen AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.
-
Die Vorlage verwendet denselben Amazon-S3-Bucket, der von der MLOps-Vorlage für Modellbildung, Training und Bereitstellung erstellt wurde, um die Ausgaben der Monitore zu speichern.
-
Zwei EventBridge Amazon-Event-Regeln initiieren den Amazon SageMaker Model Monitor AWS CodePipeline jedes Mal, wenn der SageMaker Staging-AI-Endpunkt aktualisiert wird.
-
Code-Repository: Third-party Git.
Anmerkung
Stellen Sie die AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem GitHub Benutzer oder Ihrer Organisation her. Fügen Sie dieser AWS CodeStar Verbindung ein Tag mit dem Schlüssel
sagemakerundtruedem Wert hinzu. -
CI/CD Workflow-Automatisierung: Jenkins
Modellerstellung, Training und Bereitstellung
Diese Vorlage enthält die folgenden Ressourcen:
-
Verknüpfungen mit einem oder mehreren kundenspezifischen Git-Repositorys.
-
Startcode zur Generierung von Jenkins-Pipelines mit den Schritten Source, Build, Deployment bis Staging und Deployment to Production. Der Quellschritt verweist auf das vom Kunden angegebene Git-Repository. Der Build-Schritt ruft den Code aus diesem Repository ab und generiert zwei CloudFormation Stapel. Bei den Bereitstellungsschritten werden die CloudFormation Stacks in ihren jeweiligen Umgebungen bereitgestellt. Zwischen dem Staging-Schritt und dem Produktionsschritt gibt es einen Genehmigungsschritt.
-
Ein AWS CodeBuild Projekt, um die Git-Repositorys mit den Seedcode-Informationen zu füllen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem Konto auf dem Git-Repository-Host.
-
Ein Amazon S3-Bucket zum Speichern von Artefakten des SageMaker KI-Projekts und der SageMaker KI-Pipeline.
Die Vorlage stellt die Verknüpfung zwischen Ihrem Projekt und den Quellcodeverwaltungs-Repositorys her. Sie müssen jedoch zusätzliche manuelle Schritte ausführen, um die Kommunikation zwischen Ihrem AWS Konto und Jenkins herzustellen. Die detaillierten Schritte finden Sie unter Erstellen von SageMaker Amazon-Projekten mithilfe der Quellcodeverwaltung von Drittanbietern und Jenkins.
Die Anweisungen helfen Ihnen beim Aufbau der im folgenden Diagramm gezeigten Architektur, in diesem GitHub Beispiel als Quellcodeverwaltungs-Repository. Wie gezeigt, hängen Sie Ihr Git-Repository an das Projekt an, um Codeversionen einzuchecken und zu verwalten. Jenkins initiiert die Model-Build-Pipeline, wenn es Änderungen am Model-Build-Code im Git-Repository erkennt. Sie verbinden das Projekt auch mit Jenkins, um Ihre Schritte zur Modellbereitstellung zu orchestrieren. Diese beginnen, wenn Sie das in der Modellregistrierung registrierte Modell genehmigen oder wenn Jenkins Änderungen am Modellbereitstellungscode feststellt.
Zusammenfassend führen Sie die folgenden Schritte durch die folgenden Aufgaben:
-
Stellen Sie die Verbindung zwischen Ihren AWS GitHub Konten her.
-
Erstellen Sie das Jenkins-Konto und importieren Sie die benötigten Plugins.
-
Erstellen Sie die Jenkins IAM-Benutzer- und Berechtigungsrichtlinie.
-
Legen Sie die AWS Anmeldeinformationen für den Jenkins IAM-Benutzer auf Ihrem Jenkins-Server fest.
-
Erstellen Sie ein API-Token für die Kommunikation mit Ihrem Jenkins-Server.
-
Verwenden Sie eine CloudFormation Vorlage, um eine EventBridge Regel zur Überwachung der Modellregistrierung auf neu zugelassene Modelle einzurichten.
-
Erstellen Sie das SageMaker KI-Projekt, das Ihre GitHub Repositorys mit Code zum Erstellen und Bereitstellen von Modellen versorgt.
-
Erstellen Sie Ihre Jenkins-Modellbau-Pipeline mit dem Model-Build-Seedcode.
-
Erstellen Sie Ihre Jenkins-Modell-Deploy-Pipeline mit dem Modell-Deploy-Seedcode.
Diese Vorlage ist eine Erweiterung von MLOps-Vorlagen für die Modellerstellung, das Training und die Bereitstellung mit Git von Drittanbietern mithilfe von Git CodePipeline. Sie umfasst sowohl die Modellerstellungs-, Trainings- und Bereitstellungskomponenten dieser Vorlage als auch die folgenden Optionen:
-
Schließen Sie die Pipeline zur Erstellung von Verarbeitungsabbildern ein
-
Pipeline zur Erstellung von Trainings-Images einbeziehen
-
Pipeline zur Erstellung von Inferenz-Images einbeziehen
Für jede der Komponenten, die bei der Projekterstellung ausgewählt wurden, werden die folgenden Komponenten mithilfe der Vorlage erstellt:
-
Ein Amazon-ECR-Repository
-
Ein CodeCommit Repository, das ein Dockerfile enthält, das Sie anpassen können
-
A CodePipeline , das durch Änderungen am Repository initiiert wird CodePipeline
-
Ein CodeBuild Projekt, das ein Docker-Image erstellt und es im Amazon ECR-Repository registriert
-
Eine EventBridge Regel, die das nach einem Zeitplan initiiert CodePipeline
Wenn der initiiert CodePipeline wird, erstellt er einen neuen Docker-Container und registriert ihn bei einem Amazon ECR-Repository. Wenn ein neuer Container im Amazon ECR-Repository registriert wird, ImageVersion wird dem Image ein neuer hinzugefügt. SageMaker Dadurch wird die Modellerstellungspipeline initiiert, die wiederum die Bereitstellungspipeline initiiert.
Das neu erstellte Image wird gegebenenfalls bei der Modellerstellung, beim Schulen und bei der Bereitstellung des Workflows verwendet.
Die der AmazonSageMakerServiceCatalogProductsUseRole Rolle zugeordnete verwaltete Richtlinie wurde am 27. Juli 2021 für die Verwendung mit den Git-Vorlagen von Drittanbietern aktualisiert. Benutzer, die nach diesem Datum zu Amazon SageMaker Studio (oder Studio Classic) wechseln und Projektvorlagen aktivieren, verwenden die neue Richtlinie. Benutzer, die sich vor diesem Datum angemeldet haben, müssen die Richtlinie aktualisieren, um diese Vorlagen verwenden zu können. Zum Aktualisieren der Richtlinie können Sie einen der folgenden Optionen verwenden:
-
Löschen der Rolle und Umschalten zwischen den Studio-Einstellungen (oder Studio-Classic-Einstellungen)
-
Löschen Sie
AmazonSageMakerServiceCatalogProductsUseRolein der IAM-Konsole. -
Wählen Sie in der Systemsteuerung von Studio (oder Studio Classic) die Option Einstellungen bearbeiten aus.
-
Schalten Sie beide Einstellungen um und wählen Sie dann Übermitteln.
-
-
Fügen Sie in der IAM-Konsole die folgenden Berechtigungen hinzu:
AmazonSageMakerServiceCatalogProductsUseRole{ "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }