Verwenden Sie von SageMaker KI bereitgestellte Projektvorlagen - Amazon SageMaker KI

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 von SageMaker KI bereitgestellte Projektvorlagen

Wichtig

Ab dem 28. Oktober 2024 wurden die AWS CodeCommit Vorlagen entfernt. Wählen Sie für neue Projekte aus den verfügbaren Projektvorlagen, die Git-Repositorys von Drittanbietern verwenden.

Amazon SageMaker AI bietet Projektvorlagen, die die Infrastruktur erstellen, die Sie für die Erstellung einer MLOps Lösung für die kontinuierliche Integration und kontinuierliche Bereitstellung (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 Model Registry zu registrieren und die Modelle für Inferenz 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 Für die Verwendung von Projekten sind SageMaker Studio-Berechtigungen erforderlich. 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, Tools zur Workflow-Automatisierung und Pipeline-Phasen:

  • Code-Repository: Git-Repositorys von Drittanbietern wie GitHub 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 die einzelnen Vorlagen, die Sie bei der Erstellung Ihres KI-Projekts auswählen können. SageMaker Sie können sich die verfügbaren Vorlagen auch in Studio (oder Studio Classic) ansehen, indem Sie der exemplarischen Vorgehensweise „Das Projekt des Projekts erstellen“ folgen.

step-by-stepAnweisungen zum Erstellen eines echten Projekts finden Sie in einer der exemplarischen Vorgehensweisen für das Projekt:

Themen
    • Code-Repository: Git eines Drittanbieters.

      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 sagemaker und true dem Wert hinzu.

    • Automatisierung des CI/CD-Workflows: AWS CodePipeline

    Modellbau und Schulung

    Diese Vorlage enthält die folgenden Ressourcen:

    • Verknüpfungen mit einem vom Kunden angegebenen Git-Repositorys. 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-Notizbuch, 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 zum Auffüllen der Git-Repositorys mit den Seed-Code-Informationen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.

    • Ein Amazon S3 S3-Bucket zum Speichern von Artefakten, einschließlich CodeBuild Artefakten, CodePipeline und aller Artefakte, die aus der SageMaker KI-Pipeline generiert wurden, wird ausgeführt.

    Modellbereitstellung

    Diese Vorlage enthält die folgenden Ressourcen:

    • Verknüpfungen mit einem vom Kunden angegebenen Git-Repositorys. Das Repository enthält Beispielcode, der Modelle auf Endpunkten in Staging- und Produktionsumgebungen bereitstellt.

    • Eine AWS CodePipeline Pipeline mit Quellcode, Build und Schritten deploy-to-staging. deploy-to-production Der Quellschritt verweist auf das Git-Repository eines Drittanbieters und der Build-Schritt ruft den Code aus diesem Repository ab und generiert AWS CloudFormation Stacks zur Bereitstellung. Die deploy-to-production Schritte deploy-to-staging und stellen die AWS CloudFormation Stacks in ihren jeweiligen Umgebungen bereit. Zwischen der Bereitstellungsphase und der Serienfertigung findet ein manueller Genehmigungsschritt statt, sodass ein MLOps Techniker das Modell genehmigen muss, bevor es in der Produktion eingesetzt wird.

    • Ein AWS CodeBuild Projekt zum Auffüllen der Git-Repositorys mit den Seed-Code-Informationen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.

    • Ein Amazon S3 S3-Bucket zum Speichern von Artefakten, einschließlich CodeBuild Artefakten, CodePipeline und aller Artefakte, die aus der SageMaker KI-Pipeline generiert wurden, wird ausgeführt.

    Modellerstellung, Schulung und Bereitstellung

    Diese Vorlage enthält die folgenden Ressourcen:

    • Verknüpfungen mit einem oder mehreren kundenspezifischen Git-Repositorys.

    • Eine AWS CodePipeline Pipeline mit Quellcode deploy-to-staging, Build und deploy-to-production Schritten. Der Quellschritt verweist auf das Git-Repository eines Drittanbieters und der Build-Schritt ruft den Code aus diesem Repository ab und generiert CloudFormation Stacks zur Bereitstellung. Die deploy-to-production Schritte deploy-to-staging und stellen die CloudFormation Stacks in ihren jeweiligen Umgebungen bereit. Zwischen der Bereitstellungsphase und der Serienfertigung findet ein manueller Genehmigungsschritt statt, sodass ein MLOps Techniker das Modell genehmigen muss, bevor es in der Produktion eingesetzt wird.

    • Ein AWS CodeBuild Projekt zum Auffüllen der Git-Repositorys mit den Seed-Code-Informationen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem Konto auf dem Git-Repository-Host.

    • Ein Amazon S3 S3-Bucket zum Speichern von Artefakten, einschließlich CodeBuild Artefakten, CodePipeline und aller Artefakte, die aus der SageMaker KI-Pipeline generiert wurden, wird ausgeführt.

    Wie bereits erwähnt, finden Sie unter Project Walkthrough Using Git Repos von Drittanbietern eine Demonstration, wie diese Vorlage verwendet wird, um ein echtes Projekt zu erstellen.

    • Code-Repository: Git eines Drittanbieters.

      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 sagemaker und true dem Wert hinzu.

    • Automatisierung des CI/CD-Workflows: AWS CodePipeline

    Die folgenden Vorlagen enthalten eine zusätzliche Amazon SageMaker Model Monitor-Vorlage, die die folgenden Arten der Überwachung bietet:

    Modellbau, Schulung, Bereitstellung und Amazon SageMaker Model Monitor

    Diese Vorlage ist eine Erweiterung der MLOps Vorlage für die Modellerstellung, das Training und die Bereitstellung mit Git-Repositorys unter Verwendung von 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 Sie ein bereitgestelltes Modell

    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 SageMaker KI-Inferenzendpunkt zu überwachen. 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 AWS CloudFormation Vorlage zur Erstellung der Amazon SageMaker Model Monitors.

    • Eine AWS CodePipeline Pipeline mit Schritten zur Beschaffung, Erstellung und Bereitstellung. 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. Der manuelle Genehmigungsschritt innerhalb der DeployStaging Phase erfordert, dass Sie überprüfen, ob sich der SageMaker KI-Produktionsendpunkt befindet, InService bevor Sie die Genehmigung erteilen und zur DeployProd Phase übergehen.

    • Ein AWS CodeBuild Projekt zum Auffüllen der Git-Repositorys mit den Seed-Code-Informationen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS-Konto zu Ihrem Konto auf dem Git-Repository-Host.

    • Die Vorlage verwendet denselben Amazon S3 S3-Bucket, der von der MLOps Vorlage für Modellbildung, Schulung 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-KI-Endpunkt aktualisiert wird.

    • Code-Repository: Git eines Drittanbieters.

      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 sagemaker und true dem Wert hinzu.

    • CI/CD-Workflow-Automatisierung: Jenkins

    Modellbau, Schulung und Einsatz

    Diese Vorlage enthält die folgenden Ressourcen:

    • Verknüpfungen mit einem oder mehreren kundenspezifischen Git-Repositorys.

    • Startcode zur Generierung von Jenkins-Pipelines mit Quellcode deploy-to-staging, Build und Schritten. deploy-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 Stacks. CloudFormation 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 zum Auffüllen der Git-Repositorys mit den Seed-Code-Informationen. Dies erfordert eine AWS CodeStar Verbindung von Ihrem AWS Konto zu Ihrem Konto auf dem Git-Repository-Host.

    • Ein Amazon S3 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 SageMaker Amazon-Projekte mithilfe von Drittanbieter-Quellcodeverwaltung und Jenkins erstellen.

    Die Anweisungen helfen Ihnen dabei, die im folgenden Diagramm gezeigte Architektur zu erstellen, die in diesem GitHub Beispiel als Quellcodeverwaltungs-Repository dient. 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.

    Der Workflow der Pipeline, der mithilfe der Projektvorlage erstellt wurde.

    Zusammenfassend führen Sie die folgenden Schritte durch die folgenden Aufgaben:

    1. Stellen Sie die Verbindung zwischen Ihren GitHub Konten AWS und Ihren Konten her.

    2. Erstellen Sie das Jenkins-Konto und importieren Sie die benötigten Plugins.

    3. Erstellen Sie die IAM Jenkins-Benutzer- und Berechtigungsrichtlinie.

    4. Legen Sie die AWS Anmeldeinformationen für den IAM Jenkins-Benutzer auf Ihrem Jenkins-Server fest.

    5. Erstellen Sie ein API Token für die Kommunikation mit Ihrem Jenkins-Server.

    6. Verwenden Sie eine CloudFormation Vorlage, um eine EventBridge Regel zur Überwachung der Modellregistrierung auf neu zugelassene Modelle einzurichten.

    7. Erstellen Sie das SageMaker KI-Projekt, das Ihre GitHub Repositorys mit Modellerstellungs- und Bereitstellungscode versorgt.

    8. Erstellen Sie Ihre Jenkins-Modellbau-Pipeline mit dem Model-Build-Seedcode.

    9. Erstellen Sie Ihre Jenkins-Modell-Deploy-Pipeline mit dem Modell-Deploy-Seedcode.

    Diese Vorlage ist eine Erweiterung von MLOpsVorlagen für Modellerstellung, Schulung und Bereitstellung mit Git eines Drittanbieters unter Verwendung von 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 ECR Amazon-Repository

    • Ein SageMaker KI-Bild

    • Ein CodeCommit Repository mit einer Docker-Datei, die 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 ECR Amazon-Repository registriert

    • Eine EventBridge Regel, die das nach einem Zeitplan CodePipeline initiiert

    Wenn der initiiert CodePipeline wird, erstellt er einen neuen Docker-Container und registriert ihn bei einem ECR Amazon-Repository. Wenn ein neuer Container im ECR Amazon-Repository registriert wird, ImageVersion wird dem SageMaker AI-Image ein neuer hinzugefügt. 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 bei Amazon SageMaker Studio (oder Studio Classic) einsteigen 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 Sie die Rolle und wechseln Sie zu den Einstellungen von Studio (oder Studio Classic)

      1. Löschen AmazonSageMakerServiceCatalogProductsUseRole Sie in der IAM Konsole.

      2. Wählen Sie in der Systemsteuerung von Studio (oder Studio Classic) die Option Einstellungen bearbeiten.

      3. Schalten Sie beide Einstellungen um und wählen Sie dann Übermitteln.

    • Fügen Sie in der IAM Konsole die folgenden Berechtigungen hinzuAmazonSageMakerServiceCatalogProductsUseRole:

      { "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-*" ] }