Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.

Amazon SageMaker의 호스트 코드 서버

머신 러닝(ML) 팀은 프로젝트 작업 시 통합 개발 환경(IDE)을 선택할 수 있는 유연성이 필요합니다. 이를 통해 생산적인 개발자 경험을 제공하고 빠르게 혁신할 수 있습니다. 프로젝트 내에서 여러 IDE를 사용할 수도 있습니다. 아마존 세이지 메이커 ML 팀이 내에서 완전히 관리되는 클라우드 기반 환경에서 작업하도록 선택할 수 있습니다. 아마존 세이지 메이커 스튜디오, SageMaker 노트북 인스턴스, 또는 다음을 사용하여 로컬 컴퓨터에서 로컬 모드.

SageMaker는 Jupyter 및 RStudio에 원클릭 환경을 제공하여 ML 모델을 빌드, 교육, 디버그, 배포 및 모니터링합니다. 이 게시물에서 우리는 또한 공유 할 것입니다 해결책 호스팅 코드 서버 SageMaker에서.

코드 서버를 사용하면 사용자가 실행할 수 있습니다. VS 코드 원격 컴퓨터에서 웹 브라우저에서 액세스합니다. ML 팀의 경우 SageMaker에서 코드 서버를 호스팅하면 로컬 개발 환경에 대한 변경을 최소화하고 확장 가능한 클라우드 컴퓨팅에서 어디에서나 코딩할 수 있습니다. VS Code를 사용하면 AWS에 최적화된 TensorFlow 및 PyTorch, 관리형 Git 리포지토리, 로컬 모드 및 SageMaker에서 제공하는 기타 기능이 있는 기본 제공 Conda 환경을 사용하여 전송 속도를 높일 수도 있습니다. IT 관리자의 경우 클라우드에서 관리되는 보안 IDE의 프로비저닝을 표준화하고 가속화하여 프로젝트에서 ML 팀을 신속하게 온보딩하고 활성화할 수 있습니다.

솔루션 개요

이 게시물에서는 Studio 환경(옵션 A)과 노트북 인스턴스(옵션 B) 모두에 대한 설치를 다룹니다. 각 옵션에 대해 ML 팀이 해당 환경에서 실행할 수 있는 수동 설치 프로세스와 IT 관리자가 AWS 명령 줄 인터페이스 (AWS CLI).

다음 다이어그램은 SageMaker에서 코드 서버를 호스팅하기 위한 아키텍처 개요를 보여줍니다.

당사 솔루션은 귀하의 환경에서 코드 서버의 설치 ​​및 설정 속도를 높입니다. Studio 및 SageMaker 노트북 인스턴스 내에서 실행되는 JupyterLab 3(권장) 및 JupyterLab 1 모두에서 작동합니다. 옵션에 따라 다음을 수행하는 쉘 스크립트로 구성되어 있습니다.

Studio(옵션 A)의 경우 셸 스크립트는 다음을 수행합니다.

SageMaker 노트북 인스턴스(옵션 B)의 경우 셸 스크립트는 다음을 수행합니다.

  • 코드 서버를 설치합니다.
  • IDE에 빠르게 액세스할 수 있도록 Jupyter 노트북 파일 메뉴 및 JupyterLab 실행기에 코드 서버 바로 가기를 추가합니다.
  • 종속성을 관리하기 위한 전용 Conda 환경을 만듭니다.
  • 다음을 설치합니다. Python도커 IDE의 확장.

다음 섹션에서는 옵션 A 및 옵션 B에 대한 솔루션 설치 프로세스를 안내합니다. Studio 또는 노트북 인스턴스에 대한 액세스 권한이 있는지 확인합니다.

옵션 A: Studio의 호스트 코드 서버

Studio에서 코드 서버를 호스트하려면 다음 단계를 완료하십시오.

  1. 왼쪽 메뉴에서 시스템 터미널 Studio 런처에서.
    ml-10244-스튜디오-터미널-클릭
  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. 볼 수 있는 브라우저 페이지를 새로고침하세요. 코드 서버 버튼을 클릭합니다.
    ml-10244-코드-서버-버튼
  4. 왼쪽 메뉴에서 코드 서버 새 브라우저 탭을 열어 브라우저에서 코드 서버에 액세스할 수 있습니다.
    Python 확장이 이미 설치되어 있으며 ML 프로젝트에서 작업할 수 있습니다.ml-10244-vscode

VS Code에서 프로젝트 폴더를 열고 미리 빌드된 Conda 환경을 선택하여 Python 스크립트를 실행할 수 있습니다.

ml-10244-vscode-conda

Studio 도메인의 사용자를 위한 코드 서버 설치 자동화

IT 관리자는 다음을 사용하여 Studio 사용자의 설치를 자동화할 수 있습니다. 수명주기 구성. Studio 도메인 아래의 모든 사용자 프로필 또는 특정 프로필에 대해 수행할 수 있습니다. 보다 수명 주기 구성을 사용하여 Amazon SageMaker Studio 사용자 지정 자세한 내용은.

이 게시물에서 우리는 라이프사이클 구성을 생성합니다. 설치 코드 서버 스크립트를 작성하고 기존 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 서버가 다시 시작되면 코드 서버 버튼이 Studio 런처에 나타납니다.

옵션 B: SageMaker 노트북 인스턴스에서 호스트 코드 서버

SageMaker 노트북 인스턴스에서 코드 서버를 호스트하려면 다음 단계를 완료하십시오.

  1. 노트북 인스턴스에 대해 Jupyter 또는 JupyterLab을 통해 터미널을 시작합니다.
    Jupyter를 사용하는 경우 다음을 선택하십시오. 단말기 를 시청하여 이에 대해 더 많은 정보를 얻을 수 있습니다. 신제품 메뉴를 선택합니다.
    Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.
  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 페이지를 다시 로드하고 확인하십시오. 신제품 다시 메뉴.
    XNUMXD덴탈의 코드 서버 이제 옵션을 사용할 수 있습니다.
    Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.

다음 스크린샷과 같이 전용 실행기 버튼을 사용하여 JupyterLab에서 코드 서버를 실행할 수도 있습니다.

ml-10244-jupyterlab-코드-서버-버튼

선택 코드 서버 브라우저에서 코드 서버에 액세스할 수 있는 새 브라우저 탭이 열립니다. Python 및 Docker 확장이 이미 설치되어 있으며 ML 프로젝트에서 작업할 수 있습니다.

ml-10244-노트북-vscode

노트북 인스턴스에서 코드 서버 설치 자동화

IT 관리자는 다음을 사용하여 코드 서버 설치를 자동화할 수 있습니다. 수명주기 구성 인스턴스 생성 시 실행하고 인스턴스 시작 시 실행되는 설정을 자동화합니다.

여기에서는 다음을 사용하여 노트북 인스턴스 및 수명 주기 구성의 예를 생성합니다. AWS CLI. 그만큼 on-create 구성 실행 설치 코드 서버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 프로젝트 제공 속도를 높일 수 있습니다. IT 관리자는 이를 통해 클라우드에서 관리되고 안전한 IDE 프로비저닝을 표준화하고 가속화하여 프로젝트에서 ML 팀을 신속하게 온보딩하고 활성화할 수 있습니다.

이 게시물에서는 Studio 및 노트북 인스턴스 모두에 코드 서버를 빠르게 설치하는 데 사용할 수 있는 솔루션을 공유했습니다. ML 팀이 자체적으로 실행할 수 있는 수동 설치 프로세스와 IT 관리자가 설정할 수 있는 자동 설치를 공유했습니다.

학습 내용을 자세히 알아보려면 다음을 방문하세요. AWSome 세이지메이커 GitHub에서 SageMaker 작업에 필요한 모든 관련 최신 리소스를 찾을 수 있습니다.


저자에 관하여

Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.주세페 안젤로 포첼리 Amazon Web Services의 주요 기계 학습 전문가 솔루션 설계자입니다. 수년 간의 소프트웨어 엔지니어링 ML 배경을 가진 그는 모든 규모의 고객과 협력하여 비즈니스 및 기술 요구 사항을 깊이 이해하고 AWS 클라우드 및 Amazon Machine Learning 스택을 최대한 활용하는 AI 및 기계 학습 솔루션을 설계합니다. 그는 MLOps, Computer Vision, NLP를 비롯한 다양한 도메인에서 다양한 AWS 서비스와 관련된 프로젝트에 참여했습니다. 여가 시간에 Giuseppe는 축구를 즐깁니다.

Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.소피아 하미티 AWS의 AI / ML 전문 솔루션 아키텍트입니다. 그는 업계 전반의 고객이 엔드 투 엔드 머신 러닝 솔루션을 구축하고 운영 할 수 있도록 지원하여 AI / ML 여정을 가속화하도록 돕습니다.

Amazon SageMaker PlatoBlockchain Data Intelligence의 호스트 코드 서버. 수직 검색. 일체 포함.에릭 페나 AWS 인공 지능 플랫폼 팀의 수석 기술 제품 관리자로 Amazon SageMaker Interactive Machine Learning에서 작업하고 있습니다. 그는 현재 SageMaker Studio의 IDE 통합에 중점을 두고 있습니다. 그는 MIT Sloan에서 MBA 학위를 취득했으며 직장 밖에서는 농구와 축구를 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습