Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Værtskodeserver på Amazon SageMaker

Maskinlæringshold (ML) har brug for fleksibiliteten til at vælge deres integrerede udviklingsmiljø (IDE), når de arbejder på et projekt. Det giver dig mulighed for at få en produktiv udvikleroplevelse og innovere med hastighed. Du kan endda bruge flere IDE'er i et projekt. Amazon SageMaker lader ML-teams vælge at arbejde fra fuldt administrerede, cloud-baserede miljøer inden for Amazon SageMaker Studio, SageMaker Notebook-forekomster, eller fra din lokale maskine ved hjælp af Lokal tilstand.

SageMaker giver Jupyter og RStudio en oplevelse med ét klik til at bygge, træne, fejlsøge, implementere og overvåge ML-modeller. I dette opslag vil vi også dele en løsninger til værtskab kode-server på SageMaker.

Med kodeserver kan brugerne køre VS-kode på fjernmaskiner og få adgang til det i en webbrowser. For ML-teams giver hosting af kodeserver på SageMaker minimale ændringer til en lokal udviklingsoplevelse og giver dig mulighed for at kode fra hvor som helst på skalerbar cloud compute. Med VS Code kan du også bruge indbyggede Conda-miljøer med AWS-optimerede TensorFlow og PyTorch, administrerede Git-lagre, lokal tilstand og andre funktioner leveret af SageMaker for at fremskynde din levering. For it-administratorer giver det dig mulighed for at standardisere og fremskynde leveringen af ​​administrerede, sikre IDE'er i skyen for hurtigt at ombord og aktivere ML-teams i deres projekter.

Løsningsoversigt

I dette indlæg dækker vi installation for både Studio-miljøer (mulighed A) og notebook-forekomster (mulighed B). For hver mulighed gennemgår vi en manuel installationsproces, som ML-teams kan køre i deres miljø, og en automatiseret installation, som it-administratorer kan konfigurere for dem via AWS kommandolinjegrænseflade (AWS CLI).

Følgende diagram illustrerer arkitekturoversigten for hosting af kodeserver på SageMaker.

Vores løsning fremskynder installationen og opsætningen af ​​kodeserver i dit miljø. Det virker for både JupyterLab 3 (anbefalet) og JupyterLab 1, der kører i Studio og SageMaker notebook-forekomster. Det er lavet af shell-scripts, der gør følgende baseret på muligheden.

For Studio (mulighed A) gør shell-scriptet følgende:

For SageMaker notebook-forekomster (mulighed B) gør shell-scriptet følgende:

  • Installerer kodeserver.
  • Tilføjer en kodeservergenvej til Jupyter notebook-filmenuen og JupyterLab-starteren for hurtig adgang til IDE.
  • Skaber et dedikeret Conda-miljø til styring af afhængigheder.
  • Installerer Python , Docker udvidelser på IDE.

I de følgende afsnit gennemgår vi løsningsinstallationsprocessen for Option A og Option B. Sørg for, at du har adgang til Studio eller en notebook-instans.

Mulighed A: Værts kodeserver på Studio

For at være vært for kodeserver på Studio skal du udføre følgende trin:

  1. Vælg Systemterminal i din Studio launcher.
    ml-10244-studio-terminal-klik
  2. For at installere kodeserverløsningen skal du køre følgende kommandoer i din systemterminal:
    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

    Kommandoerne bør tage et par sekunder at fuldføre.

  3. Genindlæs browsersiden, hvor du kan se en Kodeserver knappen i din Studio launcher.
    ml-10244-kode-server-knap
  4. Vælg Kodeserver for at åbne en ny browserfane, der giver dig adgang til kodeserveren fra din browser.
    Python-udvidelsen er allerede installeret, og du kan komme i gang med dit ML-projekt.ml-10244-vscode

Du kan åbne din projektmappe i VS Code og vælge det forudbyggede Conda-miljø til at køre dine Python-scripts.

ml-10244-vscode-conda

Automatiser kodeserverinstallationen for brugere i et Studio-domæne

Som IT-administrator kan du automatisere installationen for Studio-brugere ved at bruge en livscykluskonfiguration. Det kan gøres for alle brugeres profiler under et Studio-domæne eller for specifikke. Se Tilpas Amazon SageMaker Studio ved hjælp af livscykluskonfigurationer for flere detaljer.

Til dette indlæg opretter vi en livscykluskonfiguration fra install-kodeserver script, og vedhæft det til et eksisterende Studio-domæne. Installationen udføres for alle brugerprofiler i domænet.

Kør følgende kommandoer fra en terminal konfigureret med AWS CLI og passende tilladelser:

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.

Efter at Jupyter Server genstarter, vil Kodeserver knappen vises i din Studio launcher.

Mulighed B: Værts kodeserver på en SageMaker notebook-instans

For at være vært for kodeserver på en SageMaker notebook-instans skal du udføre følgende trin:

  1. Start en terminal via Jupyter eller JupyterLab til din notebook-forekomst.
    Hvis du bruger Jupyter, skal du vælge terminal på den Ny menu.
    Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2.  For at installere kodeserverløsningen skal du køre følgende kommandoer i din terminal:
    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

    Kodeserver- og udvidelsesinstallationerne er vedvarende på notebook-forekomsten. Men hvis du stopper eller genstarter instansen, skal du køre følgende kommando for at omkonfigurere kodeserveren:

    sudo ./setup-codeserver.sh

    Kommandoerne bør tage et par sekunder at køre. Du kan lukke terminalfanen, når du ser følgende.

    ml-10244-terminal-udgang

  3. Genindlæs nu Jupyter-siden og tjek Ny menu igen.
    Kodeserver mulighed skulle nu være tilgængelig.
    Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan også starte kodeserver fra JupyterLab ved hjælp af en dedikeret startknap, som vist på det følgende skærmbillede.

ml-10244-jupyterlab-kode-server-knap

Valg Kodeserver åbner en ny browserfane, som giver dig adgang til kodeserveren fra din browser. Python- og Docker-udvidelserne er allerede installeret, og du kan komme i gang med dit ML-projekt.

ml-10244-notebook-vscode

Automatiser kodeserverinstallationen på en notebook-instans

Som IT-administrator kan du automatisere kodeserverinstallationen med en livscykluskonfiguration kører ved oprettelse af instanser, og automatiser opsætningen med én kørende ved instansstart.

Her opretter vi et eksempel på en notebook-forekomst og en livscykluskonfiguration ved hjælp af AWS CLI. Det on-create config kører install-kodeserverog on-start løber opsætning-kodeserver.

Kør følgende kommandoer fra en terminal konfigureret med AWS CLI og passende tilladelser:

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.

Kodeserverinstallationen er nu automatiseret for notebook-forekomsten.

Konklusion

Med kode-server hostet på SageMaker kan ML-teams køre VS Code på skalerbar cloud compute, kode fra hvor som helst og fremskynde deres ML-projektlevering. For IT-administratorer giver det dem mulighed for at standardisere og fremskynde leveringen af ​​administrerede, sikre IDE'er i skyen for hurtigt at integrere og aktivere ML-teams i deres projekter.

I dette indlæg delte vi en løsning, du kan bruge til hurtigt at installere kodeserver på både Studio- og notebook-forekomster. Vi delte en manuel installationsproces, som ML-teams kan køre på egen hånd, og en automatiseret installation, som it-administratorer kan konfigurere for dem.

For at gå videre i din læring, besøg AWSome SageMaker på GitHub for at finde alle de relevante og opdaterede ressourcer, der er nødvendige for at arbejde med SageMaker.


Om forfatterne

Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Giuseppe Angelo Porcelli er en primær maskinlæringsspecialist-løsningsarkitekt for Amazon Web Services. Med flere års softwareingeniør og ML-baggrund arbejder han med kunder af enhver størrelse for at forstå deres forretningsmæssige og tekniske behov dybt og designe AI- og Machine Learning-løsninger, der gør den bedste brug af AWS Cloud og Amazon Machine Learning-stakken. Han har arbejdet på projekter inden for forskellige domæner, herunder MLOps, Computer Vision, NLP og involverer et bredt sæt af AWS-tjenester. I sin fritid nyder Giuseppe at spille fodbold.

Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Sofian Hamiti er AI/ML specialist Solutions Architect hos AWS. Han hjælper kunder på tværs af brancher med at accelerere deres AI/ML-rejse ved at hjælpe dem med at bygge og operationalisere end-to-end maskinlæringsløsninger.

Værtskodeserver på Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Erik Pena er Senior Technical Product Manager i AWS Artificial Intelligence Platforms-teamet, der arbejder på Amazon SageMaker Interactive Machine Learning. Han fokuserer i øjeblikket på IDE-integrationer på SageMaker Studio. Han har en MBA-grad fra MIT Sloan og nyder at spille basketball og fodbold uden for arbejdet.

Tidsstempel:

Mere fra AWS maskinindlæring