Exemplarische Vorgehensweise für das MLOps-Projekt von SageMaker AI mithilfe von Git-Repos von Drittanbietern - Amazon SageMaker AI

Exemplarische Vorgehensweise für das MLOps-Projekt von SageMaker AI mithilfe von Git-Repos von Drittanbietern

Wichtig

Am 30. November 2023 wurde Amazon SageMaker Studio in Amazon SageMaker Studio umbenannt. Der folgende Abschnitt bezieht sich konkret auf die Verwendung der Studio-Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Konfiguration finden Sie unter Amazon SageMaker Studio.

In dieser exemplarischen Vorgehensweise wird anhand der Vorlage MLOps-Vorlagen für Modellerstellung, Training und Bereitstellung mit Git von Drittanbietern mithilfe von CodePipeline veranschaulicht, wie Sie mithilfe von MLOps-Projekten ein CI/CD-System zum Erstellen, Schulen und Bereitstellen von Modellen erstellen können.

Voraussetzungen

Zum Abschließen dieser Vorgehensweise benötigen Sie:

Schritt 1: Einrichten der GitHub-Verbindung

In diesem Schritt stellen Sie über eine AWS CodeConnections Verbindung eine Verbindung zu Ihren GitHub-Repositorys her. Das SageMaker-AI-Projekt verwendet diese Verbindung, um auf Ihre Quellcode-Repositorys zuzugreifen.

So richten Sie die GitHub-Verbindung ein:
  1. Melden Sie sich bei der CodePipeline-Konsole unter https://console.aws.amazon.com/codepipeline an

  2. Wählen Sie im Navigationsbereich unter Einstellungen die Option Verbindungen.

  3. Wählen Sie Create Connection (Verbindung erstellen) aus.

  4. Wählen Sie unter Anbieter auswählen die Option GitHub aus.

  5. Geben Sie für Verbindungsname einen Namen ein.

  6. Wählen Sie Verbindung mit GitHub erstellen.

  7. Wenn die AWS Connector GitHub-App noch nicht installiert ist, wählen Sie Neue App installieren.

    Daraufhin wird eine Liste aller persönlichen GitHub-Konten und Organisationen angezeigt, auf die Sie Zugriff haben.

  8. Wählen Sie das Konto aus, mit dem Sie Konnektivität für die Verwendung mit SageMaker-Projekten und GitHub-Repositorys einrichten möchten.

  9. Wählen Sie Konfigurieren aus.

  10. Sie können optional Ihre spezifischen Repositorys oder Alle Repositorys auswählen.

  11. Wählen Sie Speichern. Wenn die App installiert ist, werden Sie auf die Seite Mit GitHub verbinden weitergeleitet und die Installations-ID wird automatisch eingetragen.

  12. Wählen Sie Connect aus.

  13. Fügen Sie dieser CodeConnections-Verbindung ein Tag mit dem Schlüssel sagemaker und dem Wert true hinzu.

  14. Kopieren Sie den Verbindungs-ARN, um ihn für später zu speichern. Sie verwenden den ARN als Parameter im Schritt der Projekterstellung.

Schritt 2: Erstellen des Projekts

In diesem Schritt erstellen Sie ein MLOps-Projekt von SageMaker AI, indem Sie eine von SageMaker AI bereitgestellte Projektvorlage verwenden, um Modelle zu erstellen, zu trainieren und bereitzustellen.

So erstellen Sie das MLOps-Projekt von SageMaker AI
  1. Melden Sie sich bei Studio an. Weitere Informationen finden Sie unter Übersicht über die Domain von Amazon SageMaker AI.

  2. Wählen Sie in der Studio-Seitenleiste das Home-Symbol ( Black square icon representing a placeholder or empty image. ).

  3. Wählen Sie im Menü Bereitstellungen und dann Projekte aus.

  4. Wählen Sie Create project (Projekt erstellen) aus.

    Die Registerkarte Projekt erstellen wird angezeigt.

  5. Wählen Sie für SageMaker-AI-Projektvorlagen die Option Modellerstellung, Training und Bereitstellung mit Git-Repositorys von Drittanbietern.

  6. Wählen Sie Weiter aus.

  7. Geben Sie unter ModelBuild CodeRepository Info die folgenden Parameter an:

    • Geben Sie für Branch den Branch ein, der aus Ihrem Git-Repository für Pipeline-Aktivitäten verwendet werden soll.

    • Geben Sie unter Vollständiger Repository-Name den Git-Repository-Namen im Format Benutzername/Repository-Name oder Organisation/Repository-Name ein.

    • Geben Sie für Code Connection ARN den ARN der CodeConnections-Verbindung ein, die Sie in Schritt 1 erstellt haben.

  8. Geben Sie unter ModelDeploy CodeRepository Info die folgenden Parameter an:

    • Geben Sie für Branch den Branch ein, der aus Ihrem Git-Repository für Pipeline-Aktivitäten verwendet werden soll.

    • Geben Sie unter Vollständiger Repository-Name den Git-Repository-Namen im Format Benutzername/Repository-Name oder Organisation/Repository-Name ein.

    • Geben Sie für Code Connection ARN den ARN der CodeConnections-Verbindung ein, die Sie in Schritt 1 erstellt haben.

  9. Wählen Sie Projekt erstellen aus.

Das Projekt wird in der Projekt-Liste mit dem Status Erstellt angezeigt.

Schritt 3: Nehmen Sie eine Änderung am Code vor

Nehmen Sie nun eine Änderung am Pipeline-Code vor, der das Modell erstellt, und übernehmen Sie die Änderung, um einen neuen Pipeline-Lauf zu initiieren. Der Pipeline-Lauf registriert eine neue Modellversion.

Um eine Codeänderung vorzunehmen
  1. Navigieren Sie in Ihrem GitHub-Repo für Modellbau zu dem pipelines/abalone Ordner. Doppelklicken Sie pipeline.py, um die Codedatei zu öffnen.

  2. Suchen Sie in der pipeline.py Datei nach der Zeile, die den Typ der Trainings-Instance festlegt.

    training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"

    Öffnen Sie die Datei zur Bearbeitung, ändern Sie ml.m5.xlarge zu ml.m5.large, und bestätigen Sie sie.

Nachdem Sie Ihre Codeänderung übernommen haben, initiiert das MLOps-System eine Ausführung der Pipeline, die eine neue Modellversion erstellt. Im nächsten Schritt genehmigen Sie die neue Modellversion, um sie für die Produktion bereitzustellen.

Schritt 4: Genehmigen des Modells

Jetzt genehmigen Sie die neue Modellversion, die im vorherigen Schritt erstellt wurde, um eine Bereitstellung der Modellversion auf einem SageMaker-AI-Endpunkt zu initiieren.

Um die Modellversion zu genehmigen
  1. Wählen Sie in der Studio-Classic Seitenleiste das Symbol Home ( Black square icon representing a placeholder or empty image. ) aus.

  2. Wählen Sie im Menü Bereitstellungen und dann Projekte aus.

  3. Suchen Sie den Namen des Projekts, das Sie im ersten Schritt erstellt haben, und doppelklicken Sie darauf, um die Projekt-Registerkarte für Ihr Projekt zu öffnen.

  4. Wählen Sie auf der Projektregisterkarte Modellgruppen aus und doppelklicken Sie dann auf den Namen der Modellgruppe, die angezeigt wird.

    Die Registerkarte Modellgruppe wird angezeigt.

  5. Doppelklicken Sie auf der Registerkarte Modellgruppe auf Version 1. Die Registerkarte Version 1 wird geöffnet. Wählen Sie Status aktualisieren.

  6. Wählen Sie im Dialogfeld Modellversionsstatus aktualisieren in der Dropdown-Liste Status die Option Genehmigen und dann Status aktualisieren aus.

    Durch die Genehmigung der Modellversion wird das Modell vom MLOps-System für die Staging-Bereitstellung bereitgestellt. Um den Endpunkt anzuzeigen, wählen Sie auf der Projektregisterkarte die Registerkarte Endpunkte aus.

(Optional) Schritt 5: Stellen Sie die Modellversion für die Produktion bereit

Jetzt können Sie die Modellversion in der Produktionsumgebung bereitstellen.

Anmerkung

Um diesen Schritt abschließen zu können, müssen Sie Administrator in Ihrer Studio-Classic-Domain sein. Wenn Sie kein Administrator sind, überspringen Sie diesen Schritt.

Um die Modellversion in der Produktionsumgebung bereitzustellen
  1. Melden Sie sich bei der CodePipeline-Konsole unter https://console.aws.amazon.com/codepipeline an

  2. Wählen Sie Pipelines und dann die Pipeline mit dem Namen sagemaker-projectname-projectid-modeldeploy aus, wobei projectname der Name Ihres Projekts und projectid die ID Ihres Projekts ist.

  3. Wählen Sie in der Phase DeployStaging die Option Prüfen aus.

  4. Wählen Sie im Dialogfeld Prüfen die Option Genehmigen aus.

    Durch die Genehmigung der DeployStaging-Phase wird das Modell vom MLOps-System für die Produktion bereitgestellt. Um den Endpunkt anzuzeigen, wählen Sie in Studio Classic auf der Projektregisterkarte die Registerkarte Endpunkte aus.

Schritt 6: Bereinigen von Ressourcen

Bereinigen Sie die Ressourcen, die in dieser Vorgehensweise erstellt wurden, damit keine Gebühren mehr anfallen.

Anmerkung

Um den CloudFormation-Stack und den Amazon-S3-Bucket zu löschen, müssen Sie Administrator in Studio Classic sein. Wenn Sie kein Administrator sind, bitten Sie Ihren Administrator, diese Schritte auszuführen.

  1. Wählen Sie in der Studio-Classic Seitenleiste das Symbol Home ( Black square icon representing a placeholder or empty image. ) aus.

  2. Wählen Sie im Menü Bereitstellungen und dann Projekte aus.

  3. Wählen Sie das Zielprojekt aus der Dropdown-Liste aus. Wenn Sie Ihr Projekt nicht sehen, geben Sie den Projektnamen ein und wenden Sie den Filter an, um Ihr Projekt zu finden.

  4. Wählen Sie Ihr Projekt aus, um die Details im Hauptbereich anzuzeigen.

  5. Wählen Sie im Menü Aktionen die Option Löschen aus.

  6. Bestätigen Sie Ihre Auswahl, indem Sie im Fenster Projekt löschen die Option Löschen wählen.

    Dadurch wird das von Service Catalog bereitgestellte Produkt gelöscht, das das Projekt erstellt hat. Dazu gehören die CodeCommit-, CodePipeline- und CodeBuild-Ressourcen, die für das Projekt erstellt wurden.

  7. Löschen Sie die CloudFormation-Stacks, der das Projekt erstellt hat. Es gibt zwei Stacks, einen für das Staging und einen für die Produktion. Die Namen der Stacks lauten sagemaker-projectname-project-id-deploy-staging und sagemaker-projectname-project-id-deploy-prod, worin projectname der Name Ihres Projekts und project-id die ID Ihres Projekts ist.

    Informationen zum Löschen eines CloudFormation Stapels finden Sie unter Löschen eines Stapels auf der CloudFormation Konsole im CloudFormation Benutzerhandbuch.

  8. Löschen Sie den Amazon-S3-Bucket, den das Projekt erstellt hat. Der Name des Buckets lautet sagemaker-project-project-id, wobei project-id die ID Ihres Projekts ist.