Amazon Sage Maker Studio è il primo ambiente di sviluppo completamente integrato (IDE) per il machine learning (ML). Studio fornisce un'unica interfaccia visiva basata sul Web in cui è possibile eseguire tutti i passaggi di sviluppo ML necessari per preparare i dati, nonché creare, addestrare e distribuire modelli. Configurazioni del ciclo di vita sono script di shell attivati da eventi del ciclo di vita di Studio, come l'avvio di un nuovo notebook di Studio. Puoi utilizzare le configurazioni del ciclo di vita per automatizzare la personalizzazione del tuo ambiente Studio. Questa personalizzazione include l'installazione di pacchetti personalizzati, la configurazione delle estensioni del notebook, il precaricamento dei set di dati e l'impostazione dei repository del codice sorgente. Ad esempio, in qualità di amministratore di un dominio di Studio, potresti volerlo risparmiare sui costi grazie alla chiusura automatica delle app per notebook dopo lunghi periodi di inattività.
Il Kit di sviluppo cloud AWS (AWS CDK) è un framework per la definizione dell'infrastruttura cloud tramite codice e il relativo provisioning AWS CloudFormazione pile. Uno stack è una raccolta di risorse AWS che possono essere aggiornate, spostate o eliminate in modo programmatico. AWSCDK costrutti sono gli elementi costitutivi delle applicazioni AWS CDK, che rappresentano il progetto per definire le architetture cloud.
In questo post, mostriamo come utilizzare AWS CDK per configurare Studio, utilizzare le configurazioni del ciclo di vita di Studio e abilitarne l'accesso per data scientist e sviluppatori nella tua organizzazione.
Panoramica della soluzione
La modularità delle configurazioni del ciclo di vita consente di applicarle a tutti gli utenti di un dominio o a utenti specifici. In questo modo, puoi configurare le configurazioni del ciclo di vita e farvi riferimento in Studio gateway del kernel o server Jupyter in modo rapido e coerente. Il gateway del kernel è il punto di ingresso per interagire con un'istanza notebook, mentre il server Jupyter rappresenta l'istanza di Studio. Ciò ti consente di applicare le best practice DevOps e soddisfare gli standard di sicurezza, conformità e configurazione in tutti gli account e le regioni AWS. Per questo post, utilizziamo Python come lingua principale, ma il codice può essere facilmente modificato in altre lingue supportate da AWS CDK. Per ulteriori informazioni, fare riferimento a Lavorare con AWS CDK.
Prerequisiti
Per iniziare, assicurati di avere i seguenti prerequisiti:
Clona il repository GitHub
In primo luogo, clonare , il Repository GitHub.
Mentre cloni il repository, puoi osservare che abbiamo un classico progetto AWS CDK con la directory studio-lifecycle-config-construct
, che contiene il costrutto e le risorse necessarie per creare le configurazioni del ciclo di vita.
Costrutti AWS CDK
Il file che vogliamo ispezionare è aws_sagemaker_lifecycle.py
. Questo file contiene il SageMakerStudioLifeCycleConfig
costrutto che usiamo per impostare e creare configurazioni del ciclo di vita.
Il SageMakerStudioLifeCycleConfig
costrutto fornisce il framework per la creazione di configurazioni del ciclo di vita utilizzando un custom AWS Lambda funzione e codice shell letti da un file. Il costrutto contiene i seguenti parametri:
- ID – Il nome del progetto corrente.
- studio_lifecycle_content - L' base64 contenuto codificato.
- studio_lifecycle_tags – Etichette che assegni per organizzare le risorse Amazon. Vengono immessi come coppie chiave-valore e sono facoltativi per questa configurazione.
- studio_lifecycle_config_app_type -
JupyterServer
è per il server univoco stesso e il fileKernelGateway
app corrisponde a un contenitore di immagini SageMaker in esecuzione.
Per ulteriori informazioni sull'architettura del notebook Studio, fare riferimento a Immergiti nell'architettura dei notebook Amazon SageMaker Studio.
Di seguito è riportato un frammento di codice del costrutto di configurazione del ciclo di vita di Studio (aws_sagemaker_lifecycle.py
):
Dopo aver importato e installato il costrutto, puoi usarlo. Il seguente frammento di codice mostra come creare una configurazione del ciclo di vita utilizzando il costrutto in uno stack in app.py
o un altro costrutto:
Distribuisci i costrutti di AWS CDK
Per distribuire il tuo stack AWS CDK, esegui i seguenti comandi nella posizione in cui hai clonato il repository.
Il comando potrebbe essere python
invece di python3
a seconda delle configurazioni del percorso.
- Crea un ambiente virtuale:
- Per macOS/Linux, usa
python3 -m venv .cdk-venv
. - Per Windows, utilizzare
python3 -m venv .cdk-venv
.
- Per macOS/Linux, usa
- Attiva l'ambiente virtuale:
- Per macOS/Linux, usa
source .cdk-venvbinactivate
. - Per Windows, utilizzare
.cdk-venv/Scripts/activate.bat
. - Per PowerShell, usa
.cdk-venv/Scripts/activate.ps1
.
- Per macOS/Linux, usa
- Installa le dipendenze richieste:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- A questo punto, puoi facoltativamente sintetizzare il modello CloudFormation per questo codice:
- Distribuisci la soluzione con i seguenti comandi:
aws configure
cdk bootstrap
cdk deploy
Quando lo stack viene distribuito correttamente, dovresti essere in grado di visualizzare lo stack sulla console CloudFormation.
Potrai anche visualizzare la configurazione del ciclo di vita sulla console SageMaker.
Scegli la configurazione del ciclo di vita per visualizzare il codice della shell che viene eseguito e tutti i tag che hai assegnato.
Allega la configurazione del ciclo di vita di Studio
Esistono diversi modi per collegare una configurazione del ciclo di vita. In questa sezione, presentiamo due metodi: utilizzando il file Console di gestione AWSe utilizzando a livello di programmazione l'infrastruttura fornita.
Allega la configurazione del ciclo di vita utilizzando la console
Per utilizzare la console, completare i seguenti passaggi:
- Sulla console di SageMaker, scegli Domini nel pannello di navigazione.
- Scegli il nome di dominio che stai utilizzando e il profilo utente corrente, quindi scegli Modifica.
- Selezionare la configurazione del ciclo di vita che si desidera utilizzare e scegliere allegare.
Da qui, puoi anche impostarlo come predefinito.
Collegare la configurazione del ciclo di vita a livello di codice
Puoi anche recuperare l'ARN della configurazione del ciclo di vita di Studio creata dal costrutto e collegarlo al costrutto di Studio a livello di codice. Il codice seguente mostra l'ARN della configurazione del ciclo di vita passato a un costrutto di Studio:
ripulire
Completa i passaggi in questa sezione per ripulire le tue risorse.
Elimina la configurazione del ciclo di vita di Studio
Per eliminare la configurazione del ciclo di vita, completare i seguenti passaggi:
- Sulla console di SageMaker, scegli Configurazioni del ciclo di vita di Studio nel pannello di navigazione.
- Seleziona la configurazione del ciclo di vita, quindi scegli Elimina.
Elimina lo stack AWS CDK
Quando hai finito con le risorse che hai creato, puoi distruggere il tuo stack AWS CDK eseguendo il seguente comando nella posizione in cui hai clonato il repository:
Quando ti viene chiesto di confermare l'eliminazione dello stack, inserisci yes
.
Puoi anche eliminare lo stack nella console AWS CloudFormation con i seguenti passaggi:
- Nella console AWS CloudFormation, scegli Stacks nel pannello di navigazione.
- Scegli lo stack che desideri eliminare.
- Nel riquadro dei dettagli dello stack scegliere Elimina.
- Scegli Elimina stack quando richiesto.
In caso di errori, potrebbe essere necessario eliminare manualmente alcune risorse a seconda della configurazione dell'account.
Conclusione
In questo post, abbiamo discusso di come Studio funge da IDE per i carichi di lavoro ML. Studio offre supporto per la configurazione del ciclo di vita, che consente di impostare script di shell personalizzati per eseguire attività automatizzate o configurare ambienti di sviluppo all'avvio. Abbiamo utilizzato i costrutti di AWS CDK per creare l'infrastruttura per la risorsa personalizzata e la configurazione del ciclo di vita. I costrutti vengono sintetizzati in stack CloudFormation che vengono quindi distribuiti per creare la risorsa personalizzata e lo script del ciclo di vita utilizzato in Studio e nel kernel del notebook.
Per ulteriori informazioni, visitare Amazon Sage Maker Studio.
Informazioni sugli autori
Cory Hairston è un Software Engineer presso l'Amazon ML Solutions Lab. Attualmente si occupa di fornire soluzioni software riutilizzabili.
Alex Chirayath è Senior Machine Learning Engineer presso l'Amazon ML Solutions Lab. Guida team di data scientist e ingegneri per creare applicazioni AI per soddisfare le esigenze aziendali.
Gouri Pandeshwar è un Engineer Manager presso l'Amazon ML Solutions Lab. Lui e il suo team di ingegneri stanno lavorando per creare soluzioni e framework riutilizzabili che aiutino ad accelerare l'adozione dei servizi AWS AI/ML per i casi d'uso aziendali dei clienti.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- EVM Finance. Interfaccia unificata per la finanza decentralizzata. Accedi qui.
- Quantum Media Group. IR/PR amplificato. Accedi qui.
- PlatoAiStream. Intelligenza dei dati Web3. Conoscenza amplificata. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/
- :È
- :Dove
- $ SU
- 100
- 12
- 14
- 7
- a
- capace
- accelerare
- accesso
- Il mio account
- conti
- operanti in
- indirizzo
- Adozione
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- AI / ML
- Tutti
- consente
- anche
- Amazon
- Laboratorio di soluzioni Amazon ML
- Amazon Sage Maker
- Amazon Sage Maker Studio
- Amazon Web Services
- an
- ed
- Un altro
- in qualsiasi
- App
- applicazioni
- APPLICA
- applicazioni
- architettura
- SONO
- AS
- addetto
- At
- allegare
- automatizzare
- Automatizzata
- automaticamente
- AWS
- AWS CloudFormazione
- BE
- essendo
- MIGLIORE
- best practice
- Blocchi
- costruire
- Costruzione
- affari
- ma
- by
- Materiale
- casi
- cambiato
- Scegli
- classico
- Cloud
- infrastruttura cloud
- codice
- collezione
- COM
- completamento di una
- conformità
- Configurazione
- Confermare
- consolle
- costruire
- Contenitore
- contiene
- contenuto
- corrisponde
- Costi
- creare
- creato
- Corrente
- Attualmente
- costume
- personalizzazione
- dati
- dataset
- deep
- Predefinito
- definizione
- Dipendente
- schierare
- schierato
- distruggere
- dettagli
- sviluppatori
- Mercato
- discusso
- dominio
- Domain Name
- fatto
- giù
- facilmente
- o
- enable
- Abilita
- ingegnere
- Ingegneri
- entrare
- iscrizione
- Ambiente
- ambienti
- errori
- eventi
- esempio
- estensioni
- Compila il
- Nome
- i seguenti
- Nel
- Contesto
- quadri
- da
- completamente
- function
- porta
- ottenere
- GitHub
- Avere
- avendo
- he
- Aiuto
- qui
- il suo
- Come
- Tutorial
- HTML
- http
- HTTPS
- ID
- Immagine
- importare
- in
- inclusi
- informazioni
- Infrastruttura
- install
- installazione
- esempio
- invece
- integrato
- interagire
- Interfaccia
- ai miglioramenti
- IT
- SUO
- stessa
- jpg
- laboratorio
- per il tuo brand
- Lingua
- Le Lingue
- lanciare
- Leads
- apprendimento
- ciclo di vita
- località
- Lunghi
- macchina
- machine learning
- Principale
- make
- gestione
- direttore
- manualmente
- Maggio..
- Soddisfare
- metodi
- ML
- modelli
- Scopri di più
- mosso
- multiplo
- Nome
- Navigazione
- esigenze
- New
- taccuino
- osservare
- of
- Offerte
- on
- or
- organizzazione
- Altro
- Packages
- coppie
- vetro
- parametri
- Passato
- sentiero
- Eseguire
- periodi
- Platone
- Platone Data Intelligence
- PlatoneDati
- punto
- Post
- PowerShell
- pratiche
- Preparare
- prerequisiti
- presenti
- Profilo
- progetto
- purché
- fornisce
- fornitura
- Python
- rapidamente
- Leggi
- regioni
- deposito
- che rappresenta
- rappresenta
- necessario
- Requisiti
- risorsa
- Risorse
- riutilizzabile
- Correre
- running
- Sicurezza
- sagemaker
- scienziati
- portata
- script
- Sezione
- AUTO
- anziano
- serve
- Servizi
- set
- regolazione
- Conchiglia
- dovrebbero
- mostrare attraverso le sue creazioni
- Spettacoli
- fermare
- singolo
- Software
- Software Engineer
- soluzione
- Soluzioni
- alcuni
- Fonte
- codice sorgente
- specifico
- pila
- Stacks
- standard
- iniziato
- Di partenza
- Passi
- studio
- Con successo
- tale
- supporto
- supportato
- sistema
- task
- team
- le squadre
- modello
- che
- Il
- Li
- poi
- di
- questo
- Attraverso
- a
- Treni
- innescato
- seconda
- unico
- aggiornato
- uso
- utilizzato
- Utente
- utenti
- utilizzando
- Visualizza
- virtuale
- Visita
- volere
- Modo..
- modi
- we
- sito web
- servizi web
- Web-basata
- WELL
- quando
- mentre
- quale
- volere
- finestre
- con
- lavoro
- lavori
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro