Amazon SageMaker 노트북 인스턴스 생성 - 아마존 SageMaker

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

Amazon SageMaker 노트북 인스턴스 생성

중요

Amazon SageMaker Studio 또는 Amazon Studio Classic에서 Amazon SageMaker SageMaker 리소스를 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio 및 Studio Classic은 생성한 모든 리소스에 자동으로 태그를 지정하므로 리소스에 태그를 추가할 수 있는 권한이 필요합니다. IAM 정책에 따라 Studio 및 Studio Classic에서는 리소스를 생성할 수 있지만 태깅은 허용하지 않는 경우 AccessDenied "“리소스를 생성하려고 할 때 오류가 발생할 수 있습니다. 자세한 정보는 리소스에 태그를 지정할 SageMaker 수 있는 권한 제공을 참조하세요.

AWS 아마존 관리형 정책 SageMaker리소스 생성 권한을 부여하는 내용에는 해당 SageMaker 리소스를 생성할 때 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

Amazon SageMaker 노트북 인스턴스는 Jupyter 노트북 애플리케이션을 실행하는 ML 컴퓨팅 인스턴스입니다. SageMaker 인스턴스 및 관련 리소스 생성을 관리합니다. 노트북 인스턴스의 Jupyter 노트북을 사용하여 다음을 수행할 수 있습니다.

  • 데이터 준비 및 처리

  • 모델 학습을 위한 코드 작성

  • SageMaker 호스팅에 모델 배포

  • 모델 테스트 또는 검증

노트북 인스턴스를 만들려면 SageMaker 콘솔 또는 CreateNotebookInstanceAPI.

선택하는 노트북 인스턴스 유형은 노트북 인스턴스의 사용 방식에 따라 다릅니다. 노트북 인스턴스가 메모리, CPU 또는 IO에 바인딩되지 않았는지 확인하십시오. 탐색이나 전처리를 위해 노트북 인스턴스의 메모리로 데이터세트를 로드하려면 데이터세트에 충분한 RAM 메모리가 있는 인스턴스 유형을 선택하세요. 이를 위해서는 최소 16GB 메모리 (.xlarge 이상) 가 있는 인스턴스가 필요합니다. 컴퓨팅 집약적인 사전 처리를 위해 노트북을 사용하려는 경우 c4 또는 c5와 같은 컴퓨팅 최적화 인스턴스를 선택하는 것이 좋습니다.

노트북을 사용할 때 가장 좋은 방법은 SageMaker 노트북 인스턴스를 사용하여 다른 서비스를 오케스트레이션하는 것입니다. AWS 예를 들어 노트북 인스턴스를 사용하여 대규모 데이터세트 처리를 관리할 수 있습니다. 이렇게 하려면 ETL (추출, 변환 및 로드) 서비스용 AWS Glue 또는 Amazon EMR을 호출하여 하둡을 사용한 매핑 및 데이터 감소를 요청하십시오. AWS 서비스를 임시 계산 양식이나 데이터 스토리지로 사용할 수 있습니다.

Amazon Simple Storage Service 버킷을 사용하여 교육 및 테스트 데이터를 저장하고 검색할 수 있습니다. 그런 다음 모델을 학습하고 구축하는 SageMaker 데 사용할 수 있습니다. 따라서 노트북의 인스턴스 유형은 모델 학습 및 테스트 속도에 영향을 주지 않습니다.

요청을 받은 후 다음을 SageMaker 수행합니다.

  • 네트워크 인터페이스 생성 - 선택적 VPC 구성을 SageMaker 선택한 경우 VPC에 네트워크 인터페이스를 생성합니다. 요청에서 제공한 서브넷 ID를 사용하여 서브넷을 생성할 가용 영역을 결정합니다. SageMaker 요청에서 제공한 보안 그룹을 서브넷과 연결합니다. 자세한 정보는 VPC의 노트북 인스턴스를 외부 리소스에 연결을 참조하세요.

  • ML 컴퓨팅 인스턴스 SageMaker 시작 - SageMaker VPC에서 ML 컴퓨팅 인스턴스를 시작합니다. SageMaker 노트북 인스턴스를 관리할 수 있는 구성 작업을 수행합니다. VPC를 지정한 경우 VPC와 SageMaker 노트북 인스턴스 간의 트래픽을 활성화합니다.

  • 일반 딥 러닝 플랫폼용 Anaconda 패키지 및 라이브러리 SageMaker 설치 - 설치 프로그램에 포함된 Anaconda 패키지를 모두 설치합니다. 자세한 내용은 Anaconda 패키지 목록을 참조하십시오. SageMaker TensorFlow 및 Apache MXnet 딥 러닝 라이브러리도 설치합니다.

  • ML 스토리지 볼륨 연결 - ML 스토리지 볼륨을 ML 컴퓨팅 인스턴스에 SageMaker 연결합니다. 볼륨을 작업 영역으로 사용하여 훈련 데이터 집합을 정리하거나 유효성 검사, 테스트 또는 기타 데이터를 임시로 저장할 수 있습니다. 볼륨 크기는 5GB~16384GB 사이에서 1GB 증분 간격으로 선택합니다. 기본값은 5GB입니다. ML 스토리지 볼륨은 암호화되므로 볼륨에서 사용 가능한 여유 공간을 확인할 SageMaker 수 없습니다. 때문에 노트북 인스턴스를 업데이트할 때 볼륨 크기를 확장할 수는 있지만 볼륨 크기를 축소할 수는 없습니다. 사용 중인 ML 스토리지 볼륨을 축소하기를 원할 경우 원하는 크기로 새 노트북 인스턴스를 생성하세요.

    /home/ec2-user/SageMaker 폴더 내에 저장된 파일 및 데이터만 노트북 인스턴스 세션 간에 유지됩니다. 이 디렉터리 외부에 저장된 파일 및 데이터는 노트북 인스턴스가 중지되었다가 다시 시작될 때 덮어씁니다. 각 노트북 인스턴스의 /tmp 디렉터리는 인스턴스 스토어에 최소 10GB의 스토리지를 제공합니다. 인스턴스 스토어는 지속되지 않는 블록 수준의 임시 스토리지입니다. 인스턴스가 중지되거나 다시 시작되면 디렉터리의 SageMaker 콘텐츠가 삭제됩니다. 이 임시 스토리지는 노트북 인스턴스의 루트 볼륨에 포함되어 있습니다.

    노트북 인스턴스에서 사용하는 인스턴스 유형이 NVMe를 지원하는 경우 고객은 해당 인스턴스 유형에 사용할 수 있는 NVMe 인스턴스 스토어 볼륨을 사용할 수 있습니다. NVMe 스토어 볼륨이 있는 인스턴스의 경우 시작 시 모든 인스턴스 스토어 볼륨이 인스턴스에 자동으로 연결됩니다. 인스턴스 유형 및 관련 NVMe 스토어 볼륨에 대한 자세한 내용은 Amazon Elastic Compute 클라우드 인스턴스 유형 세부 정보를 참조하십시오.

    연결된 NVMe 스토어 볼륨을 노트북 인스턴스에서 사용할 수 있게 하려면 인스턴스에서 인스턴스 스토어 볼륨을 사용할 수 있도록 설정의 단계를 완료하십시오. 루트 액세스 권한을 사용하거나 수명 주기 구성 스크립트를 사용하여 단계를 완료하십시오.

    참고

    NVMe 인스턴스 스토어 볼륨은 영구 스토리지가 아닙니다. 이 스토리지는 인스턴스와 함께 사용할 때 수명이 짧기 때문에 이 스토리지를 사용하는 인스턴스를 시작할 때마다 다시 구성해야 합니다.

  • 예제 Jupyter 노트북 복사 — 이 Python 코드 예제는 다양한 알고리즘과 교육 데이터 세트를 사용한 모델 학습 및 호스팅 연습을 보여줍니다.

노트북 인스턴스를 만들려면: SageMaker
  1. https://console.aws.amazon.com/sagemaker/ 에서 SageMaker 콘솔을 엽니다.

  2. 노트북 인스턴스를 선택한 후 노트북 인스턴스 생성을 선택합니다.

  3. 노트북 인스턴스 생성 페이지에서 다음 정보를 입력합니다.

    1. 노트북 인스턴스 이름에 노트북 인스턴스의 이름을 입력합니다.

    2. Notebook 인스턴스 유형의 경우 사용 사례에 적합한 인스턴스 크기를 선택하세요. 지원되는 인스턴스 유형 및 할당량 목록은 Amazon SageMaker Service Quotas를 참조하십시오.

    3. Elastic Inference의 경우 노트북 인스턴스에서 추론을 수행하려는 경우 노트북 인스턴스와 연결할 추론 가속기 유형을 선택하세요. 노트북 인스턴스에서 추론을 수행할 계획이 없다면 없음을 선택하세요. 탄력적 추론에 대한 자세한 내용은 아마존 SageMaker 엘라스틱 인퍼런스 (EI) 사용 을 참조하세요.

    4. 플랫폼 식별자의 경우 노트북 인스턴스를 생성할 플랫폼 유형을 선택합니다. 이 플랫폼 유형에 따라 노트북 인스턴스 생성에 JupyterLab 사용할 운영 체제 및 버전이 달라집니다. 플랫폼 식별자 유형에 대한 자세한 내용은 Amazon Linux 2 노트북 인스턴스을 참조하세요. JupyterLab 버전에 대한 자세한 내용은 JupyterLab 버전 관리 섹션을 참조하세요.

    5. (선택 사항) 추가 구성을 사용하면 고급 사용자가 인스턴스를 생성하거나 시작할 때 실행할 수 있는 쉘 스크립트를 생성할 수 있습니다. 수명 주기 구성 스크립트라고 하는 이 스크립트를 사용하여 노트북의 환경을 설정하거나 다른 기능을 수행할 수 있습니다. 자세한 내용은 LCC 스크립트를 사용하여 SageMaker 노트북 인스턴스를 사용자 지정합니다.을 참조하세요.

    6. (선택 사항) 추가 구성을 사용하면 노트북 인스턴스에 연결된 ML 스토리지 볼륨의 크기(GB)도 지정할 수 있습니다. 5~16,384GB 범위의 크기를 1GB 증분으로 선택할 수 있습니다. 볼륨을 사용하여 훈련 데이터 집합을 정리하거나 유효성 검사 데이터나 기타 데이터를 일시적으로 저장할 수 있습니다.

    7. (선택 사항) 최소 IMDS 버전의 경우 드롭다운 목록에서 버전을 선택합니다. 이 값을 v1로 설정하면 노트북 인스턴스에서 두 버전을 모두 사용할 수 있습니다. v2를 선택하면 노트북 인스턴스에서 IMDSv2만 사용할 수 있습니다. IMDSv2에 대한 자세한 내용은 IMDSv2 사용을 참조하세요.

      참고

      2022년 10월 31일부터 SageMaker 노트북 인스턴스의 기본 최소 IMDS 버전이 IMDSv1에서 IMDSv2로 변경됩니다.

      2023년 2월 1일부터 새 노트북 인스턴스 생성에 IMDSv1을 더 이상 사용할 수 없습니다. 이 날짜 이후에는 최소 IMDS 버전 2를 사용하여 노트북 인스턴스를 생성할 수 있습니다.

    8. IAM 역할의 경우, 리소스에 액세스하는 데 필요한 권한이 있는 계정의 기존 IAM 역할을 선택하거나 새 역할을 생성하십시오. SageMaker 새 역할 생성을 선택하면 라는 이름의 IAM 역할이 SageMaker 생성됩니다. AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS AWS 관리형 정책은 AmazonSageMakerFullAccess 역할에 연결됩니다. 역할은 노트북 인스턴스가 Amazon S3를 SageMaker 호출할 수 있는 권한을 제공합니다.

    9. 루트 액세스의 경우 모든 노트북 인스턴스 사용자에게 루트 액세스 권한을 부여하려면 [Enable] 를 선택합니다. 사용자에 대한 루트 액세스 권한을 제거하려면 비활성화를 선택합니다. 루트 액세스 권한을 부여하면 모든 노트북 인스턴스 사용자는 관리자 권한을 가지며 해당 파일에 대한 모든 파일에 액세스하고 편집할 수 있습니다.

    10. (선택 사항) 암호화 키를 사용하면 AWS Key Management Service (AWS KMS) 키를 사용하여 노트북 인스턴스에 연결된 ML 스토리지 볼륨의 데이터를 암호화할 수 있습니다. ML 스토리지 볼륨에 중요한 정보를 저장하려는 경우 정보를 암호화하는 것이 좋습니다.

    11. (선택 사항) 네트워크를 사용하면 노트북 인스턴스를 Virtual Private Cloud(VPC) 내에 저장할 수 있습니다. VPC는 보안을 강화하고 VPC 외부 소스에서 VPC의 리소스에 액세스하는 것을 제한합니다. VPC에 대한 자세한 내용은 Amazon VPC 사용 설명서를 참조하세요.

      VPC에 노트북 인스턴스를 추가하려면

      1. VPC와 a를 선택합니다. SubnetId

      2. 보안 그룹에서 VPC의 기본 보안 그룹을 선택합니다.

      3. 노트북 인스턴스에 인터넷 액세스가 필요한 경우 직접 인터넷 액세스를 활성화합니다. 직접 인터넷 연결에서 활성화를 선택합니다. 인터넷에 액세스하면 노트북 인스턴스의 보안이 저하될 수 있습니다. 자세한 내용은 VPC의 노트북 인스턴스를 외부 리소스에 연결을 참조하세요.

    12. (선택 사항) Git 리포지토리를 노트북 인스턴스와 연결하려면 기본 리포지토리와 최대 3개의 추가 리포지토리를 선택합니다. 자세한 내용은 Git 리포지토리를 노트북 인스턴스와 연결 SageMaker 을 참조하세요.

    13. 노트북 인스턴스 생성을 선택합니다.

      몇 분 후 Amazon은 ML 컴퓨팅 인스턴스 (이 경우에는 노트북 인스턴스) 를 SageMaker 시작하고 여기에 ML 스토리지 볼륨을 연결합니다. 노트북 인스턴스에는 사전 구성된 Jupyter notebook 서버와 Anaconda 라이브러리 세트가 있습니다. 자세한 내용은 CreateNotebookInstance API를 참조하세요.

  4. 노트북 인스턴스의 상태가 InService이면 콘솔에서 노트북 인스턴스를 사용할 준비가 완료된 것입니다. 노트북 이름 옆에 있는 Jupyter 열기를 선택하여 클래식 Jupyter 대시보드를 엽니다.

    참고

    Amazon SageMaker 노트북 인스턴스의 보안을 강화하기 위해 모든 지역 notebook.region.sagemaker.aws 도메인은 인터넷 PSL (공개 접미사 목록) 에 등록됩니다. 보안을 강화하기 위해 __Host- 접두사가 있는 쿠키를 사용하여 노트북 인스턴스의 도메인에 민감한 쿠키를 설정하는 것이 좋습니다. SageMaker 이렇게 하면 교차 사이트 요청 위조 시도(CSRF) 로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 mozilla.org 개발자 설명서 웹 사이트의 쿠키 설정 페이지를 참조하십시오.

    열기를 선택하여 대시보드를 열 수 있습니다. JupyterLab JupyterLab 대시보드를 통해 노트북 인스턴스 및 전체 코드 설명이 포함된 샘플 SageMaker 노트북에 액세스할 수 있습니다. 이 연습에서는 일반적인 기계 학습 작업을 수행하는 데 사용하는 SageMaker 방법을 보여줍니다. 자세한 정보는 예제 노트북을 참조하세요. 자세한 내용은 노트북 인스턴스에 대한 루트 액세스를 제어합니다. SageMaker 을 참조하세요.

    Jupyter notebook에 대한 자세한 내용은 Jupyter notebook을 참조하세요.