외부 라이브러리 및 커널 설치 - 아마존 SageMaker

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

외부 라이브러리 및 커널 설치

중요

현재 노트북 인스턴스 환경의 모든 패키지는 SageMaker Amazon에서 사용할 수 있는 라이선스를 받았으며 추가 상용 라이선스가 필요하지 않습니다. 하지만 향후 변경될 수 있으므로 라이선스 약관을 정기적으로 검토하여 업데이트가 있는지 확인하는 것이 좋습니다.

Amazon SageMaker 노트북 인스턴스에는 여러 환경이 이미 설치되어 있습니다. 이러한 환경에는 scikit, Pandas,, 등을 포함한 Jupyter 커널과 Python 패키지가 포함되어 있습니다. NumPy TensorFlow MXNet sample-notebooks 폴더에 있는 모든 파일과 함께 이러한 환경을 노트북 인스턴스를 중지하고 시작할 때 새로 고침됩니다. 또한 원하는 패키지 및 커널이 포함된 고유 환경을 설치할 수도 있습니다.

Amazon SageMaker 노트북 인스턴스의 다양한 Jupyter 커널은 별도의 conda 환경입니다. Conda 환경에 대한 자세한 내용은 환경 관리를 참조하세요.

노트북 인스턴스의 Amazon EBS 볼륨에 사용자 지정 환경 및 커널을 설치합니다. 이렇게 하면 노트북 인스턴스를 중지하고 다시 시작해도 해당 라이브러리가 유지되고 설치한 외부 라이브러리가 업데이트되지 않습니다. SageMaker 이를 위해서는 노트북 인스턴스를 생성할 때 실행되는 스크립트(on-create))와 노트북 인스턴스를 다시 시작할 때마다 실행되는 스크립트(on-start)가 모두 포함된 수명 주기 구성을 사용하세요. 노트북 인스턴스 수명 주기 사용에 대한 자세한 내용은 LCC스크립트를 사용하여 SageMaker 노트북 인스턴스를 사용자 지정합니다.을 참조하세요. SageMaker노트북 인스턴스 수명 주기 구성 샘플에는 샘플 수명 주기 구성 스크립트가 들어 있는 GitHub 저장소가 있습니다.

lifecycle-config-samples-/blob/master/scripts/ persistent-conda-ebs /on-create.sh 및 https://github.com/aws-samples/ amazon-sagemaker-notebook-instance https://github.com/aws-samples/ amazon-sagemaker-notebook-instance - /blob/master/scripts/ /on-start.sh 예제는 노트북 lifecycle-config-samples 인스턴스에 환경 및 커널을 설치하는 persistent-conda-ebs 모범 사례를 보여줍니다. on-create 스크립트는 ipykernel라이브러리를 설치하여 Jupyter 커널과 같은 사용자 지정 환경을 만든 다음, pip installconda install를 사용하여 라이브러리를 설치합니다. 스크립트를 수정하여 사용자 지정 환경을 만들고 원하는 라이브러리를 설치할 수 있습니다. SageMaker 노트북 인스턴스를 중지했다가 다시 시작할 때 이러한 라이브러리는 업데이트되지 않으므로 사용자 정의 환경에 원하는 특정 버전의 라이브러리가 있는지 확인할 수 있습니다. on-start스크립트는 Jupyter 커널로 생성한 모든 사용자 지정 환경을 설치하여 Jupyter의 메뉴의 드롭다운 목록에 나타나도록 합니다.

패키지 설치 도구

SageMaker 노트북은 다음 패키지 설치 도구를 지원합니다.

  • conda 설치

  • pip 설치

다음 방법을 사용하여 패키지를 설치할 수 있습니다.

노트북 내에서 시스템 명령 구문(!으로 시작하는 줄)을 사용하여 패키지를 설치할 수 있습니다(예: !pip install!conda install). 최근에는 %pip%conda 에 새 명령이 추가되었습니다IPython. 이 명령은 사용 중인 활성 환경이나 인터프리터를 정확하게 고려하므로 노트북에서 패키지를 설치할 때 권장되는 방법입니다. 자세한 내용은 %pip 및 %conda 매직 함수 추가를 참조하세요.

Conda

Conda는 패키지와 해당 종속성을 설치할 수 있는 오픈 소스 패키지 관리 시스템 및 환경 관리 시스템입니다. SageMaker 두 개의 기본 채널, 기본 채널 및 conda-forge 채널 중 하나와 함께 Conda를 사용할 수 있도록 지원합니다. 자세한 내용은 Conda 채널을 참조하세요. conda-forge 채널은 기여자가 패키지를 업로드할 수 있는 커뮤니티 채널입니다.

참고

Conda가 종속성 그래프를 해결하는 방식으로 인해 conda-forge에서 패키지를 설치하는 데 훨씬 더 오래 걸릴 수 있습니다 (최악의 경우 10분 이상).

딥 AMI 러닝에는 많은 conda 환경과 많은 패키지가 사전 설치되어 있습니다. 사전 설치된 패키지 수가 많기 때문에 호환성이 보장되는 패키지 세트를 찾기가 어렵습니다. “환경이 일관되지 않습니다.패키지 플랜을 주의 깊게 확인하세요”라는 경고가 표시될 수 있습니다. 이 경고에도 불구하고 SageMaker 제공된 모든 환경이 올바른지 확인하십시오. SageMaker SageMaker 사용자가 설치한 패키지가 제대로 작동한다고 보장할 수 없습니다.

참고

AWS Deep Learning AMIs 및 Amazon의 SageMaker 사용자는 해당 서비스에서 Anaconda를 사용할 경우 2024년 2월 1일까지 상용 라이선스를 취득하지 않고도 상업용 Anaconda 리포지토리에 액세스할 EMR 수 있습니다. 2024년 2월 1일 이후에 상업용 Anaconda 리포지토리를 사용하는 경우 고객은 자체 Anaconda 라이선스 요구 사항을 결정해야 합니다.

Conda에는 환경을 활성화하는 두 가지 방법(conda 활성화/비활성화 및 소스 활성화/비활성화)이 있습니다. 자세한 내용은 Linux에서 'conda 활성화' 또는 '소스 활성화'를 사용해야 합니까?를 참조하세요.

SageMaker Conda 환경을 Amazon 볼륨으로 이동하는 것을 지원합니다. Amazon EBS 볼륨은 인스턴스가 중지되어도 유지됩니다. 기본 동작인 루트 볼륨에 환경을 설치하면 환경이 지속되지 않습니다. 수명 주기 스크립트의 예는 을 참조하십시오. persistent-conda-ebs

지원되는 conda 작업(이 항목 하단의 참고 참조)
  • 단일 환경에서 패키지의 conda 설치

  • 모든 환경에서 패키지의 conda 설치

  • R 환경에 R 패키지를 conda 설치

  • 기본 conda 리포지토리에서 패키지 설치

  • conda-forge에서 패키지 설치

  • 사용할 Conda 설치 위치 변경 EBS

  • conda 활성화 및 소스 활성화 모두 지원

Pip

Pip은 Python 패키지를 설치하고 관리하기 위한 사실상의 도구입니다. Pip은 기본적으로 PyPI(Python Package Index)에서 패키지를 검색합니다. Conda와 달리 pip는 환경 지원이 내장되어 있지 않으며 네이티브/시스템 라이브러리 종속성이 있는 패키지의 경우 Conda만큼 철저하지 않습니다. Pip는 Conda 환경에 패키지를 설치하는 데 사용할 수 있습니다.

PyPI 대신 pip로 대체 패키지 리포지토리를 사용할 수 있습니다. 수명 주기 스크립트 예제는 on-start.sh를 참조하세요.

지원되는 pip 연산(이 항목 하단의 참고 참조)
  • pip을 사용하여 활성 conda 환경 없이 패키지 설치(시스템 전체에 패키지 설치)

  • pip를 사용하여 conda 환경에 패키지 설치

  • pip를 사용하여 모든 conda 환경에 패키지 설치

  • 사용할 pip 설치 위치 변경 EBS

  • 대체 리포지토리를 사용하여 pip로 패키지 설치

지원되지 않음

SageMaker 가능한 한 많은 패키지 설치 작업을 지원하는 것을 목표로 합니다. 그러나 SageMaker 또는 DLAMI 에 의해 패키지를 설치하고 이러한 패키지에 다음 작업을 사용하면 노트북 인스턴스가 불안정해질 수 있습니다.

  • 설치 제거

  • 다운그레이드

  • 업그레이드

yum install을 통한 패키지 설치 또는 에서 CRAN R 패키지 설치에 대한 지원은 제공하지 않습니다.

네트워크 상태 또는 구성, Conda 또는 가용성과 관련된 잠재적 문제로 인해 패키지가 고정되거나 PyPi 확정된 시간 내에 설치될 것이라고 보장할 수 없습니다.

참고

패키지 설치가 성공적일 것이라고 보장할 수 없습니다. 호환되지 않는 종속성이 있는 환경에서 패키지를 설치하려고 하면 오류가 발생할 수 있습니다. 이 경우 라이브러리 관리자에게 문의하여 패키지 종속성을 업데이트할 수 있는지 확인해야 합니다. 또는 설치를 허용하는 방식으로 환경을 수정할 수도 있습니다. 그러나 이러한 수정은 기존 패키지를 제거하거나 업데이트해야 할 수 있으며, 이는 더 이상 이 환경의 안정성을 보장할 수 없음을 의미합니다.