

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

# JupyterLab 사용 설명서
<a name="studio-updated-jl-user-guide"></a>

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

JupyterLab은 프라이빗 스페이스와 공유 스페이스를 모두 지원합니다. 프라이빗 스페이스는 도메인의 단일 사용자로 범위가 지정됩니다. 공유 스페이스를 사용하면 도메인의 다른 사용자가 실시간으로 사용자와 협업할 수 있습니다. Studio 스페이스에 대한 자세한 내용은 [Amazon SageMaker Studio 스페이스](studio-updated-spaces.md) 섹션을 참조하세요.

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

관리자가 사용자의 스페이스에 대한 기본 Amazon EBS 스토리지 설정을 구성했습니다. 기본 스토리지 크기는 5GB이지만 얻는 스페이스를 늘릴 수 있습니다. 관리자와 상의하여 지침을 제공할 수 있습니다.

JupyterLab을 실행하는 데 사용하는 Amazon EC2 인스턴스 유형을 전환하여 필요에 따라 컴퓨팅을 확장하거나 축소할 수 있습니다. **빠른 시작** 인스턴스는 다른 인스턴스보다 훨씬 빠르게 시작됩니다.

관리자가 환경을 사용자 지정하는 수명 주기 구성을 제공할 수 있습니다. 스페이스를 생성할 때 수명 주기 구성을 지정할 수 있습니다.

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

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

Amazon EBS 볼륨은 인스턴스의 수명과 독립적으로 유지됩니다. 인스턴스를 변경해도 데이터가 손실되지 않습니다. conda 및 pip 패키지 관리 라이브러리를 사용하여 인스턴스 유형을 전환할 때에도 지속되는 재현 가능한 사용자 지정 환경을 생성합니다.

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

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

**참고**  
Studio 내에서 수명 주기 구성을 사용하여 환경을 사용자 지정할 수 있지만 대신 패키지 관리자를 사용하는 것이 좋습니다. 수명 주기 구성을 사용하는 것은 오류가 발생하기 쉬운 방법입니다. 수명 주기 구성 스크립트를 디버깅하는 것보다 종속성을 추가하거나 제거하는 것이 더 쉽습니다. 또한 JupyterLab 시작 시간을 늘릴 수도 있습니다.  
수명 주기 구성에 대해서는 [JupyterLab을 사용한 수명 주기 구성](jl-lcc.md) 섹션을 참조하세요.

**Topics**
+ [스페이스 생성](studio-updated-jl-user-guide-create-space.md)
+ [스페이스 구성](studio-updated-jl-user-guide-configure-space.md)
+ [패키지 관리자를 사용하여 환경 사용자 지정](studio-updated-jl-user-guide-customize-package-manager.md)
+ [conda 환경 정리](studio-updated-jl-clean-up-conda.md)
+ [인스턴스 유형 간에 conda 환경 공유](studio-updated-jl-create-conda-share-environment.md)
+ [Amazon Q를 사용하여 Machine Learning 워크플로 가속화](studio-updated-jl-user-guide-use-amazon-q.md)

# 스페이스 생성
<a name="studio-updated-jl-user-guide-create-space"></a>

JupyterLab 사용을 시작하려면 공백을 생성하거나 관리자가 생성한 공백을 선택하고 JupyterLab을 엽니다.

다음 절차에 따라 공백을 생성하고 JupyterLab을 엽니다.

**스페이스를 생성하고 JupyterLab을 열려면**

1. Studio를 엽니다. Studio 열기에 대한 자세한 내용은 [Amazon SageMaker Studio 출시](studio-updated-launch.md) 섹션을 참조하세요.

1. **JupyterLab**을 선택합니다.

1. **JupyterLab 스페이스 생성**을 선택합니다.

1. **이름**에서 스페이스의 이름을 지정합니다.

1. (선택 사항) 공유 스페이스를 생성하려면 **내 도메인과** 공유를 선택합니다.

1. **스페이스 생성**을 선택합니다.

1. (선택 사항) **인스턴스**에서 스페이스를 실행하는 Amazon EC2 인스턴스를 지정합니다.

1. (선택 사항) **이미지**에서 관리자가 환경을 사용자 지정하기 위해 제공한 이미지를 지정합니다.
**중요**  
Studio 사용자가 스페이스를 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 사용자 지정 이미지를 볼 수 있는 이미지(`sagemaker: ListImage`)를 나열할 수 있는 권한도 부여해야 합니다. 권한을 추가하려면 *AWS Identity and Access Management* 사용 설명서의 [ID 권한 추가 또는 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.  
[AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)은 SageMaker AI 리소스를 생성할 수 있는 권한을 부여합니다. 여기에는 해당 리소스를 생성하는 동안 이미지를 나열할 수 있는 권한이 이미 포함되어 있습니다.

1. (선택 사항) **스페이스 설정**에서 다음을 지정합니다.
   + **스토리지(GB)** - 최대 100GB 또는 관리자가 지정하는 양입니다.
   + **수명 주기 구성** - 관리자가 지정하는 수명 주기 구성입니다.
   + **사용자 지정 EFS 파일 시스템 연결** - 관리자가 액세스를 제공하는 Amazon EFS입니다.

1. **스페이스 실행**을 선택합니다.

1. **JupyterLab 열기**를 선택합니다.

# 스페이스 구성
<a name="studio-updated-jl-user-guide-configure-space"></a>

JupyterLab 스페이스를 생성한 후 다음을 수행하도록 구성할 수 있습니다.
+ 인스턴스 유형을 변경합니다.
+ 스토리지 볼륨을 변경합니다.
+ (관리자 설정 필요) 사용자 지정 이미지를 사용합니다.
+ (관리자 설정 필요) 수명 주기 구성을 사용합니다.
+ (관리자 설정 필요) 사용자 지정 Amazon EFS 연결합니다.

**중요**  
JupyterLab 스페이스를 구성할 때마다 중지해야 합니다. 스페이스를 구성하려면 다음 절차를 사용합니다.

**스페이스를 구성하려면**

1. Studio 내에서 JupyterLab 애플리케이션 페이지로 이동합니다.

1. 스페이스의 이름을 선택합니다.

1. (선택 사항) **이미지**에서 관리자가 환경을 사용자 지정하기 위해 제공한 이미지를 지정합니다.
**중요**  
Studio 사용자가 스페이스를 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 사용자 지정 이미지를 볼 수 있는 이미지(`sagemaker: ListImage`)를 나열할 수 있는 권한도 부여해야 합니다. 권한을 추가하려면 *AWS Identity and Access Management* 사용 설명서의 [ID 권한 추가 또는 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.  
[AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)은 SageMaker AI 리소스를 생성할 수 있는 권한을 부여합니다. 여기에는 해당 리소스를 생성하는 동안 이미지를 나열할 수 있는 권한이 이미 포함되어 있습니다.

1. (선택 사항) **스페이스 설정**에서 다음을 지정합니다.
   + **스토리지(GB)** - 최대 100GB 또는 관리자가 스페이스에 구성한 양입니다.
   + **수명 주기 구성** - 관리자가 제공하는 수명 주기 구성입니다.
   + **사용자 지정 EFS 파일 시스템 연결** - 관리자가 액세스를 제공하는 Amazon EFS입니다.

1. **스페이스 실행**을 선택합니다.

JupyterLab 애플리케이션을 열면 스페이스가 업데이트된 구성을 갖습니다.

# 패키지 관리자를 사용하여 환경 사용자 지정
<a name="studio-updated-jl-user-guide-customize-package-manager"></a>

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

## 사용자 지정 환경 생성 및 활성화
<a name="studio-updated-jl-create-basic-conda"></a>

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

기본 conda 환경에는 SageMaker AI의 워크플로에 필요한 최소 개수의 패키지가 있습니다. 다음 템플릿을 사용하여 기본 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 환경은 화면의 오른쪽 상단 모서리에 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/juptyer-notebook-environment-location.png)


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

![\[체크마크와 해당 텍스트는 이전에 생성한 예제 환경을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/jupyter-notebook-select-env.png)


**선택**을 선택하여 환경의 커널을 선택합니다.

## 특정 Python 버전으로 conda 환경 생성
<a name="studio-updated-jl-create-conda-version"></a>

사용하지 않는 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 환경 생성
<a name="studio-updated-jl-create-conda-specific-packages"></a>

다음 템플릿을 사용하여 특정 버전의 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 복제
<a name="studio-updated-jl-create-conda-clone"></a>

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 복제
<a name="studio-updated-jl-create-conda-yaml"></a>

참조 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 env create -f environment.yml

# activate your env
conda activate py311-new-env
```

# conda 환경 정리
<a name="studio-updated-jl-clean-up-conda"></a>

사용하지 않는 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
```

# 인스턴스 유형 간에 conda 환경 공유
<a name="studio-updated-jl-create-conda-share-environment"></a>

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

**중요**  
환경 공유에는 제한이 있습니다. 예를 들어 CPU 인스턴스에서 실행되는 환경을 통해 GPU Amazon EC2 인스턴스에서 실행하기 위한 환경은 권장하지 않습니다.

다음 명령을 템플릿으로 사용하여 사용자 지정 환경을 생성할 대상 디렉터리를 지정합니다. 특정 경로 내에 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를 사용하여 Machine Learning 워크플로 가속화
<a name="studio-updated-jl-user-guide-use-amazon-q"></a>

Amazon Q Developer는 기계 학습 개발을 위한 AI 기반 동반자입니다. Amazon Q Developer를 사용하면 다음을 수행할 수 있습니다.
+ SageMaker AI 기능을 독립적으로 또는 다른 AWS 서비스와 함께 사용하는 방법에 대한 step-by-step 지침을 받습니다.
+ 샘플 코드를 가져와 데이터 준비, 훈련, 추론, MLOps 작업을 시작합니다.
+ 코드를 실행하는 동안 발생하는 오류를 디버깅하고 해결하기 위한 문제 해결 지원을 받습니다.

Amazon Q Developer는 JupyterLab 환경에 원활하게 통합됩니다. Amazon Q Developer를 사용하려면 JupyterLab 환경 또는 Code Editor 환경의 왼쪽 탐색에서 **Q**를 선택합니다.

**Q** 아이콘이 표시되지 않으면 관리자가 사용자를 위해 Q 아이콘을 설정해야 합니다. Amazon Q Developer 설정에 대한 자세한 내용은 [사용자를 위한 Amazon Q Developer 설정](studio-updated-amazon-q-admin-guide-set-up.md) 섹션을 참조하세요.

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