Was ist in einem SageMaker-AI-Projekt enthalten?
SageMaker-Projekte unterstützen Unternehmen bei der Einrichtung und Standardisierung von Entwicklerumgebungen für Datenwissenschaftler und CI/CD-Systemen für MLOps-Techniker. Projekte helfen Unternehmen auch bei der Einrichtung von Abhängigkeitsmanagement, Code-Repository-Management, Build-Reproduzierbarkeit und Artefakt-Sharing.
Sie können SageMaker-Projekte aus dem AWS Service Catalog mithilfe von benutzerdefinierten oder von SageMaker AI bereitgestellten Vorlagen bereitstellen. Weitere Informationen zum AWS Service Catalog finden Sie unter Was ist AWS Service Catalog. Mit SageMaker Projects können MLOps-Techniker und Unternehmensadministratoren ihre eigenen Vorlagen definieren oder von SageMaker AI bereitgestellte Vorlagen verwenden. Die von SageMaker AI bereitgestellten Vorlagen booten den ML-Workflow mit Quellversionskontrolle, automatisierten ML-Pipelines und einer Reihe von Code, um schnell mit der Iteration über ML-Anwendungsfälle zu beginnen.
Wann sollten Sie ein SageMaker-AI-Projekt verwenden?
Wichtig
Ab dem 9. September 2024 werden Projektvorlagen, die das AWS CodeCommit-Repository verwenden, nicht mehr unterstützt. Wählen Sie für neue Projekte aus den verfügbaren Projektvorlagen aus, die Git-Repositorys von Drittanbietern verwenden.
Notebooks sind zwar hilfreich bei der Modellbildung und beim Experimentieren, aber ein Team von Datenwissenschaftlern und ML-Ingenieuren, die Code gemeinsam nutzen, benötigt eine skalierbarere Methode, um die Codekonsistenz und eine strenge Versionskontrolle aufrechtzuerhalten.
Jede Organisation hat ihre eigenen Standards und Verfahren, die für Sicherheit und Steuerung ihrer AWS Umgebung sorgen. SageMaker AI bietet eine Reihe von Vorlagen von Erstanbietern für Unternehmen, die schnell mit ML-Workflows und CI/CD beginnen möchten. Zu den Vorlagen gehören Projekte, die AWS-native Dienste für CI/CD verwenden, wie AWS CodeBuild, AWS CodePipeline und AWS CodeCommit. Die Vorlagen bieten auch die Möglichkeit, Projekte zu erstellen, die Tools von Drittanbietern wie Jenkins und GitHub verwenden. Eine Liste der von SageMaker AI bereitgestellten Projektvorlagen finden Sie unter Verwenden von SageMaker AI bereitgestellten Projektvorlagen.
Organizations benötigen häufig eine strenge Kontrolle über die MLOP-Ressourcen, die sie bereitstellen und verwalten. Diese Verantwortung beinhaltet bestimmte Aufgaben, darunter die Konfiguration von IAM-Rollen und -Richtlinien, die Durchsetzung von Ressourcen-Tags, die Durchsetzung von Verschlüsselung und die Entkopplung von Ressourcen über mehrere Konten hinweg. SageMaker Projects kann all diese Aufgaben durch maßgeschneiderte Vorlagenangebote unterstützen, bei denen Unternehmen CloudFormation Vorlagen verwenden, um die für einen ML-Workflow benötigten Ressourcen zu definieren. Datenwissenschaftler können eine Vorlage für das Bootstrap auswählen und ihren ML-Workflow vorkonfigurieren. Diese benutzerdefinierten Vorlagen werden als Service-Catalog-Produkte erstellt und können in der Benutzeroberfläche von Studio oder Studio Classic unter Organisationsvorlagen bereitgestellt werden. Der Service Catalog ist ein Dienst, der Organisationen bei der Erstellung und Verwaltung von Katalogen mit Produkten unterstützt, die für die Verwendung auf AWS zugelassen sind. Weitere Informationen zum Erstellen benutzerdefinierter Vorlagen finden Sie unter Erstellen von benutzerdefinierten SageMaker-AI-Projektvorlagen – bewährte Methoden
SageMaker Projects kann Ihnen bei der Verwaltung Ihrer Git-Repositorys helfen, sodass Sie teamübergreifend effizienter zusammenarbeiten, die Codekonsistenz sicherstellen und CI/CD unterstützen können. SageMaker Projects kann Ihnen bei den folgenden Aufgaben helfen:
-
Organisieren Sie alle Entitäten des ML-Lebenszyklus in einem Projekt.
-
Richten Sie mit nur einem Klick eine standardmäßige ML-Infrastruktur für Modelltraining und -bereitstellung ein, die bewährte Verfahren beinhaltet.
-
Erstellen und teilen Sie Vorlagen für die ML-Infrastruktur für mehrere Anwendungsfälle.
-
Nutzen Sie die von SageMaker AI bereitgestellten vorgefertigten Vorlagen, um sich schnell auf die Modellerstellung zu konzentrieren, oder erstellen Sie benutzerdefinierte Vorlagen mit unternehmensspezifischen Ressourcen und Richtlinien.
-
Integrieren Sie die Tools Ihrer Wahl, indem Sie die Projektvorlagen erweitern. Ein Beispiel finden Sie unter Erstellen Sie ein SageMaker-AI-Projekt zur Integration mit GitLab und GitLab-Pipelines
. -
Organisieren Sie alle Entitäten des ML-Lebenszyklus in einem Projekt.
Was ist in einem SageMaker-AI-Projekt enthalten?
Kunden haben die Flexibilität, ihre Projekte mit den Ressourcen einzurichten, die für ihren Anwendungsfall am besten geeignet sind. Das folgende Beispiel zeigt das MLOps-Setup für einen ML-Workflow, einschließlich Modelltraining und -bereitstellung.
Ein typisches Projekt mit einer von SageMaker AI bereitgestellten Vorlage könnte Folgendes beinhalten:
-
Ein oder mehrere Repositorys mit Beispielcode zum Erstellen und Bereitstellen von ML-Lösungen. Dies sind funktionierende Beispiele, die Sie an Ihre Bedürfnisse anpassen können. Sie besitzen diesen Code und können die versionskontrollierten Repositorys für Ihre Aufgaben nutzen.
-
Eine SageMaker-AI-Pipeline, die Schritte für Datenvorbereitung, Training, Modellevaluierung und Modellbereitstellung definiert, wie in der folgenden Abbildung dargestellt.
-
Eine CodePipeline- oder Jenkins-Pipeline, die Ihre SageMaker-AI-Pipeline jedes Mal ausführt, wenn Sie eine neue Version des Codes einchecken. Weitere Informationen zu CodePipeline finden Sie unter Was ist AWS CodePipeline. Informationen zu Jenkins finden Sie in der Jenkins-Benutzerdokumentation
. -
Eine Modellgruppe, die Modellversionen enthält. Jedes Mal, wenn Sie die resultierende Modellversion aus einer Pipeline-Ausführung von SageMaker AI genehmigen, können Sie sie auf einem SageMaker-AI-Endpunkt bereitstellen.
Jedes SageMaker-AI-Projekt hat einen eindeutigen Namen und eine eindeutige ID, die als Tags auf alle im Projekt erstellten SageMaker-AI-Dateien und AWS-Ressourcen angewendet werden. Mit dem Namen und der ID können Sie alle Entitäten anzeigen, die mit Ihrem Projekt verknüpft sind. Dazu zählen:
-
Pipelines
-
Registrierte Modelle
-
Bereitgestellte Modelle (Endpunkte)
-
Datensätze
-
Service Catalog
-
CodePipeline- und Jenkins-Pipelines
-
CodeCommit und Git-Repositorys von Drittanbietern
Muss ich ein Projekt erstellen, um SageMaker-AI-Pipelines verwenden zu können?
Nein. SageMaker-AI-Pipelines sind eigenständige Einheiten, genau wie Trainingsjobs, Verarbeitungsaufträge und andere SageMaker-AI-Aufträge. Sie können Pipelines direkt in einem Notebook erstellen, aktualisieren und ausführen, indem Sie das SageMaker Python SDK verwenden, ohne ein SageMaker-AI-Projekt zu verwenden.
Projekte bieten eine zusätzliche Ebene, die Ihnen hilft, Ihren Code zu organisieren und betriebliche Best Practices zu übernehmen, die Sie für ein System mit Produktionsqualität benötigen.