SageMaker MLOps프로젝트 둘러보기 - 아마존 SageMaker

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

SageMaker MLOps프로젝트 둘러보기

중요

2023년 11월 30일부터 이전 아마존 SageMaker 스튜디오 익스피리언스는 이제 아마존 SageMaker 스튜디오 클래식으로 명명되었습니다. 다음 섹션은 스튜디오 클래식 애플리케이션 사용에 대한 내용입니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 을 참조하십시오아마존 SageMaker 스튜디오.

이 연습에서는 템플릿을 사용하여 MLOps 프로젝트를 사용하여 MLOps모델 구축, 교육 및 배포를 위한 템플릿 모델을 구축, 교육 및 배포하기 위한 CI/CD 시스템을 만드는 방법을 보여줍니다.

사전 조건 

이 연습을 수행하려면 다음이 있어야 합니다.

1단계: 프로젝트 생성

이 단계에서는 SageMaker 제공된 SageMaker MLOps 프로젝트 템플릿을 사용하여 모델을 빌드, 교육 및 배포하여 프로젝트를 생성합니다.

프로젝트를 만들려면 SageMaker MLOps
  1. 스튜디오 클래식에 로그인합니다. 자세한 내용은 아마존 SageMaker 도메인 개요 단원을 참조하십시오.

  2. 스튜디오 클래식 사이드바에서 아이콘 ( Black square icon representing a placeholder or empty image. ) 을 선택합니다.

  3. 메뉴에서 배포를 선택한 다음 프로젝트를 선택합니다.

  4. 프로젝트 생성을 선택합니다.

    프로젝트 생성 탭이 나타납니다.

  5. 템플릿을 아직 선택하지 않았다면 SageMaker 템플릿을 선택한 다음 모델 구축, 교육 및 배포를 위한 MLOps 템플릿을 선택하세요.

  6. 프로젝트 세부 정보에 프로젝트의 이름과 설명을 입력합니다.

프로젝트가 프로젝트 목록에 생성 완료 상태로 나타나면 다음 단계로 넘어갑니다.

중요

2022년 7월 25일부터 프로젝트 템플릿을 사용하려면 추가 역할이 필요합니다. arn:aws:iam: :xxx:role/service-role/ AmazonSageMakerServiceCatalogProductsCodePipelineRole 역할을 수행할 권한이 없다는 오류 메시지가 CodePipeline 표시되면 필요한 역할의 전체 목록과 역할 생성 AssumeRole 방법에 대한 지침은 중 5-6단계를 참조하십시오. SageMaker 프로젝트를 사용하는 데 필요한 Studio 권한

2단계: 코드 리포지토리 복제

프로젝트를 생성하고 나면 프로젝트에 리포지토리 두 개가 생성됩니다 CodeCommit . 리포지토리 중 하나에는 모델을 빌드하고 훈련시키는 코드가 들어 있고, 다른 리포지토리에는 모델을 배포하기 위한 코드가 들어 있습니다. 이 단계에서는 빌드할 코드가 들어 있는 로컬 SageMaker 프로젝트에 리포지토리를 복제하고 모델을 로컬 Studio Classic 환경으로 학습시켜 코드로 작업할 수 있도록 합니다.

코드 리포지토리를 복제하려면
  1. Studio Classic 사이드바에서 아이콘 ( Black square icon representing a placeholder or empty image. ) 을 선택합니다.

  2. 메뉴에서 배포를 선택한 다음 프로젝트를 선택합니다.

  3. 이전 단계에서 만든 프로젝트를 선택하여 프로젝트의 프로젝트 탭을 엽니다.

  4. 프로젝트 탭에서 리포지토리를 선택하고 modelbuild로 끝나는 리포지토리의 로컬 경로 열에서 리포지토리 복제를 선택합니다.

  5. 표시되는 대화 상자에서 기본값을 적용하고 리포지토리 복제를 선택합니다.

    리포지토리를 복제하는 대화 상자.

    리포지토리 복제가 완료되면 로컬 경로가 로컬 경로 열에 나타납니다. 경로를 선택하여 Studio Classic의 리포지토리 코드가 들어 있는 로컬 폴더를 엽니다.

3단계: 코드 변경

이제 모델을 빌드하는 파이프라인 코드를 변경하고 변경 내용을 체크인하여 새 파이프라인 실행을 시작합니다. 파이프라인 실행은 새 모델 버전을 등록합니다.

코드를 변경하려면
  1. Studio Classic에서는 파일 브라우저 아이콘 ( Dark blue square icon with a white outline of a cloud and an arrow pointing upward. ) 을 선택하고 해당 pipelines/abalone 폴더로 이동합니다. pipeline.py를 두 번 클릭하여 코드 파일을 엽니다.

  2. pipeline.py 파일에서 훈련 인스턴스 유형을 설정하는 줄을 찾습니다.

    training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"

    ml.m5.xlarge에서 ml.m5.large로 변경한 다음 Ctrl+S를 눌러 변경 내용을 저장합니다.

  3. Git 아이콘 () Dark circular icon with a cloud symbol and downward-pointing arrow inside. 을 선택합니다. pipeline.py의 변경 사항을 스테이징하고 커밋하고 푸시합니다. 또한 요약 필드에 요약을 입력하고 설명 필드에 설명(선택 사항)을 입력합니다. 스튜디오 클래식에서 Git을 사용하는 방법에 대한 자세한 내용은 을 참조하십시오. 스튜디오 클래식에서 Git 리포지토리 복제 SageMaker

    Git에서 스테이징된 파일을 커밋하는 방법을 보여주는 스크린샷

코드 변경을 푸시하면 MLOps 시스템이 파이프라인 실행을 시작하여 새 모델 버전을 생성합니다. 다음 단계에서는 새 모델 버전을 승인하여 프로덕션에 배포합니다.

4단계: 모델 승인

이제 이전 단계에서 생성한 새 모델 버전을 승인하여 엔드포인트에 모델 버전 배포를 시작합니다. SageMaker

모델 버전을 승인하려면
  1. Studio Classic 사이드바에서 아이콘 () 을 선택합니다. Black square icon representing a placeholder or empty image.

  2. 메뉴에서 배포를 선택한 다음 프로젝트를 선택합니다.

  3. 첫 단계에서 만든 프로젝트 이름을 선택하여 프로젝트의 프로젝트 탭을 엽니다.

  4. 프로젝트 탭에서 모델 그룹을 선택한 다음 나타나는 모델 그룹의 이름을 두 번 클릭합니다.

    모델 그룹 탭이 나타납니다.

  5. 모델 그룹 탭에서 버전 1을 두 번 클릭합니다. 버전 1 탭이 열립니다. 상태 업데이트를 선택합니다.

  6. 모델 모델 버전 상태 업데이트 대화 상자의 상태 드롭다운 목록에서 승인을 선택한 다음 상태 업데이트를 선택합니다.

    모델 버전을 승인하면 MLOps 시스템이 모델을 스테이징에 배포합니다. 엔드포인트를 보려면 프로젝트 탭에서 엔드포인트 탭을 선택합니다.

(선택 사항) 5단계: 프로덕션에 모델 버전 배포

이제 모델 버전을 프로덕션 환경에 배포할 수 있습니다.

참고

이 단계를 완료하려면 Studio Classic 도메인의 관리자여야 합니다. 관리자가 아닌 경우 이 단계를 건너뜁니다.

모델 버전을 프로덕션 환경에 배포하려면
  1. 다음 주소에서 CodePipeline 콘솔에 로그인합니다. https://console.aws.amazon.com/codepipeline/

  2. Pipelines를 선택한 다음 이름이 sagemaker-인 파이프라인을 선택합니다.projectname-projectid- 모델 배포, 위치 projectname 는 프로젝트 이름이고 projectid 프로젝트의 ID입니다.

  3. DeployStaging스테이지에서 [리뷰] 를 선택합니다.

  4. 검토 대화 상자에서 승인을 선택합니다.

    DeployStaging스테이지를 승인하면 MLOps 시스템이 모델을 프로덕션에 배포합니다. 엔드포인트를 보려면 Studio Classic의 프로젝트 탭에서 엔드포인트 탭을 선택합니다.

6단계: 리소스 정리

비용이 발생하지 않도록 하려면 이 안내서에서 생성된 리소스를 정리합니다. 이렇게 하려면 다음 단계를 완료하세요.

참고

삭제하려면 AWS CloudFormation 스택과 Amazon S3 버킷의 경우 스튜디오 클래식에서는 관리자여야 합니다. 관리자가 아닌 경우 관리자에게 해당 단계를 완료해 달라고 요청하세요.

  1. 스튜디오 클래식 사이드바에서 아이콘 ( Black square icon representing a placeholder or empty image. ) 을 선택합니다.

  2. 메뉴에서 배포를 선택한 다음 프로젝트를 선택합니다.

  3. 대상 드롭다운 목록에서 대상 프로젝트를 선택합니다. 프로젝트가 보이지 않는 경우 프로젝트 이름을 입력하고 필터를 적용하여 프로젝트를 찾습니다.

  4. 다음 방법 중 하나로 Studio Classic 프로젝트를 삭제할 수 있습니다.
    1. 프로젝트 목록에서 프로젝트를 삭제할 수 있습니다.

      대상 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 드롭다운 목록에서 삭제를 선택합니다.

      참고

      이 기능은 스튜디오 클래식 버전 v3.17.1 이상에서 지원됩니다. 자세한 내용은 SageMaker 스튜디오 클래식을 종료하고 업데이트하십시오. 단원을 참조하십시오.

    2. 프로젝트 세부 정보 섹션에서 프로젝트를 삭제할 수 있습니다.
      1. 프로젝트를 찾았으면 두 번 클릭하여 기본 패널에서 세부 정보를 확인합니다.

      2. 작업 메뉴에서 삭제를 선택합니다.

  5. 프로젝트 삭제 창에서 삭제를 선택하여 선택을 확인합니다.

    이렇게 하면 프로젝트에서 생성한 서비스 카탈로그 프로비저닝 제품이 삭제됩니다. 여기에는 프로젝트용으로 만든 CodeCommit CodePipeline, 및 CodeBuild 리소스가 포함됩니다.

  6. 삭제 AWS CloudFormation 프로젝트에서 만든 스택을 두 개의 스택이 있습니다.하나는 스테이징용이고 다른 하나는 프로덕션용입니다. 스택의 이름은 세이지메이커입니다. projectname-project-id-디플로이-스테이징 및 세이지메이커- projectname-project-id-디플로이-프로드, 여기서 projectname 는 프로젝트 이름이고 project-id 프로젝트의 ID입니다.

    삭제 방법에 대한 자세한 내용은 AWS CloudFormation 스택의 스택 삭제를 참조하십시오. AWS CloudFormation 콘솔: AWS CloudFormation 사용자 가이드.

  7. 프로젝트에서 생성한 Amazon S3 버킷을 삭제합니다. 버킷 이름은 세이지메이커-프로젝트-project-id, 어디서 project-id 프로젝트의 ID입니다.