Amazon SageMaker-Studio ist die erste vollständig integrierte Entwicklungsumgebung (IDE) für maschinelles Lernen (ML). Studio bietet eine einzige webbasierte visuelle Oberfläche, über die Sie alle ML-Entwicklungsschritte ausführen können, die zum Vorbereiten von Daten sowie zum Erstellen, Trainieren und Bereitstellen von Modellen erforderlich sind. Lebenszykluskonfigurationen sind Shell-Skripte, die durch Studio-Lebenszyklusereignisse ausgelöst werden, beispielsweise das Starten eines neuen Studio-Notebooks. Sie können Lebenszykluskonfigurationen verwenden, um die Anpassung Ihrer Studio-Umgebung zu automatisieren. Diese Anpassung umfasst die Installation benutzerdefinierter Pakete, die Konfiguration von Notebook-Erweiterungen, das Vorladen von Datensätzen und die Einrichtung von Quellcode-Repositorys. Als Administrator einer Studio-Domäne möchten Sie dies möglicherweise tun Sparen Sie Kosten, indem Sie Notebook-Apps nach längerer Inaktivität automatisch herunterfahren.
Das AWS Cloud-Entwicklungskit (AWS CDK) ist ein Framework zur Definition der Cloud-Infrastruktur durch Code und deren Bereitstellung AWS CloudFormation Stapel. Ein Stack ist eine Sammlung von AWS-Ressourcen, die programmgesteuert aktualisiert, verschoben oder gelöscht werden können. AWS CDK Konstrukte sind die Bausteine von AWS CDK-Anwendungen, die den Entwurf zur Definition von Cloud-Architekturen darstellen.
In diesem Beitrag zeigen wir, wie Sie das AWS CDK verwenden, um Studio einzurichten, Studio-Lebenszykluskonfigurationen zu verwenden und den Zugriff für Datenwissenschaftler und Entwickler in Ihrer Organisation zu ermöglichen.
Lösungsüberblick
Die Modularität der Lebenszykluskonfigurationen ermöglicht es Ihnen, sie auf alle Benutzer in einer Domäne oder auf bestimmte Benutzer anzuwenden. Auf diese Weise können Sie Lebenszykluskonfigurationen einrichten und im Studio darauf verweisen Kernel-Gateway oder Jupyter-Server schnell und konsequent. Das Kernel-Gateway ist der Einstiegspunkt für die Interaktion mit einer Notebook-Instanz, während der Jupyter-Server die Studio-Instanz darstellt. Dadurch können Sie die Best Practices von DevOps anwenden und Sicherheits-, Compliance- und Konfigurationsstandards in allen AWS-Konten und -Regionen einhalten. Für diesen Beitrag verwenden wir Python als Hauptsprache, der Code kann jedoch problemlos in andere von AWS CDK unterstützte Sprachen geändert werden. Weitere Informationen finden Sie unter Arbeiten mit dem AWS CDK.
Voraussetzungen:
Stellen Sie zunächst sicher, dass die folgenden Voraussetzungen erfüllt sind:
Klonen Sie das GitHub-Repository
Erstens klonen GitHub-Repository.
Wenn Sie das Repository klonen, können Sie feststellen, dass wir mit dem Verzeichnis über ein klassisches AWS CDK-Projekt verfügen studio-lifecycle-config-construct
, das das Konstrukt und die Ressourcen enthält, die zum Erstellen von Lebenszykluskonfigurationen erforderlich sind.
AWS CDK-Konstrukte
Die Datei, die wir überprüfen möchten, ist aws_sagemaker_lifecycle.py
. Diese Datei enthält die SageMakerStudioLifeCycleConfig
Konstrukt, mit dem wir Lebenszykluskonfigurationen einrichten und erstellen.
Das SageMakerStudioLifeCycleConfig
Das Konstrukt bietet den Rahmen für die Erstellung von Lebenszykluskonfigurationen mithilfe einer benutzerdefinierten Konfiguration AWS Lambda Aus einer Datei eingelesener Funktions- und Shellcode. Das Konstrukt enthält die folgenden Parameter:
- ID – Der Name des aktuellen Projekts.
- studio_lifecycle_content - Die base64 verschlüsselter Inhalt.
- studio_lifecycle_tags – Etiketten, die Sie zuweisen, um Amazon-Ressourcen zu organisieren. Sie werden als Schlüssel-Wert-Paare eingegeben und sind für diese Konfiguration optional.
- studio_lifecycle_config_app_type -
JupyterServer
ist für den eindeutigen Server selbst und dieKernelGateway
app entspricht einem laufenden SageMaker-Image-Container.
Weitere Informationen zur Studio-Notebook-Architektur finden Sie unter Tauchen Sie tief in die Architektur von Amazon SageMaker Studio Notebooks ein.
Das Folgende ist ein Codeausschnitt des Studio-Lebenszyklus-Konfigurationskonstrukts (aws_sagemaker_lifecycle.py
):
Nachdem Sie das Konstrukt importiert und installiert haben, können Sie es verwenden. Der folgende Codeausschnitt zeigt, wie Sie mithilfe des Konstrukts in einem Stapel eine Lebenszykluskonfiguration erstellen app.py
oder ein anderes Konstrukt:
Stellen Sie AWS CDK-Konstrukte bereit
Um Ihren AWS CDK-Stack bereitzustellen, führen Sie die folgenden Befehle an dem Speicherort aus, an dem Sie das Repository geklont haben.
Der Befehl kann sein python
statt python3
Abhängig von Ihren Pfadkonfigurationen.
- Erstellen Sie eine virtuelle Umgebung:
- Für macOS/Linux verwenden Sie
python3 -m venv .cdk-venv
. - Verwenden Sie für Windows
python3 -m venv .cdk-venv
.
- Für macOS/Linux verwenden Sie
- Aktivieren Sie die virtuelle Umgebung:
- Für macOS/Linux verwenden Sie
source .cdk-venvbinactivate
. - Verwenden Sie für Windows
.cdk-venv/Scripts/activate.bat
. - Verwenden Sie für PowerShell
.cdk-venv/Scripts/activate.ps1
.
- Für macOS/Linux verwenden Sie
- Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- An dieser Stelle können Sie optional die CloudFormation-Vorlage für diesen Code synthetisieren:
- Stellen Sie die Lösung mit den folgenden Befehlen bereit:
aws configure
cdk bootstrap
cdk deploy
Wenn der Stack erfolgreich bereitgestellt wurde, sollten Sie den Stack auf der CloudFormation-Konsole anzeigen können.
Sie können die Lebenszykluskonfiguration auch auf der SageMaker-Konsole anzeigen.
Wählen Sie die Lebenszykluskonfiguration aus, um den ausgeführten Shell-Code sowie alle von Ihnen zugewiesenen Tags anzuzeigen.
Hängen Sie die Studio-Lebenszykluskonfiguration an
Es gibt mehrere Möglichkeiten, eine Lebenszykluskonfiguration anzuhängen. In diesem Abschnitt stellen wir zwei Methoden vor: die Verwendung von AWS-Managementkonsoleund programmgesteuert unter Nutzung der bereitgestellten Infrastruktur.
Hängen Sie die Lebenszykluskonfiguration über die Konsole an
Führen Sie die folgenden Schritte aus, um die Konsole zu verwenden:
- Wählen Sie in der SageMaker-Konsole Domains im Navigationsbereich.
- Wählen Sie den von Ihnen verwendeten Domänennamen und das aktuelle Benutzerprofil aus und wählen Sie dann Bearbeiten.
- Wählen Sie die Lebenszykluskonfiguration aus, die Sie verwenden möchten, und wählen Sie aus Anfügen.
Von hier aus können Sie es auch als Standard festlegen.
Hängen Sie die Lebenszykluskonfiguration programmgesteuert an
Sie können auch den ARN der von den Konstrukten erstellten Studio-Lebenszykluskonfiguration abrufen und ihn programmgesteuert an das Studio-Konstrukt anhängen. Der folgende Code zeigt, wie der Lebenszykluskonfigurations-ARN an ein Studio-Konstrukt übergeben wird:
Aufräumen
Führen Sie die Schritte in diesem Abschnitt aus, um Ihre Ressourcen zu bereinigen.
Löschen Sie die Studio-Lebenszykluskonfiguration
Um Ihre Lebenszykluskonfiguration zu löschen, führen Sie die folgenden Schritte aus:
- Wählen Sie in der SageMaker-Konsole Studio-Lebenszykluskonfigurationen im Navigationsbereich.
- Wählen Sie die Lebenszykluskonfiguration aus und wählen Sie dann Löschen.
Löschen Sie den AWS CDK-Stack
Wenn Sie mit den von Ihnen erstellten Ressourcen fertig sind, können Sie Ihren AWS CDK-Stack zerstören, indem Sie den folgenden Befehl an dem Speicherort ausführen, an dem Sie das Repository geklont haben:
Wenn Sie aufgefordert werden, das Löschen des Stapels zu bestätigen, geben Sie ein yes
.
Sie können den Stack auch mit den folgenden Schritten auf der AWS CloudFormation-Konsole löschen:
- Wählen Sie in der AWS CloudFormation-Konsole aus Stacks im Navigationsbereich.
- Wählen Sie den Stapel aus, den Sie löschen möchten.
- Wählen Sie im Stack-Detailbereich aus Löschen.
- Auswählen Stapel löschen wenn Sie dazu aufgefordert werden.
Wenn Fehler auftreten, müssen Sie je nach Kontokonfiguration möglicherweise einige Ressourcen manuell löschen.
Zusammenfassung
In diesem Beitrag haben wir besprochen, wie Studio als IDE für ML-Workloads dient. Studio bietet Unterstützung für die Lebenszykluskonfiguration, mit der Sie benutzerdefinierte Shell-Skripte einrichten können, um automatisierte Aufgaben auszuführen, oder Entwicklungsumgebungen beim Start einrichten können. Wir haben AWS CDK-Konstrukte verwendet, um die Infrastruktur für die benutzerdefinierte Ressourcen- und Lebenszykluskonfiguration aufzubauen. Konstrukte werden zu CloudFormation-Stacks synthetisiert, die dann bereitgestellt werden, um das benutzerdefinierte Ressourcen- und Lebenszyklusskript zu erstellen, das in Studio und dem Notebook-Kernel verwendet wird.
Für weitere Informationen besuchen Sie Amazon SageMaker-Studio.
Über die Autoren
Cory Haarston ist Softwareentwickler beim Amazon ML Solutions Lab. Derzeit arbeitet er an der Bereitstellung wiederverwendbarer Softwarelösungen.
Alex Chirayath ist Senior Machine Learning Engineer im Amazon ML Solutions Lab. Er leitet Teams von Data Scientists und Ingenieuren, um KI-Anwendungen zu entwickeln, die den geschäftlichen Anforderungen gerecht werden.
Gouri Pandeshwar ist Engineer Manager im Amazon ML Solutions Lab. Er und sein Team aus Ingenieuren arbeiten an der Entwicklung wiederverwendbarer Lösungen und Frameworks, die dazu beitragen, die Einführung von AWS AI/ML-Services für die Geschäftsanwendungsfälle der Kunden zu beschleunigen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- EVM-Finanzen. Einheitliche Schnittstelle für dezentrale Finanzen. Hier zugreifen.
- Quantum Media Group. IR/PR verstärkt. Hier zugreifen.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/
- :Ist
- :Wo
- $UP
- 100
- 12
- 14
- 7
- a
- Fähig
- beschleunigen
- Zugang
- Konto
- Trading Konten
- über
- Adresse
- Adoption
- Nach der
- AI
- AI / ML
- Alle
- erlaubt
- ebenfalls
- Amazon
- Amazon ML-Lösungslabor
- Amazon Sage Maker
- Amazon SageMaker-Studio
- Amazon Web Services
- an
- und
- Ein anderer
- jedem
- App
- Anwendungen
- Bewerben
- Apps
- Architektur
- SIND
- AS
- zugewiesen
- At
- anhängen
- automatisieren
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- AWS
- AWS CloudFormation
- BE
- Sein
- BESTE
- Best Practices
- Blockiert
- bauen
- Building
- Geschäft
- aber
- by
- CAN
- Fälle
- geändert
- Auswählen
- klassisch
- Cloud
- Cloud-Infrastruktur
- Code
- Sammlung
- COM
- abschließen
- Compliance
- Konfiguration
- Schichtannahme
- Konsul (Console)
- konstruieren
- Container
- enthält
- Inhalt
- entspricht
- Kosten
- erstellen
- erstellt
- Strom
- Zur Zeit
- Original
- Anpassung
- technische Daten
- Datensätze
- tief
- Standard
- Definition
- Abhängig
- einsetzen
- Einsatz
- zerstören
- Details
- Entwickler
- Entwicklung
- diskutiert
- Domain
- Domain Name
- erledigt
- nach unten
- leicht
- entweder
- ermöglichen
- ermöglicht
- Ingenieur
- Ingenieure
- Enter
- Eintrag
- Arbeitsumfeld
- Umgebungen
- Fehler
- Veranstaltungen
- Beispiel
- Erweiterungen
- Reichen Sie das
- Vorname
- Folgende
- Aussichten für
- Unser Ansatz
- Gerüste
- für
- voll
- Funktion
- Tor
- bekommen
- GitHub
- Haben
- mit
- he
- Hilfe
- hier
- seine
- Ultraschall
- Hilfe
- HTML
- http
- HTTPS
- ID
- Image
- importieren
- in
- Dazu gehören
- Information
- Infrastruktur
- installieren
- Installieren
- Instanz
- beantragen müssen
- integriert
- interagieren
- Schnittstelle
- in
- IT
- SEINE
- selbst
- jpg
- Labor
- Etiketten
- Sprache
- Sprachen
- starten
- umwandeln
- lernen
- Lebenszyklus
- Standorte
- Lang
- Maschine
- Maschinelles Lernen
- Main
- um
- Management
- Manager
- manuell
- Kann..
- Triff
- Methoden
- ML
- für
- mehr
- gerührt
- mehrere
- Name
- Menü
- Bedürfnisse
- Neu
- Notizbuch
- beobachten
- of
- Angebote
- on
- or
- Organisation
- Andere
- Pakete
- Paare
- Brot
- Parameter
- Bestanden
- Weg
- Ausführen
- Zeiträume
- Plato
- Datenintelligenz von Plato
- PlatoData
- Points
- Post
- Powershell
- Praktiken
- Danach
- Voraussetzungen
- Gegenwart
- Profil
- Projekt
- vorausgesetzt
- bietet
- Bereitstellung
- Python
- schnell
- Lesen Sie mehr
- Regionen
- Quelle
- Darstellen
- representiert
- falls angefordert
- Voraussetzungen:
- Ressourcen
- Downloads
- wiederverwendbar
- Führen Sie
- Laufen
- Sicherheit
- sagemaker
- Wissenschaftler
- Umfang
- Skripte
- Abschnitt
- SELF
- Senior
- dient
- Lösungen
- kompensieren
- Einstellung
- Schale
- sollte
- erklären
- Konzerte
- schließen
- Single
- Software
- Software IngenieurIn
- Lösung
- Lösungen
- einige
- Quelle
- Quellcode
- spezifisch
- Stapel
- Stacks
- Normen
- begonnen
- Beginnen Sie
- Shritte
- Studio Adressen
- Erfolgreich
- so
- Support
- Unterstützte
- System
- und Aufgaben
- Team
- Teams
- Vorlage
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Sie
- dann
- vom Nutzer definierten
- fehlen uns die Worte.
- Durch
- zu
- Training
- ausgelöst
- XNUMX
- einzigartiges
- aktualisiert
- -
- benutzt
- Mitglied
- Nutzer
- Verwendung von
- Anzeigen
- Assistent
- Besuchen Sie
- wollen
- Weg..
- Wege
- we
- Netz
- Web-Services
- Webbasiert
- GUT
- wann
- während
- welche
- werden wir
- Fenster
- mit
- arbeiten,
- Werk
- Du
- Ihr
- Zephyrnet