개요
Amazon SageMaker JumpStart를 사용하면 기계 학습(ML)을 빠르고 쉽게 시작할 수 있습니다. 빠른 시작을 위해 SageMaker JumpStart는 사용자 인터페이스를 통해 액세스할 수 있는 주요 모델 허브의 미리 훈련된 모델이 포함된 수백 개의 기본 제공 알고리즘을 제공합니다. SageMaker Python SDK를 사용하여 모델 주에서 미리 구축된 모델을 선택하고 사용자 지정 데이터로 훈련하거나 SageMaker 엔드포인트에 배포하여 추론에 사용할 수 있습니다. 간편한 시작을 위해 SageMaker JumpStart는 몇 번의 클릭만으로 쉽게 배포할 수는 가장 공통적인 사용 사례용 솔루션 세트를 제공합니다. 솔루션은 완전히 사용자 지정할 수 있으며 AWS CloudFormation 템플릿과 참조 아키텍처 사용을 소개하므로 귀하의 기계 학습 여정을 더욱 앞당길 수 있습니다.
배우게 될 내용
이 가이드에서는 다음을 수행합니다.
- SageMaker JumpStart의 미리 훈련된 모델 배포
- SageMaker JumpStart에서 배포된 엔드포인트를 사용하여 추론 실행
사전 요구 사항
이 가이드를 시작하기 전에 필요한 사항은 다음과 같습니다.
- AWS 계정: 아직 계정이 없는 경우 환경 설정 시작하기 가이드를 간단히 참조하여 만들 수 있습니다.
AWS 경험
초보자
소요 시간
15분
완료 비용
이 자습서의 예상 비용은 SageMaker 요금을 참조하세요.
필요 사항
AWS 계정에 로그인해야 합니다.
사용 서비스
Amazon SageMaker JumpStart
최종 업데이트 날짜
2022년 6월 28일
사용 사례
이 자습서에서는 ‘BERT Based Cased’라는 모델을 배포합니다. wikipedia를 사용한 영어 텍스트에서 미리 훈련된 이 모델은 텍스트 분류 사용 사례에서 우수한 성능을 발휘합니다.
1단계: Amazon SageMaker Studio 도메인 설정
AWS 계정은 AWS 리전당 1개의 SageMaker Studio 도메인만 설정할 수 있습니다. 미국 동부(버지니아 북부) 리전에 이미 SageMaker Studio 도메인이 있는 경우 SageMaker Studio 설정 가이드에 따라 필요한 AWS IAM 정책을 SageMaker Studio 계정에 연결한 다음 1단계를 건너뛰고 2단계로 바로 넘어가세요.
기존 SageMaker Studio 도메인이 없는 경우 1단계를 계속 진행하여 AWS CloudFormation 템플릿을 실행합니다. 그러면 SageMaker Studio 도메인이 생성되고 이 자습서의 나머지 부분에 필요한 권한이 추가됩니다.
AWS CloudFormation 스택 링크를 선택합니다. 이 링크를 누르면 AWS CloudFormation 콘솔이 열리고 SageMaker Studio 도메인과 studio-user라는 이름의 사용자가 생성됩니다. 또한 필요한 권한이 SageMaker Studio 계정에 추가됩니다. CloudFormation 콘솔에서 미국 동부(버지니아 북부)(US East (N. Virginia))가 오른쪽 위에 표시된 리전인지 확인합니다. 스택 이름(Stack name)은 CFN-SM-IM-Lambda-catalog여야 하며 변경할 수 없습니다. 이 스택은 모든 리소스를 생성하는 데 약 10분이 걸립니다.
이 스택은 퍼블릭 VPC가 계정에 이미 설정되어 있는 것으로 가정합니다. 퍼블릭 VPC가 없는 경우 단일 퍼블릭 서브넷이 있는 VPC를 참조하여 퍼블릭 VPC 생성 방법에 대해 알아보세요.
AWS CloudFormation이 IAM 리소스를 생성할 수 있음을 동의합니다(I acknowledge that AWS CloudFormation might create IAM resources)를 선택하고 스택 생성(Create stack)을 선택합니다.
CloudFormation 창에서 스택(Stacks)을 선택합니다. 스택이 생성되면 스택 상태가 CREATE_IN_PROGRESS에서 CREATE_COMPLETE로 바뀝니다.
SageMaker Studio를 CloudFormation 콘솔 검색 창에 입력하고 SageMaker Studio를 선택합니다.
SageMaker 콘솔의 오른쪽 위에 있는 리전(Region) 드롭다운 목록에서 미국 동부(버지니아 북부)(US East (N. Virginia))를 선택합니다. 앱 시작(Launch app)에서 Studio를 선택하고 studio-user 프로필을 사용하여 SageMaker Studio를 엽니다.
2단계: 새 Launcher 창을 생성하고 JumpStart 시작
기계 학습을 시작하려면 사용 사례에 적합한 모델을 아는 것부터 시작 위치를 파악하는 것에 이르는 까다로운 작업을 수행해야 할 수 있습니다. Amazon SageMaker JumpStart는 몇 번의 클릭으로 쉽게 배포할 수는 가장 일반적인 사용 사례를 위한 솔루션 세트를 제공하여 이 문제를 해결합니다. 미리 훈련된 모델과 솔루션을 몇 분 안에 프로덕션급 배포 엔드포인트에 배포할 수 있습니다.
시작하려면 파일 창 보기의 상단에서 + 아이콘을 클릭하여 새 Launcher 창을 열어야 합니다.
Launcher 보기의 왼쪽 위에서 JumpStart 모델, 알고리즘 및 솔루션(JumpStart models, algorithms, and solutions) 버튼을 클릭합니다. 그러면 SageMaker JumpStart가 시작되고 다양한 추천 콘텐츠, 솔루션, 모델, 문제 유형 등이 포함된 새 창이 표시됩니다. 이 자습서에서는 BERT Base Cased Text 사전 훈련 모델을 실행합니다.
미리 훈련된 모델을 찾으려면 오른쪽 위의 검색 창을 사용하여 BERT를 입력합니다. 그러면 BERT에 대한 모델이 반환됩니다. BERT Base Cased Text - Text Classification이라는 제목의 모델을 클릭합니다. 또는 사용 가능한 모델을 찾아보는 방법으로 올바른 모델을 찾을 수도 있습니다.
BERT 모델에는 미리 훈련된 모델을 있는 그대로 배포하거나 모델을 재훈련하는 옵션이 포함되어 있습니다. 이 자습서에서는 미리 훈련된 모델을 있는 그대로 배포합니다. 시작하려면 배포 구성(Deployment Configuration) 옆의 드롭다운을 클릭합니다. 다음으로 SageMaker 호스팅 인스턴스(SageMaker hosting instance) 드롭다운을 클릭합니다. 엔드포인트를 호스팅하는 데 사용될 리소스에 해당하는 다수의 인스턴스 유형이 표시됩니다. ml.m5.large를 선택합니다. 두 번째 상자는 엔드포인트 이름에 해당합니다. 기본값을 유지합니다. 필요한 경우 엔드포인트 이름을 바꿀 수 있습니다.
보안 설정(Security Settings)이라는 레이블의 다음 드롭다운에서 화살표를 클릭합니다. 실행 역할, VPC 연결 및 암호화를 설정할 수 있습니다. 이 자습서에서는 이러한 단계가 필요하지 않지만 프로덕션 배포에서는 변경하는 것이 좋을 수도 있으니 이러한 옵션이 있다는 것을 알아두세요. 배포(Deploy) 옵션을 클릭하여 모델 엔드포인트 설정을 시작합니다.
다음으로, 모델 배포 상태를 보여주는 대화 상자가 표시됩니다. 프로세스의 이 부분은 5~10분이 소요될 수 있습니다. 이 대화 상자는 프로세스가 진행됨에 따라 모델 유형, 태스크, 엔드포인트 식별자, 엔드포인트 이름, 인스턴스 유형, 인스턴스 수 및 모델 데이터 위치에 대한 메타데이터를 표시하도록 변경됩니다. 엔드포인트 배포가 완료되면 서비스 상태가 서비스 중(In Service)으로 업데이트됩니다.
3단계: 제공된 데모 노트북을 사용하여 새 JumpStart 엔드포인트 쿼리
이제 모델 엔드포인트가 배포되었으니 모델을 대상으로 추론을 실행하여 예측을 검색할 수 있습니다. 자습서의 이 부분에서는 짧은 노트북을 실행하여 이전 단계에서 생성한 엔드포인트를 쿼리합니다.
이 단계에서는 제공된 데모 노트북을 사용하여 엔드포인트를 테스트합니다. 노트북 열기(Open Notebook) 버튼을 클릭하여 노트북을 엽니다. 이 노트북에는 엔드포인트를 통해 텍스트 예제 2개를 실행하고 모델 출력을 표시하는 Python 코드가 포함되어 있습니다. 이 모델은 감정 점수 확률 및 예측 레이블을 예측합니다.
노트북을 통해 계속 진행하려면 스크린샷에 표시된 대로 재생(Play) 아이콘을 클릭합니다. 대안으로 Shift 키를 누른 상태에서 돌아가기(Return)를 눌러 셀을 이동할 수 있습니다. 셀 맨 아래에 예측 레이블 및 연결된 확률이 인쇄됩니다.
이제 미리 훈련된 BERT Base Cased Text - Text Classification 모델을 사용하여 최소한의 노력으로 모델을 배포했습니다. 축하합니다!
4단계: AWS 리소스 정리
사용하지 않는 리소스를 삭제하여 의도하지 않은 비용이 부과되지 않도록 하는 것이 모범 사례입니다.
1단계에서 기존 SageMaker Studio 도메인을 사용한 경우 6단계로 건너뛰고 결론 섹션으로 바로 진행합니다.
1단계에서 CloudFormation 템플릿을 실행하여 새 SageMaker Studio 도메인을 생성한 경우 다음 단계를 계속 진행하여 CloudFormation 템플릿으로 생성된 도메인, 사용자 및 리소스를 삭제합니다.
CloudFormation 콘솔을 열려면 AWS Console 검색 창에 CloudFormation을 입력하고 검색 결과에서 CloudFormation을 선택합니다.
CloudFormation 창에서 스택(Stacks)을 선택합니다. 상태 드롭다운 목록에서 활성(Active)을 선택합니다. 스택 이름(Stack name) 아래에서 CFN-SM-IM-Lambda-Catalog를 선택하여 스택 세부 정보 페이지를 엽니다.
CFN-SM-IM-Lambda-Catalog 스택 세부 정보 페이지에서 삭제(Delete)를 선택하여 스택과 함께 1단계에서 생성된 리소스를 삭제합니다.
결론
다음 단계
기계 학습 모델 훈련
기계 학습을 위한 훈련 데이터 레이블링