Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Gostitelj kodnega strežnika na Amazon SageMaker

Ekipe za strojno učenje (ML) potrebujejo prilagodljivost za izbiro svojega integriranega razvojnega okolja (IDE), ko delajo na projektu. Omogoča vam produktivno razvijalsko izkušnjo in hitro inoviranje. Znotraj projekta lahko celo uporabite več IDE-jev. Amazon SageMaker omogoča skupinam ML, da se odločijo za delo iz popolnoma upravljanih okolij, ki temeljijo na oblaku Amazon SageMaker Studio, Primerki prenosnih računalnikov SageMaker, ali z vašega lokalnega računalnika z uporabo lokalni način.

SageMaker Jupyterju in RStudiu zagotavlja izkušnjo z enim klikom za gradnjo, usposabljanje, odpravljanje napak, uvajanje in spremljanje modelov ML. V tej objavi bomo delili tudi a Rešitev za gostovanje kodni strežnik na SageMaker.

S kodnim strežnikom lahko uporabniki izvajajo VS koda na oddaljenih računalnikih in do njega dostopate v spletnem brskalniku. Za ekipe ML gostovanje kodnega strežnika na SageMakerju zagotavlja minimalne spremembe lokalne razvojne izkušnje in vam omogoča kodiranje od koder koli, v razširljivem računalništvu v oblaku. S kodo VS lahko uporabite tudi vgrajena okolja Conda s TensorFlow in PyTorch, optimiziranim za AWS, upravljanimi repozitoriji Git, lokalnim načinom in drugimi funkcijami, ki jih ponuja SageMaker, da pospešite dostavo. Skrbnikom IT vam omogoča standardizacijo in pospešitev zagotavljanja upravljanih, varnih IDE-jev v oblaku, za hitro vključitev in omogočanje skupin ML v njihovih projektih.

Pregled rešitev

V tej objavi obravnavamo namestitev za okolja Studio (možnost A) in primerke prenosnika (možnost B). Za vsako možnost se sprehodimo skozi postopek ročne namestitve, ki ga lahko izvajajo ekipe ML v svojem okolju, in avtomatizirano namestitev, ki jo lahko skrbniki IT zanje nastavijo prek Vmesnik ukazne vrstice AWS (AWS CLI).

Naslednji diagram ponazarja pregled arhitekture za gostovanje kodnega strežnika na SageMakerju.

Naša rešitev pospeši namestitev in nastavitev kodnega strežnika v vašem okolju. Deluje tako za JupyterLab 3 (priporočeno) kot za JupyterLab 1, ki se izvajata v instancah prenosnika Studio in SageMaker. Sestavljen je iz lupinskih skriptov, ki glede na možnost naredijo naslednje.

Za Studio (možnost A) lupinski skript naredi naslednje:

Za primerke prenosnega računalnika SageMaker (možnost B) lupinski skript naredi naslednje:

  • Namesti kodni strežnik.
  • Doda bližnjico kodnega strežnika v meniju datotek prenosnika Jupyter in zaganjalnik JupyterLab za hiter dostop do IDE.
  • Ustvari namensko okolje Conda za upravljanje odvisnosti.
  • Namesti Python in Lučki delavec razširitve na IDE.

V naslednjih razdelkih se popeljemo skozi postopek namestitve rešitve za možnost A in možnost B. Prepričajte se, da imate dostop do programa Studio ali primerka prenosnega računalnika.

Možnost A: Gostitelj kodnega strežnika v Studiu

Za gostovanje kodnega strežnika v Studiu izvedite naslednje korake:

  1. Izberite Sistemski terminal v zaganjalniku Studio.
    ml-10244-studio-terminal-klik
  2. Če želite namestiti rešitev kodnega strežnika, zaženite naslednje ukaze v sistemskem terminalu:
    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

    Ukazi naj trajajo nekaj sekund.

  3. Ponovno naložite stran brskalnika, kjer lahko vidite a Kodni strežnik v zaganjalniku Studio.
    ml-10244-gumb-strežnika kode
  4. Izberite Kodni strežnik da odprete nov zavihek brskalnika, ki vam omogoča dostop do kodnega strežnika iz vašega brskalnika.
    Razširitev Python je že nameščena in lahko se lotite dela v svojem projektu ML.ml-10244-vscode

Svojo projektno mapo lahko odprete v VS Code in izberete vnaprej zgrajeno okolje Conda za zagon svojih skriptov Python.

ml-10244-vscode-conda

Avtomatizirajte namestitev kodnega strežnika za uporabnike v domeni Studio

Kot skrbnik IT lahko avtomatizirate namestitev za uporabnike Studia z uporabo a konfiguracija življenjskega cikla. To je mogoče storiti za vse profile uporabnikov pod domeno Studio ali za določene. glej Prilagodite Amazon SageMaker Studio s konfiguracijami življenjskega cikla Za več podrobnosti.

Za to objavo ustvarimo konfiguracijo življenjskega cikla iz install-codeserver skript in ga priložite obstoječi domeni Studio. Namestitev se izvede za vse uporabniške profile v domeni.

Iz terminala, konfiguriranega z AWS CLI in ustreznimi dovoljenji, zaženite naslednje ukaze:

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.

Po ponovnem zagonu strežnika Jupyter se datoteka Kodni strežnik se prikaže v zaganjalniku Studio.

Možnost B: Gostitelj kodnega strežnika na primerku prenosnega računalnika SageMaker

Če želite gostiti kodni strežnik na primerku prenosnega računalnika SageMaker, dokončajte naslednje korake:

  1. Zaženite terminal prek Jupyterja ali JupyterLaba za primerek vašega prenosnika.
    Če uporabljate Jupyter, izberite terminal o Novo meni.
    Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
  2.  Če želite namestiti rešitev kodnega strežnika, zaženite naslednje ukaze v svojem terminalu:
    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

    Namestitve kodnega strežnika in razširitev so obstojne na primerku prenosnega računalnika. Vendar, če zaustavite ali znova zaženete primerek, morate zagnati naslednji ukaz za ponovno konfiguracijo kodnega strežnika:

    sudo ./setup-codeserver.sh

    Zagon ukazov naj traja nekaj sekund. Zavihek terminala lahko zaprete, ko vidite naslednje.

    ml-10244-terminalni izhod

  3. Zdaj znova naložite stran Jupyter in preverite Novo spet meni.
    O Kodni strežnik možnost bi morala biti zdaj na voljo.
    Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Strežnik kode lahko zaženete tudi iz JupyterLaba z namenskim gumbom za zagon, kot je prikazano na naslednjem posnetku zaslona.

ml-10244-jupyterlab-code-server-gumb

Izbira Kodni strežnik bo odprl nov zavihek brskalnika, ki vam bo omogočil dostop do kodnega strežnika iz vašega brskalnika. Razširitvi Python in Docker sta že nameščeni in lahko se lotite dela v svojem projektu ML.

ml-10244-notebook-vscode

Avtomatizirajte namestitev kodnega strežnika na primerku prenosnega računalnika

Kot skrbnik IT lahko avtomatizirate namestitev kodnega strežnika z a konfiguracija življenjskega cikla ki se izvaja ob ustvarjanju primerka, in avtomatizirajte nastavitev z enim, ki se izvaja ob zagonu primerka.

Tukaj ustvarimo primer primerka prenosnega računalnika in konfiguracije življenjskega cikla z uporabo AWS CLI. on-create config teče install-codeserverin on-start deluje setup-codeserver.

Iz terminala, konfiguriranega z AWS CLI in ustreznimi dovoljenji, zaženite naslednje ukaze:

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.

Namestitev kodnega strežnika je zdaj avtomatizirana za primerek prenosnega računalnika.

zaključek

z kodni strežnik gostuje na SageMakerju, lahko ekipe ML izvajajo kodo VS v razširljivem računališču v oblaku, kodirajo od koder koli in pospešijo izvedbo svojih projektov ML. Skrbnikom IT omogoča, da standardizirajo in pospešijo zagotavljanje upravljanih, varnih IDE-jev v oblaku, da hitro vključijo in omogočijo ekipe ML v svojih projektih.

V tej objavi smo delili rešitev, ki jo lahko uporabite za hitro namestitev kodnega strežnika v instanci Studio in notebook. Delili smo ročni postopek namestitve, ki ga lahko ekipe ML izvajajo same, in avtomatizirano namestitev, ki jo lahko zanje nastavijo skrbniki IT.

Če želite nadaljevati svoje učenje, obiščite AWSome SageMaker na GitHubu, da najdete vse ustrezne in posodobljene vire, potrebne za delo s SageMakerjem.


O avtorjih

Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Giuseppe Angelo Porcelli je glavni arhitekt za rešitve strokovnjaka za strojno učenje za spletne storitve Amazon. Z nekajletnimi izkušnjami programskega inženiringa na področju ML sodeluje s strankami vseh velikosti, da bi poglobljeno razumel njihove poslovne in tehnične potrebe ter oblikoval rešitve AI in strojnega učenja, ki najbolje izkoriščajo oblak AWS in sklad Amazon Machine Learning. Delal je na projektih na različnih področjih, vključno z MLOps, Computer Vision, NLP in vključeval širok nabor storitev AWS. V prostem času Giuseppe rad igra nogomet.

Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Sofian Hamiti je strokovnjak za rešitve AI / ML za rešitve pri AWS. Strankam v različnih panogah pomaga, da pospešijo svojo umetno inteligenco / ML, tako da jim pomaga zgraditi in operacionalizirati rešitve strojnega učenja od konca do konca.

Gostitelj kodnega strežnika na Amazon SageMaker PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Eric Pena je višji tehnični produktni vodja v skupini platform za umetno inteligenco AWS, ki dela na interaktivnem strojnem učenju Amazon SageMaker. Trenutno se osredotoča na integracije IDE v SageMaker Studio. Ima diplomo MBA na MIT Sloan, zunaj službe pa uživa v igranju košarke in nogometa.

Časovni žig:

Več od Strojno učenje AWS