JupyterLab 사용자 가이드 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

JupyterLab 사용자 가이드

이 가이드에서는 JupyterLab 사용자에게 SageMaker Studio 내에서 분석 및 기계 학습 워크플로를 실행하는 방법을 보여줍니다. 빠른 스토리지를 확보하고 필요에 따라 컴퓨팅을 확장하거나 축소할 수 있습니다.

JupyterLab 개인 공간과 공유 공간을 모두 지원합니다. 프라이빗 스페이스의 범위는 도메인의 단일 사용자로 제한됩니다. 공유 공간을 사용하면 도메인의 다른 사용자가 실시간으로 협업할 수 있습니다. Studio 스페이스에 대한 자세한 내용은 을 참조하십시오아마존 SageMaker 스튜디오 스페이스.

사용을 JupyterLab 시작하려면 스페이스를 만들고 JupyterLab 애플리케이션을 실행하십시오. JupyterLab 애플리케이션을 실행하는 공간은 JupyterLab 공간입니다. 이 JupyterLab 공간은 컴퓨팅에 단일 Amazon EC2 인스턴스를 사용하고 스토리지에는 단일 Amazon EBS 볼륨을 사용합니다. 코드, git 프로필, 환경 변수 등 공간에 있는 모든 것이 동일한 Amazon EBS 볼륨에 저장됩니다. 볼륨의 IOPS는 3000이고 처리량은 초당 125메가바이트 (MBps) 입니다. 고속 스토리지를 사용하여 동일한 인스턴스에서 여러 Jupyter 노트북을 열고 실행할 수 있습니다. 노트북의 커널을 매우 빠르게 전환할 수도 있습니다.

관리자가 공간에 대한 기본 Amazon EBS 스토리지 설정을 구성했습니다. 기본 스토리지 크기는 5GB이지만 필요한 공간을 늘릴 수 있습니다. 관리자에게 문의하여 지침을 제공할 수 있습니다.

실행하는 JupyterLab 데 사용하는 Amazon EC2 인스턴스 유형을 전환하여 필요에 따라 컴퓨팅 규모를 늘리거나 줄일 수 있습니다. 빠른 시작 인스턴스는 다른 인스턴스보다 훨씬 빠르게 시작됩니다.

관리자가 환경을 사용자 지정하는 수명 주기 구성을 제공할 수 있습니다. 공간을 만들 때 수명 주기 구성을 지정할 수 있습니다.

관리자가 Amazon EFS에 대한 액세스 권한을 부여한 경우, 사용자는 액세스하도록 JupyterLab 공간을 구성할 수 있습니다.

기본적으로 JupyterLab 애플리케이션은 SageMaker 배포 이미지를 사용합니다. 여기에는 많은 기계 학습, 분석 및 딥 러닝 패키지에 대한 지원이 포함됩니다. 하지만 사용자 지정 이미지가 필요한 경우 관리자가 사용자 지정 이미지에 대한 액세스를 제공할 수 있습니다.

Amazon EBS 볼륨은 인스턴스의 수명과 무관하게 지속됩니다. 인스턴스를 변경해도 데이터가 손실되지 않습니다. conda 및 pip 패키지 관리 라이브러리를 사용하여 인스턴스 유형을 전환해도 유지되는 재현 가능한 사용자 지정 환경을 만들 수 있습니다.

사용을 JupyterLab 시작하려면 스페이스를 생성하거나 관리자가 생성한 스페이스를 선택하여 여십시오. JupyterLab

다음 절차에 따라 스페이스를 만들고 엽니다 JupyterLab.

스페이스를 만들고 열려면 JupyterLab
  1. Studio를 엽니다. Studio를 여는 방법에 대한 자세한 내용은 을 참조하십시오아마존 SageMaker 스튜디오 시작.

  2. 선택하세요 JupyterLab.

  3. JupyterLab 스페이스 만들기를 선택합니다.

  4. 이름에 스페이스 이름을 지정합니다.

  5. (선택 사항) 공유 공간을 만들려면 내 도메인과 공유를 선택합니다.

  6. 공간 만들기를 선택합니다.

  7. (선택 사항) 인스턴스의 경우 공간을 실행하는 Amazon EC2 인스턴스를 지정합니다.

  8. (선택 사항) 이미지의 경우 관리자가 환경을 사용자 지정하기 위해 제공한 이미지를 지정합니다.

  9. (선택 사항) 스페이스 설정의 경우 다음을 지정합니다.

    • 스토리지 (GB) - 최대 100GB 또는 관리자가 지정하는 용량

    • 수명 주기 구성 - 관리자가 지정하는 수명 주기 구성입니다.

    • 사용자 지정 EFS 파일 시스템 연결 — 관리자가 액세스 권한을 제공하는 Amazon EFS입니다.

  10. '런 스페이스'를 선택합니다.

  11. [열기] 를 선택합니다 JupyterLab.

공간 구성

JupyterLab 스페이스를 생성한 후 다음 작업을 수행하도록 구성할 수 있습니다.

  • 인스턴스 유형을 변경합니다.

  • 스토리지 볼륨을 변경합니다.

  • (관리자 설정 필요) 사용자 지정 이미지를 사용하세요.

  • (관리자 설정 필요) 라이프사이클 구성을 사용하세요.

  • (관리자 설정 필요) 사용자 지정 Amazon EFS를 연결합니다.

중요

공간을 구성할 때마다 JupyterLab 공간을 중지해야 합니다. 다음 절차를 사용하여 공간을 구성하십시오.

공간을 구성하려면
  1. Studio 내에서 JupyterLab 애플리케이션 페이지로 이동합니다.

  2. 스페이스 이름을 선택합니다.

  3. (선택 사항) 이미지에는 관리자가 환경을 사용자 지정하기 위해 제공한 이미지를 지정합니다.

  4. (선택 사항) 스페이스 설정의 경우 다음을 지정합니다.

    • 스토리지 (GB) - 최대 100GB 또는 관리자가 해당 공간에 구성한 용량입니다.

    • 수명 주기 구성 - 관리자가 제공하는 수명 주기 구성입니다.

    • 사용자 지정 EFS 파일 시스템 연결 — 관리자가 액세스 권한을 제공하는 Amazon EFS입니다.

  5. '런 스페이스'를 선택합니다.

JupyterLab 애플리케이션을 열면 공간 구성이 업데이트됩니다.

연 JupyterLab 후 터미널을 사용하여 환경을 구성할 수 있습니다. 터미널을 열려면 런처로 이동한 다음 터미널을 선택합니다.

다음은 환경을 구성할 수 있는 다양한 방법의 예시입니다. JupyterLab

참고

Studio 내에서 수명 주기 구성을 사용하여 환경을 사용자 지정할 수 있지만 대신 패키지 관리자를 사용하는 것이 좋습니다. 수명 주기 구성을 사용하면 오류가 발생하기 쉽습니다. 수명 주기 구성 스크립트를 디버깅하는 것보다 종속성을 추가하거나 제거하는 것이 더 쉽습니다. 또한 JupyterLab 시작 시간이 길어질 수 있습니다.

라이프사이클 구성에 대한 자세한 내용은 을 참조하십시오라이프사이클 구성 사용 JupyterLab.

패키지 관리자를 사용하여 환경을 사용자 정의하십시오.

pip 또는 conda를 사용하여 환경을 사용자 지정합니다. 라이프사이클 구성 스크립트 대신 패키지 관리자를 사용하는 것이 좋습니다.

사용자 지정 환경을 만들고 활성화하세요.

이 섹션에서는 환경을 구성할 수 있는 다양한 방법의 예를 제공합니다 JupyterLab.

기본 conda 환경에는 워크플로에 SageMaker 필요한 최소 패키지 수가 있습니다. 다음 템플릿을 사용하여 기본 conda 환경을 만드세요.

# initialize conda for shell interaction conda init # create a new fresh environment conda create --name test-env # check if your new environment is created successfully conda info --envs # activate the new environment conda activate test-env # install packages in your new conda environment conda install pip boto3 pandas ipykernel # list all packages install in your new environment conda list # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # to exit your new environment conda deactivate

다음 이미지는 생성한 환경의 위치를 보여줍니다.

test-env 환경이 화면 오른쪽 상단에 표시됩니다.

환경을 변경하려면 환경을 선택하고 드롭다운 메뉴에서 옵션을 선택합니다.

체크 표시와 해당 텍스트는 이전에 만든 예제 환경을 보여줍니다.

[Select] 를 선택하여 환경에 맞는 커널을 선택합니다.

conda 환경을 정리하세요.

사용하지 않는 conda 환경을 정리하면 디스크 공간을 확보하고 성능을 개선하는 데 도움이 될 수 있습니다. 다음 템플릿을 사용하여 conda 환경을 정리하세요.

# list your environments to select an environment to clean conda info --envs # or conda info -e # once you've selected your environment to purge conda remove --name test-env --all # run conda environment list to ensure the target environment is purged conda info --envs # or conda info -e

특정 Python 버전으로 conda 환경 만들기

사용하지 않는 conda 환경을 정리하면 디스크 공간을 확보하고 성능을 개선하는 데 도움이 될 수 있습니다. 다음 템플릿을 사용하여 conda 환경을 정리하세요.

# create a conda environment with a specific python version conda create --name py38-test-env python=3.8.10 # activate and test your new python version conda activate py38-test-env & python3 --version # Install ipykernel to facilicate env registration conda install ipykernel # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your py38 test environment conda deactivate

특정 패키지 세트를 사용하여 conda 환경을 만드세요.

다음 템플릿을 사용하여 특정 버전의 Python과 패키지 세트로 conda 환경을 만드십시오.

# prefill your conda environment with a set of packages, conda create --name py38-test-env python=3.8.10 pandas matplotlib=3.7 scipy ipykernel # activate your conda environment and ensure these packages exist conda activate py38-test-env # check if these packages exist conda list | grep -E 'pandas|matplotlib|scipy' # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

기존 환경에서 conda를 복제하십시오.

conda 환경을 복제하여 작동 상태를 보존하십시오. 테스트 환경에 주요 변경 사항을 도입하는 것에 대해 걱정할 필요 없이 복제된 환경에서 실험할 수 있습니다.

다음 명령을 사용하여 환경을 복제할 수 있습니다.

# create a fresh env from a base environment conda create --name py310-base-ext --clone base # replace 'base' with another env # activate your conda environment and ensure these packages exist conda activate py310-base-ext # install ipykernel to register your env conda install ipykernel # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

참조 YAML 파일에서 conda를 복제합니다.

참조 YAML 파일에서 conda 환경을 생성합니다. 다음은 사용할 수 있는 YAML 파일의 예입니다.

# anatomy of a reference environment.yml name: py311-new-env channels: - conda-forge dependencies: - python=3.11 - numpy - pandas - scipy - matplotlib - pip - ipykernel - pip: - git+https://github.com/huggingface/transformers

pip에서는 conda와 함께 사용할 수 없는 종속성만 지정하는 것이 좋습니다.

다음 명령을 사용하여 YAML 파일에서 conda 환경을 만들 수 있습니다.

# create your conda environment conda create -f environment.yml # activate your env conda activate py311-new-env

인스턴스 유형 간에 환경을 공유합니다.

Amazon EBS 볼륨 외부의 Amazon EFS 디렉터리에 저장하여 conda 환경을 공유할 수 있습니다. 파일을 저장한 디렉터리의 환경에 다른 사용자가 액세스할 수 있습니다.

중요

환경 공유에는 제한이 있습니다. 예를 들어, GPU Amazon EC2 인스턴스에서 실행되는 환경은 CPU 인스턴스에서 실행되는 환경보다 사용하지 않는 것이 좋습니다.

다음 명령을 템플릿으로 사용하여 사용자 지정 환경을 생성할 대상 디렉토리를 지정합니다. 특정 경로 내에 conda를 만들고 있습니다. Amazon EFS 디렉터리 내에서 생성합니다. 새 인스턴스를 가동하고 conda 활성화 경로를 수행하고 Amazon EFS 내에서 이 작업을 수행할 수 있습니다.

# if you know your environment path for your conda environment conda create --prefix /home/sagemaker-user/my-project/py39-test python=3.9 # activate the env with full path from prefix conda activate home/sagemaker-user/my-project/py39-test # parse env name information from your new environment export CURRENT_ENV_NAME=$(conda info | grep "active environment" | awk -F' : ' '{print $2}' | awk -F'/' '{print $NF}') # register your new environment as Jupyter Kernel for execution python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env-prefix:($CURRENT_ENV_NAME)" # deactivate your conda environment conda deactivate

Amazon Q를 사용하여 기계 학습 워크플로를 가속화하십시오.

Amazon Q Developer는 기계 학습 개발을 위한 AI 기반 동반자입니다. Amazon Q 개발자를 사용하면 다음을 수행할 수 있습니다.

  • SageMaker 기능을 독립적으로 사용하거나 다른 AWS 서비스와 함께 사용하는 방법에 대한 step-by-step 지침을 받으십시오.

  • 샘플 코드를 받아 데이터 준비, 교육, 추론, MLOP와 같은 ML 작업을 시작하세요.

  • 에서 코드를 실행하는 동안 발생한 오류를 디버깅하고 해결하기 위한 문제 해결 지원을 받으세요. JupyterLab

Amazon Q Developer는 사용자 환경에 원활하게 통합됩니다. JupyterLab Amazon Q Developer를 사용하려면 JupyterLab 환경 왼쪽 탐색에서 Q를 선택하십시오.

Q 아이콘이 보이지 않는 경우 관리자가 대신 설정해야 합니다. Amazon Q 개발자 설정에 대한 자세한 내용은 을 참조하십시오사용자를 위한 Amazon Q 개발자 설정.

Amazon Q는 코드 작성에 도움이 되는 제안을 자동으로 제공합니다. 채팅 인터페이스를 통해 제안을 요청할 수도 있습니다.

제안을 받으면 셀의 코드를 바꾸거나 새 셀에 추가할 수 있습니다.