โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker

ทีมการเรียนรู้ของเครื่อง (ML) ต้องการความยืดหยุ่นในการเลือกสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) เมื่อทำงานในโครงการ ช่วยให้คุณมีประสบการณ์นักพัฒนาที่มีประสิทธิภาพและสร้างสรรค์สิ่งใหม่ๆ ได้อย่างรวดเร็ว คุณยังใช้ IDE หลายตัวภายในโปรเจ็กต์ได้อีกด้วย อเมซอน SageMaker ช่วยให้ทีม ML เลือกทำงานจากสภาพแวดล้อมบนคลาวด์ที่มีการจัดการเต็มรูปแบบภายใน สตูดิโอ Amazon SageMaker, อินสแตนซ์โน้ตบุ๊ก SageMakerหรือจากเครื่องท้องถิ่นของคุณโดยใช้ โหมดท้องถิ่น.

SageMaker มอบประสบการณ์เพียงคลิกเดียวให้กับ Jupyter และ RStudio เพื่อสร้าง ฝึกอบรม ดีบัก ปรับใช้ และตรวจสอบโมเดล ML ในโพสต์นี้เราจะแบ่งปัน ทางออก สำหรับโฮสติ้ง รหัสเซิร์ฟเวอร์ บน SageMaker

ด้วยรหัสเซิร์ฟเวอร์ ผู้ใช้สามารถเรียกใช้ VS Code บนเครื่องระยะไกลและเข้าถึงได้ในเว็บเบราว์เซอร์ สำหรับทีม ML การโฮสต์โค้ดเซิร์ฟเวอร์บน SageMaker จะมีการเปลี่ยนแปลงเพียงเล็กน้อยในประสบการณ์การพัฒนาในพื้นที่ และช่วยให้คุณสามารถเขียนโค้ดได้จากทุกที่บนคลาวด์คอมพิวติ้งที่ปรับขนาดได้ ด้วย VS Code คุณยังสามารถใช้สภาพแวดล้อม Conda ในตัวด้วย TensorFlow และ PyTorch ที่ปรับให้เหมาะกับ AWS, ที่เก็บ Git ที่มีการจัดการ, โหมดในเครื่อง และคุณสมบัติอื่นๆ ที่ SageMaker จัดหาให้เพื่อเพิ่มความเร็วในการจัดส่งของคุณ สำหรับผู้ดูแลระบบไอที จะช่วยให้คุณกำหนดมาตรฐานและเร่งการจัดเตรียม IDE ที่มีการจัดการและปลอดภัยในคลาวด์ เพื่อเตรียมความพร้อมอย่างรวดเร็วและเปิดใช้งานทีม ML ในโครงการของพวกเขา

ภาพรวมโซลูชัน

ในโพสต์นี้ เราครอบคลุมถึงการติดตั้งสำหรับทั้งสภาพแวดล้อม Studio (ตัวเลือก A) และอินสแตนซ์โน้ตบุ๊ก (ตัวเลือก B) สำหรับแต่ละตัวเลือก เราจะอธิบายขั้นตอนการติดตั้งด้วยตนเองซึ่งทีม ML สามารถเรียกใช้ในสภาพแวดล้อมของตน และการติดตั้งอัตโนมัติที่ผู้ดูแลระบบไอทีสามารถตั้งค่าได้ผ่านทาง อินเทอร์เฟซบรรทัดคำสั่ง AWS AWS (AWS CLI)

ไดอะแกรมต่อไปนี้แสดงภาพรวมสถาปัตยกรรมสำหรับการโฮสต์โค้ดเซิร์ฟเวอร์บน SageMaker

โซลูชันของเราช่วยเพิ่มความเร็วในการติดตั้งและตั้งค่าโค้ดเซิร์ฟเวอร์ในสภาพแวดล้อมของคุณ ใช้งานได้กับทั้ง JupyterLab 3 (แนะนำ) และ JupyterLab 1 ที่ทำงานภายในอินสแตนซ์โน้ตบุ๊ก Studio และ SageMaker มันทำจากเชลล์สคริปต์ที่ทำสิ่งต่อไปนี้ตามตัวเลือก

สำหรับ Studio (ตัวเลือก A) เชลล์สคริปต์จะทำสิ่งต่อไปนี้:

สำหรับอินสแตนซ์โน้ตบุ๊ก SageMaker (ตัวเลือก B) เชลล์สคริปต์จะทำสิ่งต่อไปนี้:

  • ติดตั้งรหัสเซิร์ฟเวอร์
  • เพิ่มทางลัดโค้ดเซิร์ฟเวอร์บนเมนูไฟล์โน้ตบุ๊ก Jupyter และตัวเรียกใช้งาน JupyterLab เพื่อการเข้าถึง IDE อย่างรวดเร็ว
  • สร้างสภาพแวดล้อม Conda เฉพาะสำหรับการจัดการการขึ้นต่อกัน
  • ติดตั้ง หลาม และ นักเทียบท่า ส่วนขยายบน IDE

ในส่วนต่อไปนี้ เราจะอธิบายขั้นตอนการติดตั้งโซลูชันสำหรับตัวเลือก A และตัวเลือก B ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์เข้าถึง Studio หรืออินสแตนซ์โน้ตบุ๊ก

ตัวเลือก A: โฮสต์โค้ดเซิร์ฟเวอร์บน Studio

ในการโฮสต์โค้ดเซิร์ฟเวอร์บน Studio ให้ทำตามขั้นตอนต่อไปนี้:

  1. Choose เทอร์มินัลระบบ ในตัวเปิด Studio ของคุณ
    ml-10244-studio-terminal-คลิก
  2. ในการติดตั้งโซลูชันเซิร์ฟเวอร์โค้ด ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลระบบของคุณ:
    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

    คำสั่งควรใช้เวลาสองสามวินาทีจึงจะเสร็จสมบูรณ์

  3. โหลดหน้าเบราว์เซอร์ซ้ำ ซึ่งคุณจะเห็น โค้ดเซิร์ฟเวอร์ ปุ่มในตัวเรียกใช้งาน Studio ของคุณ
    ปุ่ม ml-10244-code-server
  4. Choose โค้ดเซิร์ฟเวอร์ เพื่อเปิดแท็บเบราว์เซอร์ใหม่ ให้คุณเข้าถึงโค้ดเซิร์ฟเวอร์จากเบราว์เซอร์ของคุณ
    ติดตั้งส่วนขยาย Python แล้ว และคุณสามารถเริ่มทำงานในโครงการ ML ของคุณได้ml-10244-vscode.php?

คุณสามารถเปิดโฟลเดอร์โครงการของคุณในรหัส VS และเลือกสภาพแวดล้อม Conda ที่สร้างไว้ล่วงหน้าเพื่อเรียกใช้สคริปต์ Python ของคุณ

ml-10244-vscode-conda

ติดตั้งโค้ดเซิร์ฟเวอร์โดยอัตโนมัติสำหรับผู้ใช้ในโดเมน Studio

ในฐานะผู้ดูแลระบบไอที คุณสามารถทำให้การติดตั้งสำหรับผู้ใช้ Studio เป็นแบบอัตโนมัติได้โดยใช้ a การกำหนดค่าวงจรชีวิต. สามารถทำได้สำหรับโปรไฟล์ของผู้ใช้ทั้งหมดภายใต้โดเมน Studio หรือเฉพาะบางโปรไฟล์ ดู ปรับแต่ง Amazon SageMaker Studio โดยใช้การกำหนดค่าวงจรชีวิต .

สำหรับโพสต์นี้ เราสร้างการกำหนดค่าวงจรชีวิตจาก ติดตั้ง-codeserver สคริปต์และแนบไปกับโดเมน Studio ที่มีอยู่ การติดตั้งเสร็จสิ้นสำหรับโปรไฟล์ผู้ใช้ทั้งหมดในโดเมน

จากเทอร์มินัลที่กำหนดค่าด้วย AWS CLI และการอนุญาตที่เหมาะสม ให้รันคำสั่งต่อไปนี้:

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.

หลังจาก Jupyter Server รีสตาร์ท ตัว โค้ดเซิร์ฟเวอร์ ปุ่มจะปรากฏในตัวเรียกใช้งาน Studio ของคุณ

ตัวเลือก B: โฮสต์โค้ดเซิร์ฟเวอร์บนอินสแตนซ์โน้ตบุ๊ก SageMaker

ในการโฮสต์โค้ดเซิร์ฟเวอร์บนอินสแตนซ์โน้ตบุ๊ก SageMaker ให้ทำตามขั้นตอนต่อไปนี้:

  1. เปิดเทอร์มินัลผ่าน Jupyter หรือ JupyterLab สำหรับอินสแตนซ์โน้ตบุ๊กของคุณ
    หากคุณใช้ Jupyter ให้เลือก สถานีปลายทาง บน ใหม่ เมนู
    โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  2.  ในการติดตั้งโซลูชันเซิร์ฟเวอร์โค้ด ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
    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

    การติดตั้งโค้ดเซิร์ฟเวอร์และส่วนขยายจะยังคงอยู่บนอินสแตนซ์โน้ตบุ๊ก อย่างไรก็ตาม หากคุณหยุดหรือรีสตาร์ทอินสแตนซ์ คุณต้องเรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่าเซิร์ฟเวอร์รหัสใหม่:

    sudo ./setup-codeserver.sh

    คำสั่งควรใช้เวลาสองสามวินาทีในการรัน คุณสามารถปิดแท็บเทอร์มินัลเมื่อคุณเห็นสิ่งต่อไปนี้

    ml-10244-ขั้วเอาท์พุท

  3. ตอนนี้โหลดหน้า Jupyter ใหม่แล้วตรวจสอบ ใหม่ เมนูอีกแล้ว
    พื้นที่ โค้ดเซิร์ฟเวอร์ ตัวเลือกควรจะพร้อมใช้งานแล้ว
    โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

คุณยังสามารถเปิดโค้ดเซิร์ฟเวอร์จาก JupyterLab ได้โดยใช้ปุ่มตัวเปิดใช้เฉพาะ ดังที่แสดงในภาพหน้าจอต่อไปนี้

ml-10244-jupyterlab-code-server-ปุ่ม

เลือก โค้ดเซิร์ฟเวอร์ จะเปิดแท็บเบราว์เซอร์ใหม่ ให้คุณเข้าถึงโค้ดเซิร์ฟเวอร์จากเบราว์เซอร์ของคุณ ส่วนขยาย Python และ Docker ได้รับการติดตั้งแล้ว และคุณสามารถเริ่มทำงานในโครงการ ML ของคุณได้

ml-10244-notebook-vscode.dll

ติดตั้งโค้ดเซิร์ฟเวอร์โดยอัตโนมัติบนอินสแตนซ์โน้ตบุ๊ก

ในฐานะผู้ดูแลระบบไอที คุณสามารถทำให้โค้ดเซิร์ฟเวอร์ติดตั้งโดยอัตโนมัติด้วย a การกำหนดค่าวงจรชีวิต ทำงานบนการสร้างอินสแตนซ์ และทำให้การตั้งค่าเป็นอัตโนมัติโดยเรียกใช้เมื่อเริ่มต้นอินสแตนซ์

ที่นี่ เราสร้างตัวอย่างอินสแตนซ์โน้ตบุ๊กและการกำหนดค่าวงจรชีวิตโดยใช้ AWS CLI. on-create config รัน ติดตั้ง-codeserverและ on-start ทำงาน การตั้งค่าเซิร์ฟเวอร์โค้ด.

จากเทอร์มินัลที่กำหนดค่าด้วย AWS CLI และการอนุญาตที่เหมาะสม ให้รันคำสั่งต่อไปนี้:

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.

ขณะนี้การติดตั้งโค้ดเซิร์ฟเวอร์เป็นแบบอัตโนมัติสำหรับอินสแตนซ์โน้ตบุ๊ก

สรุป

กับ รหัสเซิร์ฟเวอร์ โฮสต์บน SageMaker ทีม ML สามารถเรียกใช้ VS Code บนคลาวด์คอมพิวติ้งที่ปรับขนาดได้ โค้ดจากทุกที่ และเพิ่มความเร็วในการส่งมอบโปรเจ็กต์ ML ของพวกเขา สำหรับผู้ดูแลระบบไอที ผู้ดูแลระบบไอทีสามารถกำหนดมาตรฐานและเร่งการจัดเตรียม IDE ที่มีการจัดการและปลอดภัยในคลาวด์ เพื่อเตรียมความพร้อมและเปิดใช้งานทีม ML ในโครงการได้อย่างรวดเร็ว

ในโพสต์นี้ เราได้แชร์โซลูชันที่คุณสามารถใช้เพื่อติดตั้งโค้ดเซิร์ฟเวอร์อย่างรวดเร็วบนอินสแตนซ์ของ Studio และโน้ตบุ๊ก เราแชร์ขั้นตอนการติดตั้งด้วยตนเองซึ่งทีม ML สามารถเรียกใช้ได้ด้วยตนเอง และการติดตั้งอัตโนมัติที่ผู้ดูแลระบบไอทีสามารถตั้งค่าได้

หากต้องการเรียนรู้เพิ่มเติม โปรดไปที่ AW บางคน SageMaker บน GitHub เพื่อค้นหาทรัพยากรที่เกี่ยวข้องและเป็นปัจจุบันทั้งหมดที่จำเป็นสำหรับการทำงานกับ SageMaker


เกี่ยวกับผู้เขียน

โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.จูเซปเป้ แองเจโล พอร์เชลลี เป็นหัวหน้าสถาปนิกโซลูชันผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่องสำหรับ Amazon Web Services ด้วยภูมิหลังด้านวิศวกรรมซอฟต์แวร์เป็นเวลาหลายปี เขาทำงานร่วมกับลูกค้าทุกขนาดเพื่อทำความเข้าใจธุรกิจและความต้องการทางเทคนิคอย่างลึกซึ้ง และออกแบบโซลูชัน AI และ Machine Learning ที่ใช้ประโยชน์สูงสุดจากกอง AWS Cloud และ Amazon Machine Learning เขาได้ทำงานในโครงการต่างๆ ในโดเมนต่างๆ รวมถึง MLOps, Computer Vision, NLP และเกี่ยวข้องกับบริการของ AWS ในวงกว้าง ในเวลาว่าง Giuseppe สนุกกับการเล่นฟุตบอล

โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.โซเฟียน ฮามิตี เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญด้าน AI/ML ที่ AWS เขาช่วยลูกค้าในอุตสาหกรรมต่างๆ เร่งความเร็วเส้นทาง AI/ML โดยช่วยให้พวกเขาสร้างและดำเนินการโซลูชันการเรียนรู้ของเครื่องแบบ end-to-end

โฮสต์โค้ดเซิร์ฟเวอร์บน Amazon SageMaker PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.เอริค พีน่า เป็นผู้จัดการผลิตภัณฑ์ด้านเทคนิคอาวุโสในทีม AWS Artificial Intelligence Platforms ซึ่งทำงานกับ Amazon SageMaker Interactive Machine Learning ปัจจุบันเขามุ่งเน้นไปที่การรวม IDE บน SageMaker Studio เขาสำเร็จการศึกษาระดับปริญญาโทด้านบริหารธุรกิจจาก MIT Sloan และชอบเล่นบาสเก็ตบอลและฟุตบอลนอกเวลางาน

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS