Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Host kode-server di Amazon SageMaker

Tim pembelajaran mesin (ML) membutuhkan fleksibilitas untuk memilih lingkungan pengembangan terintegrasi (IDE) mereka saat mengerjakan sebuah proyek. Ini memungkinkan Anda untuk memiliki pengalaman pengembang yang produktif dan berinovasi dengan cepat. Anda bahkan dapat menggunakan beberapa IDE dalam sebuah proyek. Amazon SageMaker memungkinkan tim ML memilih untuk bekerja dari lingkungan berbasis cloud yang terkelola sepenuhnya Studio Amazon SageMaker, Instans Notebook SageMaker, atau dari mesin lokal Anda menggunakan mode lokal.

SageMaker memberikan pengalaman sekali klik kepada Jupyter dan RStudio untuk membangun, melatih, men-debug, menerapkan, dan memantau model ML. Dalam posting ini, kami juga akan membagikan larutan untuk hosting kode-server di SageMaker.

Dengan server kode, pengguna dapat menjalankan VS Code pada mesin jarak jauh dan mengaksesnya di browser web. Untuk tim ML, menghosting server kode di SageMaker memberikan sedikit perubahan pada pengalaman pengembangan lokal, dan memungkinkan Anda membuat kode dari mana saja, pada komputasi awan yang skalabel. Dengan VS Code, Anda juga dapat menggunakan lingkungan Conda bawaan dengan TensorFlow dan PyTorch yang dioptimalkan AWS, repositori Git terkelola, mode lokal, dan fitur lain yang disediakan oleh SageMaker untuk mempercepat pengiriman Anda. Untuk admin TI, ini memungkinkan Anda untuk menstandarisasi dan mempercepat penyediaan IDE terkelola dan aman di cloud, untuk dengan cepat mengaktifkan dan mengaktifkan tim ML dalam proyek mereka.

Ikhtisar solusi

Dalam posting ini, kami membahas instalasi untuk kedua lingkungan Studio (Opsi A), dan instance notebook (Opsi B). Untuk setiap opsi, kami menelusuri proses penginstalan manual yang dapat dijalankan oleh tim ML di lingkungan mereka, dan penginstalan otomatis yang dapat disiapkan oleh admin TI untuk mereka melalui Antarmuka Baris Perintah AWS (AWS CLI).

Diagram berikut mengilustrasikan ikhtisar arsitektur untuk menghosting server kode di SageMaker.

Solusi kami mempercepat pemasangan dan penyiapan server kode di lingkungan Anda. Ini berfungsi untuk JupyterLab 3 (disarankan) dan JupyterLab 1 yang berjalan dalam instans notebook Studio dan SageMaker. Itu terbuat dari skrip shell yang melakukan hal berikut berdasarkan opsi.

Untuk Studio (Opsi A), skrip shell melakukan hal berikut:

Untuk instans notebook SageMaker (Opsi B), skrip shell melakukan hal berikut:

  • Menginstal server kode.
  • Menambahkan pintasan server kode pada menu file notebook Jupyter dan peluncur JupyterLab untuk akses cepat ke IDE.
  • Menciptakan lingkungan Conda khusus untuk mengelola dependensi.
  • Menginstal Ular sanca dan Buruh pelabuhan ekstensi pada IDE.

Di bagian berikut, kita akan membahas proses penginstalan solusi untuk Opsi A dan Opsi B. Pastikan Anda memiliki akses ke Studio atau instans notebook.

Opsi A: Host kode-server di Studio

Untuk meng-host server kode di Studio, selesaikan langkah-langkah berikut:

  1. Pilih Terminal sistem di peluncur Studio Anda.
    ml-10244-studio-terminal-klik
  2. Untuk menginstal solusi server kode, jalankan perintah berikut di terminal sistem Anda:
    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

    Perintah harus memakan waktu beberapa detik untuk diselesaikan.

  3. Muat ulang halaman browser, di mana Anda dapat melihat Server Kode tombol di peluncur Studio Anda.
    ml-10244-kode-server-tombol
  4. Pilih Server Kode untuk membuka tab browser baru, memungkinkan Anda mengakses server kode dari browser Anda.
    Ekstensi Python sudah diinstal, dan Anda bisa mulai bekerja di proyek ML Anda.ml-10244-vskode

Anda dapat membuka folder proyek Anda di VS Code dan memilih lingkungan Conda yang sudah dibuat sebelumnya untuk menjalankan skrip Python Anda.

ml-10244-vscode-conda

Otomatiskan penginstalan server kode untuk pengguna di domain Studio

Sebagai admin TI, Anda dapat mengotomatiskan penginstalan untuk pengguna Studio dengan menggunakan a konfigurasi siklus hidup. Ini dapat dilakukan untuk semua profil pengguna di bawah domain Studio atau untuk yang spesifik. Melihat Kustomisasi Amazon SageMaker Studio menggunakan Konfigurasi Siklus Hidup lebih lanjut.

Untuk posting ini, kami membuat konfigurasi siklus hidup dari instal-codeserver skrip, dan lampirkan ke domain Studio yang ada. Instalasi dilakukan untuk semua profil pengguna di domain.

Dari terminal yang dikonfigurasi dengan AWS CLI dan izin yang sesuai, jalankan perintah berikut:

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.

Setelah Jupyter Server restart, Server Kode tombol muncul di peluncur Studio Anda.

Opsi B: Host kode-server pada instans notebook SageMaker

Untuk menghosting server kode pada instans notebook SageMaker, selesaikan langkah-langkah berikut:

  1. Luncurkan terminal melalui Jupyter atau JupyterLab untuk instance notebook Anda.
    Jika Anda menggunakan Jupyter, pilih terminal pada New menu.
    Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  2.  Untuk menginstal solusi server kode, jalankan perintah berikut di terminal Anda:
    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

    Penginstalan server kode dan ekstensi tetap ada pada instans notebook. Namun, jika Anda menghentikan atau memulai ulang instans, Anda perlu menjalankan perintah berikut untuk mengonfigurasi ulang server kode:

    sudo ./setup-codeserver.sh

    Perintah harus memakan waktu beberapa detik untuk dijalankan. Anda dapat menutup tab terminal ketika Anda melihat yang berikut ini.

    ml-10244-terminal-keluaran

  3. Sekarang muat ulang halaman Jupyter dan periksa New menu lagi.
    Grafik Server Kode pilihan sekarang harus tersedia.
    Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Anda juga dapat meluncurkan server kode dari JupyterLab menggunakan tombol peluncur khusus, seperti yang ditunjukkan pada tangkapan layar berikut.

ml-10244-jupyterlab-kode-server-tombol

Memilih Server Kode akan membuka tab browser baru, memungkinkan Anda untuk mengakses server kode dari browser Anda. Ekstensi Python dan Docker sudah terpasang, dan Anda bisa mulai bekerja di proyek ML Anda.

ml-10244-notebook-vscode

Otomatiskan penginstalan server kode pada instans notebook

Sebagai admin TI, Anda dapat mengotomatiskan penginstalan server kode dengan a konfigurasi siklus hidup berjalan pada pembuatan instance, dan mengotomatiskan penyiapan dengan yang berjalan saat instance dimulai.

Di sini, kami membuat contoh contoh notebook dan konfigurasi siklus hidup menggunakan AWS CLI. itu on-create konfigurasi berjalan instal-codeserver, dan on-start berjalan setup-codeserver.

Dari terminal yang dikonfigurasi dengan AWS CLI dan izin yang sesuai, jalankan perintah berikut:

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.

Pemasangan kode-server sekarang otomatis untuk instans notebook.

Kesimpulan

Dengan kode-server dihosting di SageMaker, tim ML dapat menjalankan VS Code pada komputasi awan yang skalabel, kode dari mana saja, dan mempercepat pengiriman proyek ML mereka. Untuk admin TI, ini memungkinkan mereka untuk menstandarisasi dan mempercepat penyediaan IDE terkelola dan aman di cloud, untuk dengan cepat mengaktifkan dan mengaktifkan tim ML dalam proyek mereka.

Dalam posting ini, kami membagikan solusi yang dapat Anda gunakan untuk menginstal server kode dengan cepat di instans Studio dan notebook. Kami membagikan proses penginstalan manual yang dapat dijalankan sendiri oleh tim ML, dan penginstalan otomatis yang dapat disiapkan oleh admin TI untuk mereka.

Untuk melangkah lebih jauh dalam pembelajaran Anda, kunjungi Beberapa SageMaker di GitHub untuk menemukan semua sumber daya yang relevan dan terkini yang diperlukan untuk bekerja dengan SageMaker.


Tentang Penulis

Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Giuseppe Angelo Porcelli adalah Arsitek Solusi Spesialis Pembelajaran Mesin Utama untuk Amazon Web Services. Dengan latar belakang ML selama beberapa tahun sebagai rekayasa perangkat lunak, ia bekerja dengan pelanggan dari berbagai ukuran untuk memahami secara mendalam kebutuhan bisnis dan teknis mereka serta merancang solusi AI dan Pembelajaran Mesin yang memanfaatkan AWS Cloud dan tumpukan Amazon Machine Learning dengan sebaik-baiknya. Dia telah mengerjakan proyek di berbagai domain, termasuk MLOps, Computer Vision, NLP, dan melibatkan serangkaian luas layanan AWS. Di waktu luangnya, Giuseppe menikmati bermain sepak bola.

Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Sofian Hamiti adalah Arsitek Solusi spesialis AI / ML di AWS. Dia membantu pelanggan di seluruh industri untuk mempercepat perjalanan AI / ML mereka dengan membantu mereka membangun dan mengoperasionalkan solusi pembelajaran mesin ujung ke ujung.

Server kode host di Amazon SageMaker PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Eric Pena adalah Senior Technical Product Manager di tim AWS Artificial Intelligence Platforms, yang bekerja di Amazon SageMaker Interactive Machine Learning. Dia saat ini berfokus pada integrasi IDE di SageMaker Studio. Dia memegang gelar MBA dari MIT Sloan dan di luar pekerjaan menikmati bermain bola basket dan sepak bola.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS