Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Vertskodeserver på Amazon SageMaker

Maskinlæringsteam (ML) trenger fleksibiliteten til å velge sitt integrerte utviklingsmiljø (IDE) når de jobber med et prosjekt. Det lar deg ha en produktiv utvikleropplevelse og innovere i rask hastighet. Du kan til og med bruke flere IDE-er i et prosjekt. Amazon SageMaker lar ML-team velge å jobbe fra fullt administrerte, skybaserte miljøer innenfor Amazon SageMaker Studio, SageMaker Notebook-forekomster, eller fra din lokale maskin ved hjelp av lokal modus.

SageMaker gir Jupyter og RStudio en ettklikksopplevelse for å bygge, trene, feilsøke, distribuere og overvåke ML-modeller. I dette innlegget vil vi også dele en løsning for hosting kodeserver på SageMaker.

Med kodeserver kan brukere kjøre VS-kode på eksterne maskiner og få tilgang til den i en nettleser. For ML-team gir hosting av kodeserver på SageMaker minimale endringer i en lokal utviklingsopplevelse, og lar deg kode fra hvor som helst, på skalerbar cloud compute. Med VS Code kan du også bruke innebygde Conda-miljøer med AWS-optimalisert TensorFlow og PyTorch, administrerte Git-repositories, lokal modus og andre funksjoner levert av SageMaker for å få fart på leveringen. For IT-administratorer lar den deg standardisere og fremskynde leveringen av administrerte, sikre IDE-er i skyen, for raskt å ombord og aktivere ML-team i prosjektene deres.

Løsningsoversikt

I dette innlegget dekker vi installasjon for både Studio-miljøer (Alternativ A) og bærbare forekomster (Alternativ B). For hvert alternativ går vi gjennom en manuell installasjonsprosess som ML-team kan kjøre i sitt miljø, og en automatisert installasjon som IT-administratorer kan sette opp for dem via AWS kommandolinjegrensesnitt (AWS CLI).

Følgende diagram illustrerer arkitekturoversikten for hosting av kodeserver på SageMaker.

Vår løsning gir raskere installasjon og oppsett av kodeserver i ditt miljø. Det fungerer for både JupyterLab 3 (anbefalt) og JupyterLab 1 som kjører i Studio- og SageMaker-notebook-forekomster. Den er laget av shell-skript som gjør følgende basert på alternativet.

For Studio (alternativ A) gjør shell-skriptet følgende:

For SageMaker notebook-forekomster (Alternativ B), gjør shell-skriptet følgende:

  • Installerer kodeserver.
  • Legger til en kodeserver-snarvei på Jupyter-notisbokfilmenyen og JupyterLab-starter for rask tilgang til IDE.
  • Skaper et dedikert Conda-miljø for å administrere avhengigheter.
  • Installerer Python og Docker utvidelser på IDE.

I de følgende delene går vi gjennom installasjonsprosessen for løsningen for alternativ A og alternativ B. Sørg for at du har tilgang til Studio eller en bærbar PC-forekomst.

Alternativ A: Vertskodeserver på Studio

For å være vert for kodeserver på Studio, fullfør følgende trinn:

  1. Velg Systemterminal i Studio-startprogrammet.
    ml-10244-studio-terminal-klikk
  2. For å installere kodeserverløsningen, kjør følgende kommandoer i systemterminalen:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/studio
     
    chmod +x install-codeserver.sh
    ./install-codeserver.sh
    
    # Note: when installing on JL1, please prepend the nohup command to the install command above and run as follows: 
    # nohup ./install-codeserver.sh

    Kommandoene bør ta noen sekunder å fullføre.

  3. Last inn nettlesersiden på nytt, hvor du kan se en Kodeserver knappen i Studio-starteren.
    ml-10244-kode-server-knapp
  4. Velg Kodeserver for å åpne en ny nettleserfane, slik at du får tilgang til kodeserveren fra nettleseren din.
    Python-utvidelsen er allerede installert, og du kan begynne å jobbe i ML-prosjektet ditt.ml-10244-vscode

Du kan åpne prosjektmappen din i VS Code og velge det forhåndsbygde Conda-miljøet for å kjøre Python-skriptene dine.

ml-10244-vscode-conda

Automatiser kodeserverinstallasjonen for brukere i et Studio-domene

Som IT-administrator kan du automatisere installasjonen for Studio-brukere ved å bruke en livssykluskonfigurasjon. Det kan gjøres for alle brukeres profiler under et Studio-domene eller for spesifikke. Se Tilpass Amazon SageMaker Studio ved å bruke livssykluskonfigurasjoner for mer informasjon.

For dette innlegget lager vi en livssykluskonfigurasjon fra install-kodeserver skript, og koble det til et eksisterende Studio-domene. Installasjonen gjøres for alle brukerprofilene i domenet.

Fra en terminal konfigurert med AWS CLI og passende tillatelser, kjør følgende kommandoer:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/studio

LCC_CONTENT=`openssl base64 -A -in install-codeserver.sh`

aws sagemaker create-studio-lifecycle-config 
    --studio-lifecycle-config-name install-codeserver-on-jupyterserver 
    --studio-lifecycle-config-content $LCC_CONTENT 
    --studio-lifecycle-config-app-type JupyterServer 
    --query 'StudioLifecycleConfigArn'

aws sagemaker update-domain 
    --region  
    --domain-id  
    --default-user-settings 
    '{
    "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
    "LifecycleConfigArn": "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver",
    "InstanceType": "system"
    },
    "LifecycleConfigArns": [
    "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver"
    ]
    }}'

# Make sure to replace ,  and  in the previous commands with
# the Studio domain ID, the AWS region and AWS Account ID you are using respectively.

Etter at Jupyter Server har startet på nytt, vil Kodeserver -knappen vises i Studio-starteren.

Alternativ B: Vertskodeserver på en SageMaker-notebook-forekomst

For å være vert for kodeserver på en SageMaker-notebook-forekomst, fullfør følgende trinn:

  1. Start en terminal via Jupyter eller JupyterLab for din bærbare instans.
    Hvis du bruker Jupyter, velg terminal Ny menyen.
    Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  2.  For å installere kodeserverløsningen, kjør følgende kommandoer i terminalen din:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/notebook-instances
     
    chmod +x install-codeserver.sh
    chmod +x setup-codeserver.sh
    sudo ./install-codeserver.sh
    sudo ./setup-codeserver.sh

    Kodeserveren og utvidelsesinstallasjonene er vedvarende på den bærbare forekomsten. Men hvis du stopper eller starter forekomsten på nytt, må du kjøre følgende kommando for å rekonfigurere kodeserveren:

    sudo ./setup-codeserver.sh

    Kommandoene bør ta noen sekunder å kjøre. Du kan lukke terminalfanen når du ser følgende.

    ml-10244-terminal-utgang

  3. Last nå Jupyter-siden på nytt og sjekk Ny menyen igjen.
    De Kodeserver alternativet skal nå være tilgjengelig.
    Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan også starte kodeserver fra JupyterLab ved å bruke en dedikert startknapp, som vist i følgende skjermbilde.

ml-10244-jupyterlab-kode-server-knapp

Velge Kodeserver vil åpne en ny nettleserfane, som lar deg få tilgang til kodeserveren fra nettleseren din. Python- og Docker-utvidelsene er allerede installert, og du kan begynne å jobbe i ML-prosjektet ditt.

ml-10244-notebook-vscode

Automatiser kodeserverinstallasjonen på en bærbar forekomst

Som IT-administrator kan du automatisere kodeserverinstallasjonen med en livssykluskonfigurasjon kjører ved opprettelse av forekomster, og automatiser oppsettet med en som kjører ved forekomststart.

Her lager vi et eksempel på en bærbar PC-forekomst og livssykluskonfigurasjon ved å bruke AWS CLI. De on-create config kjører install-kodeserverog on-start går oppsett-kodeserver.

Fra en terminal konfigurert med AWS CLI og passende tillatelser, kjør følgende kommandoer:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/notebook-instances

aws sagemaker create-notebook-instance-lifecycle-config 
    --notebook-instance-lifecycle-config-name install-codeserver 
    --on-start Content=$((cat setup-codeserver.sh || echo "")| base64) 
    --on-create Content=$((cat install-codeserver.sh || echo "")| base64)

aws sagemaker create-notebook-instance 
    --notebook-instance-name  
    --instance-type  
    --role-arn  
    --lifecycle-config-name install-codeserver

# Make sure to replace , ,
# and  in the previous commands with the appropriate values.

Kodeserverinstallasjonen er nå automatisert for den bærbare forekomsten.

konklusjonen

Med kodeserver hostet på SageMaker, kan ML-team kjøre VS Code på skalerbar cloud compute, kode fra hvor som helst og øke hastigheten på leveringen av ML-prosjektet. For IT-administratorer lar det dem standardisere og fremskynde leveringen av administrerte, sikre IDE-er i skyen, for raskt å ombord og aktivere ML-team i prosjektene deres.

I dette innlegget delte vi en løsning du kan bruke for å raskt installere kodeserver på både Studio- og notebook-forekomster. Vi delte en manuell installasjonsprosess som ML-team kan kjøre på egen hånd, og en automatisert installasjon som IT-administratorer kan sette opp for dem.

For å gå videre i læringen din, besøk AWSome SageMaker på GitHub for å finne alle relevante og oppdaterte ressurser som trengs for å jobbe med SageMaker.


Om forfatterne

Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Giuseppe Angelo Porcelli er en hovedløsningsarkitekt for maskinlæring for Amazon Web Services. Med flere års programvareutvikling og ML-bakgrunn, jobber han med kunder av alle størrelser for å forstå deres forretningsmessige og tekniske behov dypt og utforme AI- og Machine Learning-løsninger som utnytter AWS Cloud og Amazon Machine Learning-stabel på best mulig måte. Han har jobbet med prosjekter innen forskjellige domener, inkludert MLOps, Computer Vision, NLP, og involverer et bredt sett av AWS-tjenester. På fritiden liker Giuseppe å spille fotball.

Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Sofian Hamiti er en AI / ML-spesialist Solutions Architect hos AWS. Han hjelper kunder på tvers av bransjer å få fart på AI / ML-reisen ved å hjelpe dem med å bygge og operasjonalisere helhetlige maskinlæringsløsninger.

Vertskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Erik Pena er senior teknisk produktsjef i AWS Artificial Intelligence Platforms-teamet, og jobber med Amazon SageMaker Interactive Machine Learning. Han fokuserer for tiden på IDE-integrasjoner på SageMaker Studio. Han har en MBA-grad fra MIT Sloan og liker å spille basketball og fotball utenom jobben.

Tidstempel:

Mer fra AWS maskinlæring