CreateTrainingJob API에 전달되는 인수를 제어하려면 launch 큐 설정을 사용하세요.
Amazon SageMaker는 도커 이미지를 사용해 트레이닝 작업을 실행합니다. SageMaker가 가져오는 이미지는 Amazon Elastic Container Registry(ECR)에 저장되어 있어야 합니다. 즉, 트레이닝에 사용하는 이미지는 ECR에 저장되어 있어야 합니다.
이 가이드는 SageMaker Training Job을 실행하는 방법을 설명합니다. Amazon SageMaker에서 Inference용 모델에 배포하는 방법은 이 예제 Launch job을 참조하세요.
사전 요구 사항
- Launch 에이전트가 도커 이미지를 대신 빌드하도록 할지 결정합니다.
- AWS 리소스를 설정하고 S3, ECR, SageMaker IAM 역할에 대한 정보를 수집합니다.
- Launch 에이전트용 IAM 역할을 생성합니다.
Launch 에이전트가 도커 이미지를 빌드할지 결정합니다
- Launch 에이전트가 도커 이미지를 빌드하고, 이미지를 Amazon ECR에 푸시한 다음, SageMaker Training 작업을 제출하도록 허용합니다. 이 옵션은 트레이닝 코드를 빠르게 반복 개선하는 ML 엔지니어에게 더 간편한 방법이 될 수 있습니다.
- Launch 에이전트가 트레이닝 또는 Inference 스크립트가 포함된 기존 도커 이미지를 사용합니다. 이 옵션은 기존 CI 시스템과 잘 맞습니다. 이 옵션을 선택하면 Amazon ECR의 컨테이너 레지스트리에 도커 이미지를 직접 업로드해야 합니다.
AWS 리소스 설정
- 컨테이너 이미지를 저장할 ECR 저장소
- SageMaker 트레이닝 작업의 입력과 출력을 저장할 하나 이상의 S3 버킷
- SageMaker가 트레이닝 작업을 실행하고 Amazon ECR 및 Amazon S3와 상호 작용할 수 있도록 허용하는 Amazon SageMaker용 IAM 역할
Launch 에이전트용 IAM 정책 만들기
- AWS의 IAM 화면에서 새 정책을 만듭니다.
- JSON 정책 편집기로 전환한 다음, 사용 사례에 따라 아래 정책을 붙여넣습니다.
<>로 둘러싸인 값은 사용자 환경에 맞는 값으로 바꾸세요.
- 에이전트가 사전 빌드된 도커 이미지를 제출하는 경우
- 에이전트가 도커 이미지를 빌드하고 제출하는 경우
- Next를 클릭합니다.
- 정책의 이름과 설명을 입력합니다.
- Create policy를 클릭합니다.
Launch 에이전트용 IAM 역할 생성
- AWS의 IAM 화면에서 새 역할을 생성합니다.
- Trusted Entity에서 AWS Account를 선택합니다(또는 조직의 정책에 맞는 다른 옵션을 선택합니다).
- 권한 화면에서 스크롤하여 바로 앞 단계에서 생성한 정책 이름을 선택합니다.
- 역할의 이름과 설명을 입력합니다.
- Create role을 선택합니다.
- 역할의 ARN을 기록해 둡니다. Launch 에이전트를 설정할 때 이 ARN을 지정합니다.
- Launch 에이전트가 이미지를 빌드해야 하는 경우, 추가로 필요한 권한은 Advanced agent set up을 참조하세요.
- SageMaker 큐의
kms:CreateGrant권한은 연결된 ResourceConfig에 VolumeKmsKeyId가 지정되어 있고, 연결된 역할에 이 작업을 허용하는 정책이 없는 경우에만 필요합니다.
SageMaker용 Launch 큐 설정
- Launch App(으)로 이동합니다.
- Create Queue 버튼을 클릭합니다.
- 큐를 생성할 Entity를 선택합니다.
- Name 필드에 큐 이름을 입력합니다.
- Resource로 SageMaker를 선택합니다.
- Configuration 필드에 SageMaker 작업 정보를 입력합니다. 기본적으로 W&B가 YAML 및 JSON
CreateTrainingJob요청 본문을 미리 채워 넣습니다:
RoleArn: SageMaker 실행 IAM 역할의 ARN입니다(사전 요구 사항 참조). Launch 에이전트 IAM 역할과 혼동하지 마세요.OutputDataConfig.S3OutputPath: SageMaker 출력이 저장될 위치를 지정하는 Amazon S3 URI입니다.ResourceConfig: 필수 리소스 설정 사양입니다. 리소스 설정 옵션은 여기에 설명되어 있습니다.StoppingCondition: 트레이닝 작업의 중지 조건에 대한 필수 사양입니다. 옵션은 여기에 설명되어 있습니다.
- Create Queue 버튼을 클릭합니다.
Launch 에이전트 설정
Launch 에이전트를 어디에서 실행할지 결정하기
t2.micro 크기의 EC2 인스턴스로도 충분합니다.
실험용 또는 개인 사용 사례에서는 로컬 머신에서 Launch 에이전트를 실행하는 것이 빠르게 시작할 수 있는 방법입니다.
사용 사례에 따라, 다음 탭의 안내에 따라 Launch 에이전트를 올바르게 설정하세요:
- EKS
- EC2
- 로컬 머신
W&B는 EKS 클러스터에 에이전트를 설치할 때 W&B managed helm chart를 사용할 것을 강력히 권장합니다.
Launch 에이전트 설정
launch-config.yaml이라는 이름의 YAML 설정 파일로 Launch 에이전트를 설정합니다.
기본적으로 W&B는 ~/.config/wandb/launch-config.yaml에서 설정 파일을 찾습니다. -c 플래그를 사용해 Launch 에이전트를 활성화할 때 다른 디렉터리를 선택적으로 지정할 수 있습니다.
다음 YAML 스니펫은 핵심 에이전트 설정 옵션을 지정하는 방법을 보여줍니다:
launch-config.yaml
wandb launch-agent로 에이전트를 시작하세요
(선택 사항) launch job 도커 이미지를 Amazon ECR에 푸시
이 섹션은 Launch 에이전트가 트레이닝 또는 Inference 로직이 포함된 기존 도커 이미지를 사용하는 경우에만 적용됩니다. Launch 에이전트의 동작 방식에는 두 가지 옵션이 있습니다.