Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Găzduiește serverul de cod pe Amazon SageMaker

Echipele de învățare automată (ML) au nevoie de flexibilitate pentru a-și alege mediul de dezvoltare integrat (IDE) atunci când lucrează la un proiect. Vă permite să aveți o experiență de dezvoltator productivă și să inovezi rapid. Puteți chiar să utilizați mai multe IDE-uri în cadrul unui proiect. Amazon SageMaker permite echipelor ML să aleagă să lucreze din medii complet gestionate, bazate pe cloud Amazon SageMaker Studio, Instanțe SageMaker Notebook, sau de pe mașina dvs. locală folosind mod local.

SageMaker oferă Jupyter și RStudio o experiență cu un singur clic pentru a construi, antrena, depana, implementa și monitoriza modele ML. În această postare, vom împărtăși și un soluţie pentru gazduire server de coduri pe SageMaker.

Cu serverul de cod, utilizatorii pot rula Codul VS pe mașini la distanță și accesați-l într-un browser web. Pentru echipele ML, găzduirea serverului de cod pe SageMaker oferă modificări minime la o experiență de dezvoltare locală și vă permite să codificați de oriunde, pe cloud compute scalabil. Cu VS Code, puteți utiliza, de asemenea, medii Conda încorporate cu TensorFlow și PyTorch optimizate pentru AWS, depozite Git gestionate, modul local și alte caracteristici oferite de SageMaker pentru a vă accelera livrarea. Pentru administratorii IT, vă permite să standardizați și să accelerați furnizarea de IDE-uri gestionate și securizate în cloud, pentru a integra și activa rapid echipele ML în proiectele lor.

Prezentare generală a soluțiilor

În această postare, acoperim instalarea atât pentru mediile Studio (Opțiunea A), cât și pentru instanțele de notebook (Opțiunea B). Pentru fiecare opțiune, parcurgem un proces de instalare manuală pe care echipele ML îl pot rula în mediul lor și o instalare automată pe care administratorii IT o pot configura pentru ei prin intermediul Interfața liniei de comandă AWS (CLI AWS).

Următoarea diagramă ilustrează prezentarea generală a arhitecturii pentru găzduirea serverului de cod pe SageMaker.

Soluția noastră accelerează instalarea și configurarea serverului de cod în mediul dumneavoastră. Funcționează atât pentru JupyterLab 3 (recomandat) cât și pentru JupyterLab 1, care rulează în instanțele de notebook Studio și SageMaker. Este alcătuit din scripturi shell care fac următoarele pe baza opțiunii.

Pentru Studio (Opțiunea A), scriptul shell face următoarele:

Pentru instanțele de blocnotes SageMaker (Opțiunea B), scriptul shell face următoarele:

  • Instalează serverul de cod.
  • Adaugă o comandă rapidă la serverul de cod în meniul de fișiere pentru notebook Jupyter și lansatorul JupyterLab pentru acces rapid la IDE.
  • Creează un mediu Conda dedicat pentru gestionarea dependențelor.
  • Instalează Piton și Docher extensii pe IDE.

În secțiunile următoare, parcurgem procesul de instalare a soluției pentru Opțiunea A și Opțiunea B. Asigurați-vă că aveți acces la Studio sau la o instanță de notebook.

Opțiunea A: găzduiește serverul de cod pe Studio

Pentru a găzdui serverul de cod pe Studio, parcurgeți următorii pași:

  1. Alege Terminal de sistem în lansatorul Studio.
    ml-10244-studio-terminal-clic
  2. Pentru a instala soluția de server de cod, rulați următoarele comenzi în terminalul de sistem:
    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

    Comenzile ar trebui să dureze câteva secunde.

  3. Reîncărcați pagina browserului, unde puteți vedea a Server de coduri butonul din lansatorul Studio.
    buton-ml-10244-code-server
  4. Alege Server de coduri pentru a deschide o nouă filă de browser, permițându-vă să accesați serverul de coduri din browser.
    Extensia Python este deja instalată și puteți începe să lucrați în proiectul dvs. ML.ml-10244-vscode

Puteți deschide folderul de proiect în VS Code și puteți selecta mediul Conda predefinit pentru a vă rula scripturile Python.

ml-10244-vscode-conda

Automatizați instalarea serverului de cod pentru utilizatorii dintr-un domeniu Studio

În calitate de administrator IT, puteți automatiza instalarea pentru utilizatorii Studio utilizând a configurația ciclului de viață. Se poate face pentru toate profilurile utilizatorilor dintr-un domeniu Studio sau pentru anumite profiluri. Vedea Personalizați Amazon SageMaker Studio folosind Configurații ciclului de viață pentru mai multe detalii.

Pentru această postare, creăm o configurație ciclului de viață din install-codeserver script și atașați-l la un domeniu Studio existent. Instalarea se face pentru toate profilurile de utilizator din domeniu.

De la un terminal configurat cu AWS CLI și permisiunile corespunzătoare, rulați următoarele comenzi:

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.

După ce Jupyter Server repornește, fișierul Server de coduri butonul apare în lansatorul Studio.

Opțiunea B: găzduiește serverul de cod pe o instanță de notebook SageMaker

Pentru a găzdui un server de cod pe o instanță de notebook SageMaker, parcurgeți următorii pași:

  1. Lansați un terminal prin Jupyter sau JupyterLab pentru instanța dvs. de notebook.
    Dacă utilizați Jupyter, alegeți Terminal pe Nou meniu.
    Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  2.  Pentru a instala soluția de server de cod, rulați următoarele comenzi în 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

    Instalările de server de cod și extensii sunt persistente pe instanța notebook-ului. Cu toate acestea, dacă opriți sau reporniți instanța, trebuie să rulați următoarea comandă pentru a reconfigura serverul de cod:

    sudo ./setup-codeserver.sh

    Rularea comenzilor ar trebui să dureze câteva secunde. Puteți închide fila terminal când vedeți următoarele.

    ml-10244-terminal-ieșire

  3. Acum reîncărcați pagina Jupyter și verificați Nou din nou meniul.
    Server de coduri opțiunea ar trebui să fie acum disponibilă.
    Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

De asemenea, puteți lansa serverul de cod din JupyterLab folosind un buton de lansare dedicat, așa cum se arată în următoarea captură de ecran.

buton-ml-10244-jupyterlab-code-server

Alegere Server de coduri va deschide o nouă filă de browser, permițându-vă să accesați serverul de coduri din browser. Extensiile Python și Docker sunt deja instalate și puteți începe să lucrați în proiectul dvs. ML.

ml-10244-notebook-vscode

Automatizați instalarea serverului de cod pe o instanță de notebook

În calitate de administrator IT, puteți automatiza instalarea serverului de cod cu un configurația ciclului de viață rulează la crearea instanței și automatizează configurarea cu una care rulează la pornirea instanței.

Aici, creăm un exemplu de instanță de notebook și de configurare a ciclului de viață folosind AWS CLI. on-create config rulează install-codeserver, și on-start ruleaza setup-codeserver.

De la un terminal configurat cu AWS CLI și permisiunile corespunzătoare, rulați următoarele comenzi:

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.

Instalarea serverului de cod este acum automatizată pentru instanța de notebook.

Concluzie

cu server de coduri găzduite pe SageMaker, echipele ML pot rula VS Code pe cloud compute scalabil, codifica de oriunde și pot accelera livrarea proiectelor ML. Pentru administratorii IT, le permite să standardizeze și să accelereze furnizarea de IDE-uri gestionate și securizate în cloud, să integreze și să activeze rapid echipele ML în proiectele lor.

În această postare, am împărtășit o soluție pe care o puteți folosi pentru a instala rapid serverul de cod atât pe instanțele Studio, cât și pe notebook. Am împărtășit un proces de instalare manuală pe care echipele ML îl pot rula singure și o instalare automată pe care administratorii IT o pot configura pentru ei.

Pentru a merge mai departe în învățarea dvs., vizitați AWSome SageMaker pe GitHub pentru a găsi toate resursele relevante și actualizate necesare pentru a lucra cu SageMaker.


Despre Autori

Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Giuseppe Angelo Porcelli este arhitect principal de soluții de specialitate în învățare automată pentru Amazon Web Services. Cu câțiva ani în domeniul ingineriei software cu un fundal ML, el lucrează cu clienți de orice dimensiune pentru a înțelege în profunzime nevoile lor de afaceri și tehnice și pentru a proiecta soluții AI și de învățare automată care folosesc cel mai bine AWS Cloud și stiva Amazon Machine Learning. El a lucrat la proiecte în diferite domenii, inclusiv MLOps, Computer Vision, NLP și implicând un set larg de servicii AWS. În timpul liber lui Giuseppe îi place să joace fotbal.

Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Sofian Hamiti este un specialist în AI / ML soluție arhitect la AWS. El îi ajută pe clienții din toate industriile să-și accelereze călătoria AI / ML, ajutându-i să construiască și să pună în funcțiune soluții de învățare automată end-to-end.

Găzduiește serverul de cod pe Amazon SageMaker PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Eric Pena este Senior Technical Product Manager în echipa AWS Artificial Intelligence Platforms, care lucrează la Amazon SageMaker Interactive Machine Learning. În prezent, se concentrează pe integrările IDE în SageMaker Studio. El deține o diplomă de MBA de la MIT Sloan și în afara serviciului îi place să joace baschet și fotbal.

Timestamp-ul:

Mai mult de la Învățare automată AWS