Amazon SageMaker Studio is de eerste volledig geïntegreerde ontwikkelomgeving (IDE) voor machine learning (ML). Studio biedt een enkele webgebaseerde visuele interface waarin u alle ML-ontwikkelingsstappen kunt uitvoeren die nodig zijn om gegevens voor te bereiden en modellen te bouwen, trainen en implementeren. Levenscyclusconfiguraties zijn shell-scripts die worden geactiveerd door gebeurtenissen in de levenscyclus van Studio, zoals het starten van een nieuw Studio-notitieblok. U kunt levenscyclusconfiguraties gebruiken om aanpassingen voor uw Studio-omgeving te automatiseren. Deze aanpassing omvat het installeren van aangepaste pakketten, het configureren van notebook-extensies, het vooraf laden van datasets en het opzetten van broncode-opslagplaatsen. Als beheerder van een Studio-domein wilt u dat misschien wel bespaar kosten door notebook-apps automatisch te laten afsluiten na lange perioden van inactiviteit.
De AWS Cloud-ontwikkelingskit (AWS CDK) is een raamwerk voor het definiëren van cloudinfrastructuur door middel van code en het inrichten ervan AWS CloudFormatie stapels. Een stapel is een verzameling AWS-bronnen die programmatisch kunnen worden bijgewerkt, verplaatst of verwijderd. AWS CDK constructies zijn de bouwstenen van AWS CDK-applicaties, die de blauwdruk vertegenwoordigen om cloud-architecturen te definiëren.
In dit bericht laten we zien hoe u de AWS CDK kunt gebruiken om Studio in te stellen, Studio-levenscyclusconfiguraties te gebruiken en de toegang voor datawetenschappers en ontwikkelaars in uw organisatie mogelijk te maken.
Overzicht oplossingen
Dankzij de modulariteit van levenscyclusconfiguraties kunt u ze toepassen op alle gebruikers in een domein of op specifieke gebruikers. Op deze manier kunt u levenscyclusconfiguraties instellen en ernaar verwijzen in de Studio kernelgateway of Jupyter-server snel en consequent. De kernelgateway is het toegangspunt voor interactie met een notebookinstantie, terwijl de Jupyter-server de Studio-instantie vertegenwoordigt. Hierdoor kunt u best practices voor DevOps toepassen en voldoen aan veiligheids-, compliance- en configuratienormen voor alle AWS-accounts en regio's. Voor dit bericht gebruiken we Python als hoofdtaal, maar de code kan eenvoudig worden gewijzigd in andere door AWS CDK ondersteunde talen. Voor meer informatie, zie Werken met de AWS CDK.
Voorwaarden
Zorg ervoor dat u aan de volgende vereisten voldoet om aan de slag te gaan:
Kloon de GitHub-repository
Eerste, klonen de GitHub-repository.
Terwijl u de repository kloont, kunt u zien dat we een klassiek AWS CDK-project hebben met de directory studio-lifecycle-config-construct
, dat de constructie en bronnen bevat die nodig zijn om levenscyclusconfiguraties te maken.
AWS CDK-constructies
Het bestand dat we willen inspecteren is aws_sagemaker_lifecycle.py
. Dit bestand bevat de SageMakerStudioLifeCycleConfig
constructie die we gebruiken om levenscyclusconfiguraties in te stellen en te maken.
De SageMakerStudioLifeCycleConfig
construct biedt het raamwerk voor het bouwen van levenscyclusconfiguraties met behulp van een custom AWS Lambda functie en shell-code ingelezen uit een bestand. Het construct bevat de volgende parameters:
- ID – De naam van het huidige project.
- studio_lifecycle_content - The base64 gecodeerde inhoud.
- studio_lifecycle_tags - Labels die u toewijst om Amazon-bronnen te organiseren. Ze worden ingevoerd als sleutel-waardeparen en zijn optioneel voor deze configuratie.
- studio_lifecycle_config_app_type -
JupyterServer
is voor de unieke server zelf, en deKernelGateway
app komt overeen met een actieve SageMaker-afbeeldingscontainer.
Raadpleeg voor meer informatie over de Studio-notebookarchitectuur Duik diep in de Amazon SageMaker Studio Notebooks-architectuur.
Het volgende is een codefragment van de Studio-levenscyclusconfiguratieconstructie (aws_sagemaker_lifecycle.py
):
Nadat u de constructie hebt geïmporteerd en geïnstalleerd, kunt u deze gebruiken. Het volgende codefragment laat zien hoe u een levenscyclusconfiguratie kunt maken met behulp van de constructie in een stack of in app.py
of een andere constructie:
Implementeer AWS CDK-constructies
Om uw AWS CDK-stack te implementeren, voert u de volgende opdrachten uit op de locatie waar u de repository hebt gekloond.
De opdracht mag zijn python
in plaats van python3
afhankelijk van uw padconfiguraties.
- Creëer een virtuele omgeving:
- Gebruik voor macOS/Linux
python3 -m venv .cdk-venv
. - Gebruik voor Windows
python3 -m venv .cdk-venv
.
- Gebruik voor macOS/Linux
- Activeer de virtuele omgeving:
- Gebruik voor macOS/Linux
source .cdk-venvbinactivate
. - Gebruik voor Windows
.cdk-venv/Scripts/activate.bat
. - Gebruik voor PowerShell
.cdk-venv/Scripts/activate.ps1
.
- Gebruik voor macOS/Linux
- Installeer de vereiste afhankelijkheden:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- Op dit punt kunt u optioneel de CloudFormation-sjabloon voor deze code synthetiseren:
- Implementeer de oplossing met de volgende opdrachten:
aws configure
cdk bootstrap
cdk deploy
Wanneer de stack met succes is geïmplementeerd, zou u de stack op de CloudFormation-console moeten kunnen bekijken.
U kunt ook de levenscyclusconfiguratie bekijken op de SageMaker-console.
Kies de levenscyclusconfiguratie om de shell-code te bekijken die wordt uitgevoerd, evenals eventuele tags die u hebt toegewezen.
Voeg de Studio-levenscyclusconfiguratie toe
Er zijn meerdere manieren om een levenscyclusconfiguratie te koppelen. In deze sectie presenteren we twee methoden: met behulp van de AWS-beheerconsole, en programmatisch gebruikmakend van de geboden infrastructuur.
Koppel de levenscyclusconfiguratie met behulp van de console
Voer de volgende stappen uit om de console te gebruiken:
- Kies op de SageMaker-console domeinen in het navigatievenster.
- Kies de domeinnaam die u gebruikt en het huidige gebruikersprofiel, en kies vervolgens Edit.
- Selecteer de levenscyclusconfiguratie die u wilt gebruiken en maak een keuze hechten.
Vanaf hier kunt u het ook als standaard instellen.
Koppel de levenscyclusconfiguratie programmatisch
U kunt ook de ARN ophalen van de Studio-levenscyclusconfiguratie die door de constructie is gemaakt en deze programmatisch aan de Studio-constructie koppelen. De volgende code toont de levenscyclusconfiguratie ARN die wordt doorgegeven aan een Studio-constructie:
Opruimen
Voer de stappen in deze sectie uit om uw resources op te schonen.
Verwijder de Studio-levenscyclusconfiguratie
Voer de volgende stappen uit om uw levenscyclusconfiguratie te verwijderen:
- Kies op de SageMaker-console Studio-levenscyclusconfiguraties in het navigatievenster.
- Selecteer de levenscyclusconfiguratie en kies vervolgens Verwijder.
Verwijder de AWS CDK-stack
Wanneer u klaar bent met de bronnen die u hebt gemaakt, kunt u uw AWS CDK-stack vernietigen door de volgende opdracht uit te voeren op de locatie waar u de repository hebt gekloond:
Wanneer u wordt gevraagd om het verwijderen van de stapel te bevestigen, voert u in yes
.
U kunt de stapel ook verwijderen op de AWS CloudFormation-console met de volgende stappen:
- Kies op de AWS CloudFormation-console Stacks in het navigatievenster.
- Kies de stapel die u wilt verwijderen.
- Kies in het deelvenster met stapeldetails Verwijder.
- Kies Stapel verwijderen als daarom gevraagd wordt.
Als u fouten tegenkomt, moet u mogelijk sommige bronnen handmatig verwijderen, afhankelijk van uw accountconfiguratie.
Conclusie
In dit bericht hebben we besproken hoe Studio dient als IDE voor ML-workloads. Studio biedt ondersteuning voor levenscyclusconfiguratie, waarmee u aangepaste shellscripts kunt instellen om geautomatiseerde taken uit te voeren, of ontwikkelomgevingen kunt opzetten bij de lancering. We hebben AWS CDK-constructies gebruikt om de infrastructuur te bouwen voor de aangepaste resource- en levenscyclusconfiguratie. Constructen worden gesynthetiseerd in CloudFormation-stacks die vervolgens worden ingezet om het aangepaste resource- en levenscyclusscript te maken dat wordt gebruikt in Studio en de notebookkernel.
Voor meer informatie, bezoek Amazon SageMaker Studio.
Over de auteurs
Cory Haarston is een Software Engineer bij het Amazon ML Solutions Lab. Hij werkt momenteel aan het leveren van herbruikbare softwareoplossingen.
Alex Chirayath is Senior Machine Learning Engineer bij het Amazon ML Solutions Lab. Hij leidt teams van datawetenschappers en ingenieurs om AI-applicaties te bouwen om aan zakelijke behoeften te voldoen.
Gouri Pandeshwar is een Engineer Manager bij het Amazon ML Solutions Lab. Hij en zijn team van ingenieurs werken aan het bouwen van herbruikbare oplossingen en frameworks die de acceptatie van AWS AI/ML-services voor zakelijke use-cases van klanten helpen versnellen.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- EVM Financiën. Uniforme interface voor gedecentraliseerde financiën. Toegang hier.
- Quantum Media Groep. IR/PR versterkt. Toegang hier.
- PlatoAiStream. Web3 gegevensintelligentie. Kennis versterkt. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/
- :is
- :waar
- $UP
- 100
- 12
- 14
- 7
- a
- in staat
- versnellen
- toegang
- Account
- accounts
- over
- adres
- Adoptie
- Na
- AI
- AI / ML
- Alles
- toestaat
- ook
- Amazone
- Amazon ML Solutions-lab
- Amazon Sage Maker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- en
- Nog een
- elke
- gebruiken
- toepassingen
- Solliciteer
- apps
- architectuur
- ZIJN
- AS
- toegewezen
- At
- hechten
- automatiseren
- geautomatiseerde
- webmaster.
- AWS
- AWS CloudFormatie
- BE
- wezen
- BEST
- 'best practices'
- Blokken
- bouw
- Gebouw
- bedrijfsdeskundigen
- maar
- by
- CAN
- gevallen
- veranderd
- Kies
- klassiek
- Cloud
- cloud infrastructuur
- code
- Collectie
- COM
- compleet
- nakoming
- Configuratie
- Bevestigen
- troosten
- bouwen
- Containers
- bevat
- content
- komt overeen
- Kosten
- en je merk te creëren
- aangemaakt
- Actueel
- Op dit moment
- gewoonte
- maatwerk
- gegevens
- datasets
- deep
- Standaard
- het definiëren van
- Afhankelijk
- implementeren
- ingezet
- vernietigen
- gegevens
- ontwikkelaars
- Ontwikkeling
- besproken
- domein
- domeinnaam
- gedaan
- beneden
- gemakkelijk
- beide
- in staat stellen
- maakt
- ingenieur
- Ingenieurs
- Enter
- toegang
- Milieu
- omgevingen
- fouten
- EVENTS
- voorbeeld
- extensies
- Dien in
- Voornaam*
- volgend
- Voor
- Achtergrond
- frameworks
- oppompen van
- geheel
- functie
- poort
- krijgen
- GitHub
- Hebben
- met
- he
- hulp
- hier
- zijn
- Hoe
- How To
- HTML
- http
- HTTPS
- ID
- beeld
- importeren
- in
- omvat
- informatie
- Infrastructuur
- installeren
- installeren
- instantie
- verkrijgen in plaats daarvan
- geïntegreerde
- interactie
- Interface
- in
- IT
- HAAR
- zelf
- jpg
- laboratorium
- labels
- taal
- Talen
- lancering
- Leads
- leren
- levenscyclus van uw product
- plaats
- lang
- machine
- machine learning
- Hoofd
- maken
- management
- manager
- handmatig
- Mei..
- Maak kennis met
- methoden
- ML
- modellen
- meer
- verplaatst
- meervoudig
- naam
- Navigatie
- behoeften
- New
- notitieboekje
- waarnemen
- of
- Aanbod
- on
- or
- organisatie
- Overige
- Paketten
- paren
- brood
- parameters
- voorbij
- pad
- Uitvoeren
- periodes
- Plato
- Plato gegevensintelligentie
- PlatoData
- punt
- Post
- PowerShell
- praktijken
- Voorbereiden
- vereisten
- presenteren
- Profiel
- project
- mits
- biedt
- het verstrekken van
- Python
- snel
- Lees
- regio
- bewaarplaats
- vertegenwoordigen
- vertegenwoordigt
- nodig
- Voorwaarden
- hulpbron
- Resources
- herbruikbare
- lopen
- lopend
- Veiligheid
- sagemaker
- wetenschappers
- omvang
- scripts
- sectie
- ZELF
- senior
- bedient
- Diensten
- reeks
- het instellen van
- Shell
- moet
- tonen
- Shows
- stilgelegd
- single
- Software
- Software Engineer
- oplossing
- Oplossingen
- sommige
- bron
- broncode
- specifiek
- stack
- Stacks
- normen
- gestart
- Start
- Stappen
- studio
- Met goed gevolg
- dergelijk
- ondersteuning
- ondersteunde
- system
- taken
- team
- teams
- sjabloon
- dat
- De
- Ze
- harte
- ze
- dit
- Door
- naar
- Trainen
- veroorzaakt
- twee
- unieke
- bijgewerkt
- .
- gebruikt
- Gebruiker
- gebruikers
- gebruik
- Bekijk
- Virtueel
- Bezoek
- willen
- Manier..
- manieren
- we
- web
- webservices
- Web-based
- GOED
- wanneer
- terwijl
- welke
- wil
- ruiten
- Met
- werkzaam
- Bedrijven
- You
- Your
- zephyrnet