타사 Git 리포지토리를 사용하여 SageMaker AI MLOps 프로젝트 살펴보기 - Amazon SageMaker AI

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

타사 Git 리포지토리를 사용하여 SageMaker AI MLOps 프로젝트 살펴보기

중요

2023년 11월 30일부터 이전 Amazon SageMaker Studio 환경이 이제 Amazon SageMaker Studio Classic으로 명명되었습니다. 다음 섹션은 Studio Classic 애플리케이션 사용에 관해 다룹니다. 업데이트된 Studio 환경 사용에 대한 자세한 내용은 Amazon SageMaker Studio 섹션을 참조하세요.

이 안내서에서는 템플릿 CodePipeline을 사용하여 타사 Git을 사용한 모델 구축, 훈련 및 배포를 위한 MLOps 템플릿으로 MLOps 프로젝트를 사용하여 모델을 구축, 훈련 및 배포하기 위한 CI/CD 시스템 생성 방법을 보여줍니다.

사전 조건 

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

  • Studio Classic에 로그인하기 위한 IAM 또는 IAM Identity Center 계정 자세한 내용은 Amazon SageMaker AI 도메인 개요을 참조하세요.

  • SageMaker AI 제공 프로젝트 템플릿을 사용할 수 있는 권한. 자세한 내용은 프로젝트를 사용하기 위해 SageMaker Studio 권한 부여을 참조하세요.

  • Studio Classic 사용자 인터페이스 및 Jupyter Notebook에 대한 기본 지식 자세한 내용은 Amazon SageMaker Studio Classic UI 개요을 참조하세요.

  • README으로 초기화된 두 개의 GitHub 리포지토리 이러한 리포지토리를 프로젝트 템플릿에 입력하면 모델 빌드 및 배포 코드와 함께 이러한 리포지토리가 시딩됩니다.

1단계: GitHub 연결 설정

이 단계에서는 AWS CodeStar 연결을 사용하여 GitHub 리포지토리에 연결합니다. SageMaker AI 프로젝트는이 연결을 사용하여 소스 코드 리포지토리에 액세스합니다.

GitHub 연결을 설정하려면:
  1. https://console.aws.amazon.com/codepipeline/에서 CodePipeline 콘솔에 로그인합니다.

  2. 탐색 창의 설정에서 연결을 선택합니다.

  3. 연결 생성을 선택합니다.

  4. 공급자 선택에서 GitHub를 선택합니다.

  5. 연결 이름에 이름을 입력합니다.

  6. GitHub에 연결을 선택합니다.

  7. AWS Connector GitHub 앱이 이전에 설치되지 않은 경우 새 앱 설치를 선택합니다.

    그러면 액세스할 수 있는 모든 GitHub 개인 계정 및 조직의 목록이 표시됩니다.

  8. SageMaker 프로젝트 및 GitHub 리포지토리와 함께 사용할 연결을 설정할 계정을 선택합니다.

  9. 구성을 선택합니다.

  10. 선택적으로 특정 리포지토리를 선택하거나 모든 리포지토리를 선택할 수 있습니다.

  11. 저장을 선택합니다. 앱이 설치되면 GitHub에 연결 페이지로 리디렉션되고 설치 ID가 자동으로 채워집니다.

  12. 연결을 선택합니다.

  13. true이 AWS CodeStar 연결에 키sagemaker와 값이 있는 태그를 추가합니다.

  14. 연결 ARN을 복사하여 나중에 사용할 수 있도록 저장합니다. ARN을 프로젝트 생성 단계에서 파라미터로 사용합니다.

2단계: 프로젝트 생성

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

SageMaker AI MLOps 프로젝트를 생성하려면
  1. Studio Classic에 로그인합니다. 자세한 내용은 Amazon SageMaker AI 도메인 개요 단원을 참조하십시오.

  2. Studio Classic 사이드바에서 아이콘( Black square icon representing a placeholder or empty image. )을 선택합니다.

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

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

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

  5. SageMaker AI 프로젝트 템플릿에서 타사 Git 리포지토리를 사용한 모델 구축, 훈련 및 배포를 위한 MLOps 템플릿을 선택합니다.

  6. 프로젝트 템플릿 선택을 선택합니다.

  7. 모델 빌드 코드 리포지토리 정보에서 다음 파라미터를 입력합니다.

    • URL의 경우 모델 빌드 코드에 대한 Git 리포지토리의 URL을 https://git-url.git 형식으로 입력합니다.

    • 브랜치의 경우 Git 리포지토리에서 파이프라인 활동에 사용할 브랜치를 입력합니다.

    • 전체 리포지토리 이름의 경우 Git 리포지토리 이름을 사용자 이름/리포지토리 이름 또는 조직/리포지토리 이름 형식으로 입력합니다.

    • Codestar 연결 ARN에 1단계에서 생성한 AWS CodeStar 연결의 ARN을 입력합니다.

    • 샘플 코드 토글 스위치를 사용하면 리포지토리를 모델 빌드 시드 코드로 채울지 여부를 선택할 수 있습니다. 이 데모에서는 그대로 두어도 됩니다.

  8. 모델 배포 코드 리포지토리 정보에서 다음 파라미터를 입력합니다.

    • URL의 경우 모델 배포 코드에 대한 Git 리포지토리의 URL을 https://git-url.git 형식으로 입력합니다.

    • 브랜치의 경우 Git 리포지토리에서 파이프라인 활동에 사용할 브랜치를 입력합니다.

    • 전체 리포지토리 이름의 경우 Git 리포지토리 이름을 사용자 이름/리포지토리 이름 또는 조직/리포지토리 이름 형식으로 입력합니다.

    • Codestar 연결 ARN에 1단계에서 생성한 AWS CodeStar 연결의 ARN을 입력합니다.

    • 샘플 코드 토글 스위치를 사용하면 리포지토리를 모델 배포 시드 코드로 채울지 여부를 선택할 수 있습니다. 이 데모에서는 그대로 두어도 됩니다.

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

프로젝트가 생성됨 상태프로젝트 목록에 나타납니다.

3단계: 코드 변경

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

코드를 변경하려면
  1. 모델 빌드 GitHub 리포지토리에서 pipelines/abalone폴더로 이동합니다. pipeline.py를 두 번 클릭하여 코드 파일을 엽니다.

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

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

    편집할 파일을 열고 ml.m5.xlarge에서 ml.m5.large로 변경한 다음 커밋합니다.

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

4단계: 모델 승인

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

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

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

  3. 첫 단계에서 만든 프로젝트 이름을 찾고 두 번 클릭하여 프로젝트의 프로젝트 탭을 엽니다.

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

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

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

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

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

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

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

참고

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

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

  2. 파이프라인을 선택한 다음, sagemaker-projectname-projectid-modeldeploy라는 이름의 파이프라인을 선택합니다.여기서 projectname은 프로젝트 이름이고 projectid는 프로젝트 ID입니다.

  3. 배포 스테이징 단계에서 검토를 선택합니다.

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

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

6단계: 리소스 정리

비용이 발생하지 않도록 하려면 이 안내서에서 생성된 리소스를 정리합니다.

참고

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

  1. Studio Classic 사이드바에서 아이콘( Black square icon representing a placeholder or empty image. )을 선택합니다.

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

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

  4. 프로젝트를 선택하여 기본 패널에서 세부 정보를 확인합니다.

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

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

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

  7. 프로젝트가 생성한 AWS CloudFormation 스택을 삭제합니다. 두 개의 스택이 있습니다.하나는 스테이징용이고 다른 하나는 프로덕션용입니다. 스택의 이름은 sagemaker-projectname-project-id-deploy-stagingsagemaker-projectname-project-id-deploy-prod입니다.여기서 projectname은 프로젝트 이름이고 project-id는 프로젝트 ID입니다.

    AWS CloudFormation 스택을 삭제하는 방법에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 AWS CloudFormation 콘솔에서 스택 삭제를 참조하세요.

  8. 프로젝트에서 생성한 Amazon S3 버킷을 삭제합니다. 버킷 이름은 sagemaker-project-project-id이고, 여기서 projt-id는 프로젝트 ID입니다.