빠른 시작: SageMaker 샌드박스 도메인을 생성하여 Studio에서 Amazon EMR 클러스터를 시작합니다. - 아마존 SageMaker

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

빠른 시작: SageMaker 샌드박스 도메인을 생성하여 Studio에서 Amazon EMR 클러스터를 시작합니다.

이 섹션에서는 Amazon SageMaker Studio에서 전체 테스트 환경을 빠르게 설정하는 방법을 안내합니다. 사용자가 Studio에서 직접 새 Amazon EMR 클러스터를 시작할 수 있는 새 Studio 도메인을 생성하게 됩니다. 이 단계는 Amazon EMR 클러스터에 연결하여 Spark 워크로드 실행을 시작할 수 있는 예제 노트북을 제공합니다. 이 노트북을 사용하여 Amazon EMR Spark 분산 처리 및 OpenSearch 벡터 데이터베이스를 사용하여 검색 증강 생성 시스템 (RAG) 을 구축해 보겠습니다.

참고

시작하려면 관리자 권한이 있는 AWS Identity and Access Management (IAM) 사용자 계정을 사용하여 AWS 관리 콘솔에 로그인하십시오. AWS 계정을 등록하고 관리 액세스 권한이 있는 사용자를 생성하는 방법에 대한 자세한 내용은 을 참조하십시오아마존 SageMaker 사전 요구 사항.

1단계: Studio에서 Amazon EMR 클러스터를 시작하기 위한 SageMaker 도메인 생성

다음 단계에서는 AWS CloudFormation 스택을 적용하여 새 SageMaker 도메인을 자동으로 생성합니다. 또한 스택은 사용자 프로필을 생성하고 필요한 환경 및 권한을 구성합니다. SageMaker 도메인은 Studio에서 Amazon EMR 클러스터를 직접 시작할 수 있도록 구성되어 있습니다. 이 예제의 경우 Amazon EMR 클러스터는 인증을 SageMaker 사용하지 않는 AWS 계정과 동일한 계정에 생성됩니다. getting_started 리포지토리에서 Kerberos와 같은 다양한 인증 방법을 지원하는 추가 AWS CloudFormation 스택을 찾을 수 있습니다. GitHub

참고

SageMaker 계정당 기본적으로 5개의 Studio 도메인을 허용합니다. AWS AWS 리전 스택을 생성하기 전에 계정에 해당 지역의 도메인이 4개 이하인지 확인하세요.

다음 단계에 따라 Studio에서 Amazon EMR 클러스터를 시작하기 위한 SageMaker 도메인을 설정합니다.
  1. sagemaker-studio-emr GitHub리포지토리에서 이 AWS CloudFormation 템플릿의 원시 파일을 다운로드하십시오.

  2. AWS CloudFormation 콘솔로 이동: https://console.aws.amazon.com/cloudformation

  3. 스택 생성을 선택하고 드롭다운 메뉴에서 새 리소스 포함 (표준) 을 선택합니다.

  4. 1단계에서:

    1. 템플릿 준비 섹션에서 기존 템플릿 선택을 선택합니다.

    2. 템플릿 지정 섹션에서 템플릿 파일 업로드를 선택합니다.

    3. 다운로드한 AWS CloudFormation 템플릿을 업로드하고 다음을 선택합니다.

  5. 2단계에서 스택 이름을 입력하고 다음을 선택합니다. SageMakerDomainName

  6. 3단계에서 모든 기본값을 유지하고 다음을 선택합니다.

  7. 4단계에서 확인란을 선택하여 리소스 생성을 확인하고 스택 생성을 선택합니다. 이렇게 하면 계정 및 지역에 Studio 도메인이 생성됩니다.

2단계: 스튜디오 UI에서 새 Amazon EMR 클러스터 시작

다음 단계에서는 Studio UI에서 새 Amazon EMR 클러스터를 생성합니다.

  1. SageMaker 콘솔로 https://console.aws.amazon.com/sagemaker/이동하여 왼쪽 메뉴에서 도메인을 선택합니다.

  2. 도메인 이름 enerativeAIDomainG를 클릭하여 도메인 세부정보 페이지를 엽니다.

  3. 사용자 프로필에서 Studio를 실행합니다genai-user.

  4. 왼쪽 탐색 창에서 데이터로 이동한 다음 Amazon EMR 클러스터로 이동합니다.

  5. Amazon EMR 클러스터 페이지에서 [Create] 를 선택합니다. AWS CloudFormation 스택에서 EMR 생성한 SageMaker Studio Domain No Auth 템플릿을 선택하고 다음을 선택합니다.

  6. 새 Amazon EMR 클러스터의 이름을 입력합니다. 필요에 따라 코어 및 마스터 노드의 인스턴스 유형, 유휴 제한 시간 또는 코어 노드 수와 같은 기타 파라미터를 업데이트할 수 있습니다.

  7. 리소스 생성을 선택하여 새 Amazon EMR 클러스터를 시작합니다.

    Amazon EMR 클러스터를 생성한 후 EMR클러스터 페이지의 상태를 따르십시오. 상태가 로 Running/Waiting 변경되면 Amazon EMR 클러스터를 Studio에서 사용할 수 있습니다.

3단계: JupyterLab 노트북을 Amazon EMR 클러스터에 연결

다음 단계에서는 실행 중인 Amazon JupyterLab EMR 클러스터에 노트북을 연결합니다. 이 예제에서는 Amazon EMR Spark 분산 처리 및 OpenSearch 벡터 데이터베이스를 사용하여 검색 증강 세대 (RAG) 시스템을 구축할 수 있는 노트북을 가져옵니다.

  1. 시작 JupyterLab

    Studio에서 JupyterLab 애플리케이션을 실행합니다.

  2. 전용 공간 만들기

    JupyterLab 애플리케이션을 위한 스페이스를 만들지 않은 경우 JupyterLab 스페이스 만들기를 선택합니다. 스페이스 이름을 입력하고 스페이스를 비공개로 유지합니다. 다른 모든 설정은 기본값으로 두고 스페이스 만들기를 선택합니다.

    그렇지 않으면 JupyterLab 스페이스를 실행하여 JupyterLab 애플리케이션을 시작하세요.

  3. 추론을 위해 모델 LLM 및 임베딩 모델을 배포하세요.
    • 상단 메뉴에서 파일, 새로 만들기, 터미널을 차례로 선택합니다.

    • 터미널에서 다음 명령을 실행합니다.

      wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb mkdir AWSGuides cd AWSGuides wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf

      그러면 Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb 노트북이 로컬 디렉토리로 검색되고 세 개의 PDF 파일이 로컬 AWSGuides 폴더로 다운로드됩니다.

    • Python 3 (ipykernel)커널을 열고 lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb 보관하고 각 셀을 실행하십시오.

      주의

      계속하기 전에 라마 2 라이센스 계약 섹션에서 Llama2를 EULA 수락했는지 확인하십시오.

      이 노트북은 두 가지 모델을 Llama 2 배포하며all-MiniLM-L6-v2 Models, 추론을 위해 켜져 있습니다. ml.g5.2xlarge

      모델 배포와 엔드포인트 생성에는 다소 시간이 걸릴 수 있습니다.

  4. 메인 노트북을 엽니다.

    에서 JupyterLab 터미널을 열고 다음 명령을 실행합니다.

    cd .. wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb

    의 왼쪽 패널에 추가 Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb 노트북이 보일 JupyterLab 것입니다.

  5. PySpark커널을 선택하세요.

    Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb노트북을 열고 SparkMagic PySpark 커널을 사용하고 있는지 확인합니다. 노트북 오른쪽 상단에서 커널을 전환할 수 있습니다. 현재 커널 이름을 선택하여 커널 선택 모달을 연 다음 선택하십시오SparkMagic PySpark.

  6. 노트북을 클러스터에 연결
    1. 노트북 오른쪽 상단에서 클러스터를 선택합니다. 이 작업을 수행하면 액세스 권한이 있는 실행 중인 모든 클러스터를 나열하는 모달 창이 열립니다.

    2. 클러스터를 선택한 다음 Connect를 선택합니다. 새 자격 증명 유형 선택 모달 창이 열립니다.

    3. 자격 증명 없음을 선택한 다음 Connect를 선택합니다.

      JupyterLab노트북용 Amazon EMR 자격 증명의 선택을 보여주는 모달
    4. 노트북 셀이 자동으로 채워지고 실행됩니다. 노트북 셀은 Amazon EMR 클러스터에 연결하는 기능을 제공하는 sagemaker_studio_analytics_extension.magics 확장 프로그램을 로드합니다. 그런 다음 %sm_analytics magic 명령을 사용하여 Amazon EMR 클러스터 및 Spark 애플리케이션에 대한 연결을 시작합니다.

      참고

      Amazon EMR 클러스터에 대한 연결 문자열의 인증 유형이 로 설정되어 있는지 확인하십시오None. 이는 다음 예제의 값으로 --auth-type None 설명됩니다. 필요한 경우 필드를 수정할 수 있습니다.

      %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
    5. 연결이 성공적으로 설정되면 연결 셀 출력 메시지에 클러스터 ID, YARN 애플리케이션 ID, Spark 작업 모니터링을 위한 Spark UI 링크 등의 SparkSession 세부 정보가 표시되어야 합니다.

Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb노트북을 사용할 준비가 되었습니다. 이 예제 노트북은 LangChain 및 OpenSearch 를 사용하여 RAG 시스템을 구축하기 위한 분산 PySpark 워크로드를 실행합니다.

4단계: 스택 정리 AWS CloudFormation

완료한 후에는 두 엔드포인트를 종료하고 AWS CloudFormation 스택을 삭제하여 요금이 계속 청구되지 않도록 하세요. 스택을 삭제하면 스택에서 프로비저닝한 모든 리소스가 정리됩니다.

스택을 다 사용한 후 AWS CloudFormation 스택을 삭제하려면
  1. AWS CloudFormation 콘솔로 이동: https://console.aws.amazon.com/cloudformation

  2. 삭제하려는 스택을 선택합니다. 이름으로 검색하거나 스택 목록에서 찾을 수 있습니다.

  3. 삭제 버튼을 클릭하여 스택 삭제를 완료한 다음 삭제를 다시 클릭하여 스택에서 생성된 모든 리소스가 삭제됨을 확인합니다.

    스택 삭제가 완료될 때까지 기다리십시오. 몇 분 정도 걸릴 수 있습니다. AWS CloudFormation 스택 템플릿에 정의된 모든 리소스를 자동으로 정리합니다.

  4. 스택에서 생성된 모든 리소스가 삭제되었는지 확인합니다. 예를 들어, 남아 있는 Amazon EMR 클러스터가 있는지 확인합니다.

모델의 API 엔드포인트를 제거하려면
  1. SageMaker 콘솔로 이동:. https://console.aws.amazon.com/sagemaker/

  2. 왼쪽 탐색 창에서 추론을 선택한 다음 엔드포인트를 선택합니다.

  3. 엔드포인트를 hf-allminil6v2-embedding-ep 선택한 다음 작업 드롭다운 목록에서 삭제를 선택합니다. 엔드포인트에 대해 이 단계를 meta-llama2-7b-chat-tg-ep 반복합니다.