Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.

Code-Server auf Amazon SageMaker hosten

Teams für maschinelles Lernen (ML) benötigen die Flexibilität, ihre integrierte Entwicklungsumgebung (IDE) auszuwählen, wenn sie an einem Projekt arbeiten. Es ermöglicht Ihnen eine produktive Entwicklererfahrung und schnelle Innovationen. Sie können sogar mehrere IDEs innerhalb eines Projekts verwenden. Amazon Sage Maker ermöglicht ML-Teams die Wahl, in vollständig verwalteten, Cloud-basierten Umgebungen zu arbeiten Amazon SageMaker-Studio, SageMaker Notebook-Instanzen, oder von Ihrem lokalen Computer mit Lokalbetrieb.

SageMaker bietet Jupyter und RStudio eine Ein-Klick-Erfahrung zum Erstellen, Trainieren, Debuggen, Bereitstellen und Überwachen von ML-Modellen. In diesem Beitrag teilen wir auch a Lösung für das Hosting Code-Server auf SageMaker.

Mit Code-Server können Benutzer ausführen VS-Code auf Remote-Computern und greifen Sie in einem Webbrowser darauf zu. Für ML-Teams bietet das Hosten von Code-Servern auf SageMaker minimale Änderungen an einer lokalen Entwicklungserfahrung und ermöglicht es Ihnen, von überall aus auf skalierbarem Cloud-Computing zu programmieren. Mit VS Code können Sie auch integrierte Conda-Umgebungen mit AWS-optimiertem TensorFlow und PyTorch, verwalteten Git-Repositories, lokalem Modus und anderen von SageMaker bereitgestellten Funktionen verwenden, um Ihre Bereitstellung zu beschleunigen. Für IT-Administratoren ermöglicht es Ihnen, die Bereitstellung von verwalteten, sicheren IDEs in der Cloud zu standardisieren und zu beschleunigen, um ML-Teams schnell in ihre Projekte aufzunehmen und zu unterstützen.

Lösungsüberblick

In diesem Beitrag behandeln wir die Installation sowohl für Studio-Umgebungen (Option A) als auch für Notebook-Instanzen (Option B). Für jede Option durchlaufen wir einen manuellen Installationsprozess, den ML-Teams in ihrer Umgebung ausführen können, und eine automatisierte Installation, die IT-Administratoren über die für sie einrichten können AWS-Befehlszeilenschnittstelle (AWS-CLI).

Das folgende Diagramm veranschaulicht die Architekturübersicht für das Hosten von Code-Servern auf SageMaker.

Unsere Lösung beschleunigt die Installation und Einrichtung des Code-Servers in Ihrer Umgebung. Es funktioniert sowohl für JupyterLab 3 (empfohlen) als auch für JupyterLab 1, die in Studio- und SageMaker-Notebook-Instanzen ausgeführt werden. Es besteht aus Shell-Skripten, die basierend auf der Option Folgendes tun.

Für Studio (Option A) führt das Shell-Skript Folgendes aus:

Für SageMaker-Notebook-Instances (Option B) führt das Shell-Skript Folgendes aus:

  • Installiert den Code-Server.
  • Fügt dem Dateimenü des Jupyter-Notebooks und dem JupyterLab-Startprogramm eine Code-Server-Verknüpfung für den schnellen Zugriff auf die IDE hinzu.
  • Erstellt eine dedizierte Conda-Umgebung zum Verwalten von Abhängigkeiten.
  • Installiert die Python und Docker Erweiterungen in der IDE.

In den folgenden Abschnitten führen wir den Lösungsinstallationsprozess für Option A und Option B durch. Stellen Sie sicher, dass Sie Zugriff auf Studio oder eine Notebook-Instance haben.

Option A: Code-Server auf Studio hosten

Führen Sie die folgenden Schritte aus, um den Code-Server in Studio zu hosten:

  1. Auswählen Systemendgerät in Ihrem Studio-Launcher.
    ml-10244-studio-terminal-click
  2. Um die Code-Server-Lösung zu installieren, führen Sie die folgenden Befehle in Ihrem Systemterminal aus:
    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

    Die Ausführung der Befehle sollte einige Sekunden dauern.

  3. Laden Sie die Browserseite neu, auf der Sie a sehen können Codeserver Schaltfläche in Ihrem Studio-Launcher.
    ml-10244-Code-Server-Schaltfläche
  4. Auswählen Codeserver , um einen neuen Browser-Tab zu öffnen, der Ihnen den Zugriff auf den Code-Server von Ihrem Browser aus ermöglicht.
    Die Python-Erweiterung ist bereits installiert und Sie können in Ihrem ML-Projekt arbeiten.ml-10244-vscode

Sie können Ihren Projektordner in VS Code öffnen und die vorgefertigte Conda-Umgebung auswählen, um Ihre Python-Skripts auszuführen.

ml-10244-vscode-conda

Automatisieren Sie die Code-Server-Installation für Benutzer in einer Studio-Domäne

Als IT-Administrator können Sie die Installation für Studio-Benutzer automatisieren, indem Sie a Lebenszykluskonfiguration. Dies kann für alle Benutzerprofile unter einer Studio-Domäne oder für bestimmte Benutzerprofile erfolgen. Sehen Passen Sie Amazon SageMaker Studio mithilfe von Lebenszykluskonfigurationen an für weitere Informationen an.

Für diesen Beitrag erstellen wir eine Lebenszykluskonfiguration aus der install-codeserver -Skript und hängen Sie es an eine vorhandene Studio-Domain an. Die Installation wird für alle Benutzerprofile in der Domäne durchgeführt.

Führen Sie auf einem Terminal, das mit der AWS CLI und den entsprechenden Berechtigungen konfiguriert ist, die folgenden Befehle aus:

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.

Nach dem Neustart von Jupyter Server wird die Codeserver Die Schaltfläche wird in Ihrem Studio-Launcher angezeigt.

Option B: Code-Server auf einer SageMaker-Notebook-Instanz hosten

Führen Sie die folgenden Schritte aus, um Code-Server auf einer SageMaker-Notebook-Instance zu hosten:

  1. Starten Sie ein Terminal über Jupyter oder JupyterLab für Ihre Notebook-Instance.
    Wenn Sie Jupyter verwenden, wählen Sie Terminal auf die Neu Menü.
    Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.
  2.  Um die Code-Server-Lösung zu installieren, führen Sie die folgenden Befehle in Ihrem Terminal aus:
    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

    Die Installationen des Code-Servers und der Erweiterungen sind auf der Notebook-Instance persistent. Wenn Sie die Instanz jedoch stoppen oder neu starten, müssen Sie den folgenden Befehl ausführen, um den Code-Server neu zu konfigurieren:

    sudo ./setup-codeserver.sh

    Die Ausführung der Befehle sollte einige Sekunden dauern. Sie können die Terminal-Registerkarte schließen, wenn Sie Folgendes sehen.

    ml-10244-Terminal-Ausgabe

  3. Laden Sie nun die Jupyter-Seite neu und überprüfen Sie die Neu Menü wieder.
    Das Codeserver Option sollte jetzt verfügbar sein.
    Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.

Sie können den Code-Server auch von JupyterLab aus starten, indem Sie eine dedizierte Launcher-Schaltfläche verwenden, wie im folgenden Screenshot gezeigt.

ml-10244-jupyterlab-code-server-button

Die Wahl Codeserver öffnet einen neuen Browser-Tab, mit dem Sie von Ihrem Browser aus auf den Code-Server zugreifen können. Die Python- und Docker-Erweiterungen sind bereits installiert, und Sie können in Ihrem ML-Projekt arbeiten.

ml-10244-notebook-vscode

Automatisieren Sie die Code-Server-Installation auf einer Notebook-Instance

Als IT-Administrator können Sie die Code-Server-Installation mit a automatisieren Lebenszykluskonfiguration die bei der Instanzerstellung ausgeführt wird, und automatisieren Sie die Einrichtung mit einer, die beim Instanzstart ausgeführt wird.

Hier erstellen wir eine Beispiel-Notebook-Instance und eine Lebenszykluskonfiguration mit der AWS-CLIdem „Vermischten Geschmack“. Seine on-create Konfig läuft install-codeserver und on-start läuft Setup-Codeserver.

Führen Sie auf einem Terminal, das mit der AWS CLI und den entsprechenden Berechtigungen konfiguriert ist, die folgenden Befehle aus:

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.

Die Code-Server-Installation ist jetzt für die Notebook-Instance automatisiert.

Zusammenfassung

Mit der Code-Server Auf SageMaker gehostet, können ML-Teams VS Code auf skalierbarem Cloud-Computing ausführen, von überall aus codieren und ihre ML-Projektbereitstellung beschleunigen. IT-Administratoren können damit die Bereitstellung verwalteter, sicherer IDEs in der Cloud standardisieren und beschleunigen, um ML-Teams schnell in ihre Projekte einzubinden und zu unterstützen.

In diesem Beitrag haben wir eine Lösung geteilt, mit der Sie Code-Server schnell sowohl auf Studio- als auch auf Notebook-Instanzen installieren können. Wir teilten einen manuellen Installationsprozess, den ML-Teams selbst ausführen können, und eine automatisierte Installation, die IT-Administratoren für sie einrichten können.

Um in Ihrem Lernen weiter zu gehen, besuchen Sie Ein toller SageMaker auf GitHub, um alle relevanten und aktuellen Ressourcen zu finden, die für die Arbeit mit SageMaker benötigt werden.


Über die Autoren

Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.Giuseppe Angelo Porcelli ist ein Principal Machine Learning Specialist Solutions Architect für Amazon Web Services. Mit mehrjährigem Softwareentwicklungs- und ML-Hintergrund arbeitet er mit Kunden jeder Größe zusammen, um ihre geschäftlichen und technischen Anforderungen genau zu verstehen und Lösungen für KI und maschinelles Lernen zu entwickeln, die die AWS Cloud und den Amazon Machine Learning-Stack optimal nutzen. Er hat an Projekten in verschiedenen Bereichen gearbeitet, darunter MLOps, Computer Vision, NLP, und eine breite Palette von AWS-Services einbezogen. In seiner Freizeit spielt Giuseppe gerne Fußball.

Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.Sofian Hamiti ist ein AI / ML-spezialisierter Lösungsarchitekt bei AWS. Er hilft Kunden in verschiedenen Branchen, ihre AI / ML-Reise zu beschleunigen, indem er ihnen hilft, durchgängige Lösungen für maschinelles Lernen zu entwickeln und zu operationalisieren.

Code-Server auf Amazon SageMaker PlatoBlockchain Data Intelligence hosten. Vertikale Suche. Ai.Eric Peña ist Senior Technical Product Manager im AWS-Team für künstliche Intelligenzplattformen und arbeitet an Amazon SageMaker Interactive Machine Learning. Derzeit konzentriert er sich auf IDE-Integrationen in SageMaker Studio. Er hat einen MBA-Abschluss vom MIT Sloan und spielt außerhalb der Arbeit gerne Basketball und Fußball.

Zeitstempel:

Mehr von AWS Maschinelles Lernen