Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Serwer kodu hosta na Amazon SageMaker

Zespoły uczenia maszynowego (ML) potrzebują elastyczności, aby wybrać swoje zintegrowane środowisko programistyczne (IDE) podczas pracy nad projektem. Pozwala mieć produktywne środowisko programistyczne i szybko wprowadzać innowacje. Możesz nawet używać wielu środowisk IDE w ramach projektu. Amazon Sage Maker pozwala zespołom ML wybrać pracę w pełni zarządzanych środowiskach chmurowych w Studio Amazon SageMaker, Instancje Notatnika SageMaker, lub z komputera lokalnego za pomocą tryb lokalny.

SageMaker zapewnia Jupyter i RStudio środowisko za pomocą jednego kliknięcia, aby budować, trenować, debugować, wdrażać i monitorować modele ML. W tym poście udostępnimy również a rozwiązanie za hosting kod-serwer na SageMakerze.

Dzięki serwerowi kodu użytkownicy mogą uruchamiać Kod VS na zdalnych maszynach i uzyskuj do nich dostęp w przeglądarce internetowej. W przypadku zespołów ML hostowanie serwera kodu w programie SageMaker zapewnia minimalne zmiany w lokalnym środowisku programistycznym i umożliwia kodowanie z dowolnego miejsca na skalowalnej chmurze obliczeniowej. Dzięki VS Code możesz również korzystać z wbudowanych środowisk Conda ze zoptymalizowanymi pod kątem AWS TensorFlow i PyTorch, zarządzanymi repozytoriami Git, trybem lokalnym i innymi funkcjami zapewnianymi przez SageMaker, aby przyspieszyć dostarczanie. Administratorom IT umożliwia standaryzację i przyspieszenie udostępniania zarządzanych, bezpiecznych środowisk IDE w chmurze, aby szybko wdrażać i włączać zespoły ML w ich projektach.

Omówienie rozwiązania

W tym poście omówimy instalację zarówno w środowiskach Studio (Opcja A), jak i w instancjach notebooków (Opcja B). W przypadku każdej opcji przechodzimy przez proces ręcznej instalacji, który zespoły ML mogą uruchomić w swoim środowisku, oraz automatyczną instalację, którą administratorzy IT mogą dla nich skonfigurować za pośrednictwem Interfejs wiersza poleceń AWS (interfejs wiersza poleceń AWS).

Poniższy diagram ilustruje omówienie architektury hostowania serwera kodu w programie SageMaker.

Nasze rozwiązanie przyspiesza instalację i konfigurację serwera kodu w Twoim środowisku. Działa zarówno dla JupyterLab 3 (zalecane), jak i JupyterLab 1, które działają w instancjach notatników Studio i SageMaker. Składa się ze skryptów powłoki, które w oparciu o opcję wykonują następujące czynności.

W przypadku Studio (Opcja A) skrypt powłoki wykonuje następujące czynności:

W przypadku notatek SageMaker (Opcja B) skrypt powłoki wykonuje następujące czynności:

  • Instaluje serwer kodu.
  • Dodaje skrót do serwera kodu w menu plików notesu Jupyter i programie uruchamiającym JupyterLab, aby uzyskać szybki dostęp do środowiska IDE.
  • Tworzy dedykowane środowisko Conda do zarządzania zależnościami.
  • Instaluje Python i Doker rozszerzenia w IDE.

W kolejnych sekcjach omówimy proces instalacji rozwiązania dla Opcji A i Opcji B. Upewnij się, że masz dostęp do Studio lub wystąpienia notatnika.

Opcja A: Serwer kodu hosta w Studio

Aby hostować serwer kodu w Studio, wykonaj następujące czynności:

  1. Dodaj Terminal systemowy w programie uruchamiającym Studio.
    ml-10244-studio-terminal-klik
  2. Aby zainstalować rozwiązanie serwera kodu, uruchom następujące polecenia w terminalu systemowym:
    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

    Wykonanie poleceń powinno zająć kilka sekund.

  3. Odśwież stronę przeglądarki, gdzie możesz zobaczyć Serwer kodu w programie uruchamiającym Studio.
    ml-10244-code-server-przycisk
  4. Dodaj Serwer kodu aby otworzyć nową kartę przeglądarki, umożliwiając dostęp do serwera kodu z przeglądarki.
    Rozszerzenie Python jest już zainstalowane i możesz zacząć pracować w swoim projekcie ML.ml-10244 vscode

Możesz otworzyć folder projektu w programie VS Code i wybrać wstępnie zbudowane środowisko Conda do uruchamiania skryptów w języku Python.

ml-10244 vscode-conda

Zautomatyzuj instalację serwera kodu dla użytkowników w domenie Studio

Jako administrator IT możesz zautomatyzować instalację dla użytkowników Studio za pomocą konfiguracja cyklu życia. Można to zrobić dla wszystkich profili użytkowników w domenie Studio lub dla określonych. Widzieć Dostosuj Amazon SageMaker Studio za pomocą konfiguracji cyklu życia by uzyskać więcej szczegółów.

W tym poście tworzymy konfigurację cyklu życia z zainstaluj-codeserver skryptu i dołącz go do istniejącej domeny Studio. Instalacja jest wykonywana dla wszystkich profili użytkowników w domenie.

Na terminalu skonfigurowanym z interfejsem AWS CLI i odpowiednimi uprawnieniami uruchom następujące polecenia:

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 ponownym uruchomieniu serwera Jupyter Server Serwer kodu pojawi się w programie uruchamiającym Studio.

Opcja B: Hostuj serwer kodu na instancji notatnika SageMaker

Aby hostować serwer kodu na instancji notatnika SageMaker, wykonaj następujące czynności:

  1. Uruchom terminal za pomocą Jupyter lub JupyterLab dla swojej instancji notebooka.
    Jeśli używasz Jupytera, wybierz terminal na Nowości menu.
    Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  2.  Aby zainstalować rozwiązanie z serwerem kodu, uruchom w terminalu następujące polecenia:
    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

    Instalacje serwera kodu i rozszerzeń są trwałe w instancji notatnika. Jeśli jednak zatrzymasz lub ponownie uruchomisz instancję, musisz uruchomić następujące polecenie, aby ponownie skonfigurować kod-serwer:

    sudo ./setup-codeserver.sh

    Uruchomienie poleceń powinno zająć kilka sekund. Możesz zamknąć kartę terminala, gdy zobaczysz następujące elementy.

    ml-10244-terminal-wyjście

  3. Teraz odśwież stronę Jupyter i sprawdź Nowości menu ponownie.
    Połączenia Serwer kodu opcja powinna być teraz dostępna.
    Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz także uruchomić serwer kodu z JupyterLab za pomocą dedykowanego przycisku uruchamiania, jak pokazano na poniższym zrzucie ekranu.

ml-10244-jupyterlab-code-server-przycisk

Wybór Serwer kodu otworzy nową kartę przeglądarki, umożliwiając dostęp do serwera kodu z przeglądarki. Rozszerzenia Python i Docker są już zainstalowane i możesz rozpocząć pracę w swoim projekcie ML.

ml-10244-notebook-vscode

Zautomatyzuj instalację serwera kodu na instancji notebooka

Jako administrator IT możesz zautomatyzować instalację serwera kodu za pomocą konfiguracja cyklu życia uruchomiona podczas tworzenia instancji i zautomatyzować konfigurację, uruchamiając jedną uruchamianą podczas uruchamiania instancji.

Tutaj tworzymy przykładową instancję notatnika i konfigurację cyklu życia za pomocą AWS CLI ., on-create konfiguracja działa zainstaluj-codeserver, on-start działa konfiguracja serwera kodów.

Na terminalu skonfigurowanym z interfejsem AWS CLI i odpowiednimi uprawnieniami uruchom następujące polecenia:

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.

Instalacja serwera kodu jest teraz zautomatyzowana dla instancji notatnika.

Wnioski

Z kod-serwer hostowane na SageMaker, zespoły ML mogą uruchamiać VS Code na skalowalnych obliczeniach w chmurze, kodować z dowolnego miejsca i przyspieszać realizację projektów ML. Administratorom IT umożliwia standaryzację i przyspieszenie udostępniania zarządzanych, bezpiecznych środowisk IDE w chmurze, aby szybko wdrażać i włączać zespoły ML w swoich projektach.

W tym poście udostępniliśmy rozwiązanie, za pomocą którego można szybko zainstalować serwer kodu zarówno w instancjach Studio, jak i notatnikach. Udostępniliśmy proces ręcznej instalacji, który zespoły ML mogą przeprowadzić samodzielnie, oraz zautomatyzowaną instalację, którą mogą dla nich skonfigurować administratorzy IT.

Aby przejść dalej w swoich odkryciach, odwiedź AWNiektóry mędrzec na GitHub, aby znaleźć wszystkie istotne i aktualne zasoby potrzebne do pracy z SageMaker.


O autorach

Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Giuseppe Angelo Porcellego jest głównym specjalistą ds. rozwiązań w zakresie uczenia maszynowego dla Amazon Web Services. Dzięki kilkuletniemu doświadczeniu w inżynierii oprogramowania i ML, współpracuje z klientami dowolnej wielkości, aby dogłębnie zrozumieć ich potrzeby biznesowe i techniczne oraz projektować rozwiązania AI i uczenia maszynowego, które najlepiej wykorzystują AWS Cloud i stos Amazon Machine Learning. Pracował przy projektach z różnych dziedzin, w tym MLOps, Computer Vision, NLP oraz obejmujących szeroki zestaw usług AWS. W wolnym czasie Giuseppe lubi grać w piłkę nożną.

Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Zofia Hamiti jest specjalistą ds. rozwiązań AI / ML w AWS. Pomaga klientom z różnych branż przyspieszyć ich przygodę z AI / ML, pomagając im tworzyć i operacjonalizować kompleksowe rozwiązania uczenia maszynowego.

Hostuj serwer kodu na platformie Amazon SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Eryk Pena jest starszym kierownikiem technicznym produktu w zespole platform sztucznej inteligencji AWS, pracującym nad interaktywnym uczeniem maszynowym Amazon SageMaker. Obecnie koncentruje się na integracjach IDE w SageMaker Studio. Posiada dyplom MBA z MIT Sloan, a poza pracą lubi grać w koszykówkę i piłkę nożną.

Znak czasu:

Więcej z Uczenie maszynowe AWS