모델 학습,데이터 결과 처리, 프로덕션 배포 및 SageMaker의 CI/CD에 대한 내용이다.
- SageMaker Training이란 무엇일까?
- 완전 관리형 머신 러닝 학습 서비스
- 데이터 과학자가 빠르고 쉽게 모델 개발 및 학습을 할 수 있도록 지원
두가지 타입으로 사용할 수 있다.
작은 용량의 노트북 CPU를 띄워서 데이터 준비 및 코드를 작성하고, 모델 학습은 고성능 CPU에서 실행할 수 있게 한다.
모델 학습 환경의 구성
1. SageMaker 노트북 생성
2. 학습 코드 내 경로 수정
3. 학습 작업의 실행 노트북 작성
1. SageMaker 노트북 생성
노트북 인스턴스에서 모델학습을 수행할 수 있지만, 학습의 확장성이 제한적입니다.
따라서, 별도 인스턴스를 띄워서 모델 학습을 진행하며, 이를 SageMaker Training이라고 합니다.
비용을 절감, 학습의 확장성을 고려해서 노트북에서 학습하기 보다는 별도 인스턴스에서 학습하길 권장한다.
학습이 끝나면 AWS에서 제공하는 학습 클러스터는 종료되고 과금되지 않는다.
학습을 실행하게 되면 정의한 내용 대로 학습 인스턴스가 여러개 뜰 수도 있고 컨테이너 이미지가 여러개 뜰 수 있고 컨테이너들끼리 네트워크로 연결되어 분산 작업이 가능하다.
동작방식은 어떻게 될까?
노트북에서 생성된 학습코드, S3에 저장된 데이터, AmazonECR에서 생성한 Custom학습 컨테이너 이미지가 학습 실행을 시작시키면 SageMaker 학습 클러스터에 복사되어 실행이 되고, 학습 종료 후 클러스터는 사라지게 된다.
2. 학습 코드 내 경로 수정
학습코드를 노트북에 올리고, code 폴더는 자동으로 학습 클러스터의 학습 인스턴스에 자동으로 복사된다.
3. 학습 코드 내 경로 수정
학습 클러스터의 인스턴스 종류/수 실행할 학습코드, 학습 환경 컨테이너 등을 Estimator로 정의
작동원리
간단하게 AWS 에서 제공하는 영상을 보면서 SageMaker가 어떤 건지 정도 알 수 있었다고 한다..
'AWS' 카테고리의 다른 글
Java에서 AWS SES로 HTML 이메일 전송 그리고 SMTP/MIME (0) | 2023.02.21 |
---|---|
EC2 'No space left on device' 파일 시스템에 남은 공간 없을 때 EBS 볼륨 크기 늘리기 (0) | 2022.05.24 |
Amazon Linux 2 EC2에 Jenkins 설치 (0) | 2022.01.17 |
Java + AWS Lambda 사용 예시 메모 (0) | 2021.05.11 |
[Elasitcsearch] 문자열 Data Type (0) | 2019.09.30 |