기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker 훈련 및 추론 도구 키트
SageMaker 훈련
-
코드 및 기타 리소스를 저장하기위한 위치.
-
컨테이너가 시작될 때 실행할 코드가 포함된 진입점. Dockerfile은 와 호환되는 컨테이너에서 예상되는 위치로 실행해야 하는 코드를 복사해야 합니다 SageMaker.
-
또한 라이브러리는 컨테이너가 훈련 및 추론을 위해 배포를 관리하는 데 필요한 기타 정보.
SageMaker 툴킷 컨테이너 구조
가 모델을 SageMaker 학습시키면 컨테이너 디렉터리에 다음과 같은 파일 폴더 구조가 생성됩니다/opt/ml
.
/opt/ml ├── input │ ├── config │ │ ├── hyperparameters.json │ │ └── resourceConfig.json │ └── data │ └── <channel_name> │ └── <input data> ├── model │ ├── code │ ├── output │ └── failure
모델 훈련 작업을 실행할 때 SageMaker 컨테이너는 알고리즘의 하이퍼파라미터를 구성하는 JSON 파일과 분산 훈련에 사용되는 네트워크 레이아웃이 포함된 /opt/ml/input/
디렉터리를 사용합니다. /opt/ml/input/
디렉터리에는 가 데이터에 SageMaker 액세스하는 채널을 지정하는 파일도 포함되어 있으며, 이 채널은 Amazon Simple Storage Service(Amazon S3)에 저장됩니다. SageMaker 컨테이너 라이브러리는 컨테이너가 실행할 스크립트를 /opt/ml/code/
디렉터리에 배치합니다. 스크립트는 알고리즘에서 생성된 모델을 /opt/ml/model/
디렉터리에 기록해야 합니다. 자세한 내용은 사용자 지정 훈련 알고리즘이 있는 컨테이너 단원을 참조하십시오.
추론을 SageMaker 위해 에서 훈련된 모델을 호스팅하면 모델을 HTTP 엔드포인트에 배포합니다. 이 모델은 추론 요청에 대한 응답으로 실시간 예측을 수행합니다. 컨테이너는 이러한 요청을 처리하기 위해 검색 스택을 포함해야 합니다.
호스팅 또는 배치 변환 컨테이너에서 모델 파일은 훈련 중에 기록된 폴더와 동일한 폴더에 위치합니다.
/opt/ml/model │ └── <model files>
자세한 내용은 사용자 지정 추론 코드가 있는 컨테이너 단원을 참조하십시오.
단일 컨테이너 대 다중 컨테이너
훈련 알고리즘 및 추론 코드에 대해 별도의 도커 이미지를 제공할 수 있습니다. 또는, 양쪽 모두에 단일 도커 이미지를 사용할 수 있습니다. 와 함께 사용할 Docker 이미지를 생성할 때는 다음 사항을 SageMaker고려하세요.
-
2개의 도커 이미지를 제공하면 스토리지 요건 및 비용이 증가합니다. 일반 라이브러리가 중복될 수 있기 때문입니다.
-
일반적으로 컨테이너가 작을수록 훈련 및 호스팅에 대해 빠르게 시작합니다. 모델 훈련이 더 빠르고 호스팅 서비스는 빠르게 자동으로 크기를 조정하여 트래픽 증가에 대응합니다.
-
훈련 컨테이너보다 훨씬 작은 추론 컨테이너를 작성할 수 있습니다. 이는 훈련GPUs에 를 사용할 때 특히 일반적이지만 추론 코드는 에 최적화되어 있습니다CPUs.
-
SageMaker 는 Docker 컨테이너가 권한 있는 액세스 권한 없이 실행되도록 요구합니다.
-
빌드한 Docker 컨테이너와 에서 제공한 Docker 컨테이너 모두
Stdout
및Stderr
파일로 메시지를 보낼 SageMaker 수 있습니다. 는 이러한 메시지를 AWS 계정의 Amazon CloudWatch 로그로 SageMaker 보냅니다.
SageMaker 컨테이너를 생성하는 방법과 컨테이너 내에서 스크립트가 실행되는 방법에 대한 자세한 내용은 의 SageMaker Training Toolkit