기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon의 체크포인트 SageMaker
Amazon의 체크포인트 SageMaker 를 사용하여 훈련 중에 기계 학습(ML) 모델의 상태를 저장합니다. 체크포인트는 모델의 스냅샷이며 ML 프레임워크의 콜백 함수로 구성할 수 있습니다. 저장된 체크포인트를 사용하여 마지막으로 저장된 체크포인트에서 훈련 작업을 다시 시작할 수 있습니다.
체크포인트를 사용하여 수행할 수 있는 작업은 다음과 같습니다.
-
훈련 작업 또는 인스턴스의 예기치 않은 중단에 대비하여 훈련 중인 모델 스냅샷을 저장하세요.
-
나중에 체크포인트에서 모델 훈련을 재개하세요.
-
훈련의 중급 단계에서 모델을 분석하세요.
-
액세스 속도를 높이려면 S3 Express One Zone과 함께 체크포인트를 사용합니다.
-
SageMaker 관리형 스팟 훈련과 함께 체크포인트를 사용하여 훈련 비용을 절감하세요.
SageMaker 훈련 메커니즘은 Amazon EC2 인스턴스에서 훈련 컨테이너를 사용하고 체크포인트 파일은 컨테이너의 로컬 디렉터리 아래에 저장됩니다(기본값은 ). 는 로컬 경로에서 Amazon S3로 체크포인트를 복사하는 기능을 /opt/ml/checkpoints
SageMaker 제공하고 해당 디렉터리의 체크포인트를 S3와 자동으로 동기화합니다. S3의 기존 체크포인트는 작업 시작 시 컨테이너에 SageMaker 기록되므로 체크포인트에서 작업을 재개할 수 있습니다. 작업이 시작된 후 S3 폴더에 추가된 체크포인트는 훈련 컨테이너에 복사되지 않습니다. SageMaker 또한 훈련 중에 컨테이너에서 S3로 새 체크포인트를 씁니다. SageMaker 컨테이너에서 체크포인트가 삭제되면 S3 폴더에서도 삭제됩니다.
Amazon S3 Express One Zone 스토리지 클래스(S3 Express One Zone)와 SageMaker 함께 Amazon의 체크포인트를 사용하여 체크포인트에 더 빠르게 액세스할 수 있습니다. 체크포인트를 활성화하고 체크포인트 스토리지 대상에 URI 대해 S3를 지정할 때 S3 범용 버킷 또는 S3 디렉터리 버킷의 URI 폴더에 S3를 제공할 수 있습니다. 와 통합된 S3 디렉터리 버킷은 Amazon S3 관리형 키(-S3)를 사용한 서버 측 암호화로만 암호화할 SageMaker 수 있습니다.SSE-S3 AWS KMS 키(-SSEKMS)를 사용한 서버 측 암호화는 현재 지원되지 않습니다. S3 Express One Zone 및 S3 디렉터리 버킷에 대한 자세한 내용은 S3 Express One Zone이란 무엇입니까?를 참조하세요.
SageMaker 관리형 스팟 훈련과 함께 체크포인트를 사용하는 경우 는 스팟 인스턴스에서 모델 훈련을 체크포인트하고 다음 스팟 인스턴스에서 훈련 작업을 재개하는 것을 SageMaker 관리합니다. SageMaker 관리형 스팟 훈련을 사용하면 ML 모델 훈련에 소요되는 비용을 크게 줄일 수 있습니다. 자세한 내용은 Amazon의 관리형 스팟 훈련 SageMaker 단원을 참조하십시오.
주제
의 프레임워크 및 알고리즘 체크포인트 SageMaker
체크포인트를 사용하여 원하는 프레임워크에 구축된 ML 모델의 스냅샷을 내에 저장합니다 SageMaker.
SageMaker 체크포인트를 지원하는 프레임워크 및 알고리즘
SageMaker 는 훈련 스크립트 변경 없이 AWS 딥 러닝 컨테이너 및 내장 알고리즘의 하위 집합에 대한 체크포인트를 지원합니다. 는 체크포인트를 기본 로컬 경로에 SageMaker 저장'/opt/ml/checkpoints'
하고 Amazon S3에 복사합니다.
-
딥 러닝 컨테이너: TensorFlow
, PyTorch MXNet , 및 HuggingFace 참고
HuggingFace 프레임워크 추정기를 사용하는 경우 하이퍼파라미터를 통해 체크포인트 출력 경로를 지정해야 합니다. 자세한 내용은 HuggingFace 설명서의 Amazon에서 훈련 실행 SageMaker
을 참조하세요. -
기본 제공 알고리즘: 이미지 분류, 객체 감지, 의미 세분화 및 XGBoost (0.90-1 이상)
참고
프레임워크 모드(스크립트 모드)에서 XGBoost 알고리즘을 사용하는 경우 수동으로 구성된 체크포인트가 포함된 XGBoost 훈련 스크립트를 가져와야 합니다. 모델 스냅샷을 저장하는 XGBoost 훈련 방법에 대한 자세한 내용은 Python 설명서의 훈련XGBoost
을 참조하세요. XGBoost SDK
체크포인트를 지원하지 않는 사전 구축된 알고리즘이 관리형 스팟 훈련 작업에 사용되는 경우 SageMaker 는 중단으로 인한 훈련 시간 낭비를 제한하기 위해 작업에 대해 1시간을 초과하는 최대 대기 시간을 허용하지 않습니다.
사용자 지정 훈련 컨테이너 및 기타 프레임워크의 경우
이전 섹션에 나열되지 않은 자체 훈련 컨테이너, 훈련 스크립트 또는 기타 프레임워크를 사용하는 경우 콜백 또는 훈련을 사용하여 훈련 스크립트를 올바르게 설정APIs하여 체크포인트를 로컬 경로('/opt/ml/checkpoints'
)에 저장하고 훈련 스크립트의 로컬 경로에서 로드해야 합니다.추 SageMaker 정기는 로컬 경로와 동기화하고 체크포인트를 Amazon S3에 저장할 수 있습니다.
체크포인트 적용 시 고려 사항
에서 체크포인트를 사용할 때는 다음 사항을 고려하세요 SageMaker.
-
여러 인스턴스를 사용하는 분산 훈련에서 덮어쓰기를 방지하려면 훈련 스크립트에서 체크포인트 파일 이름 및 경로를 수동으로 구성해야 합니다. 상위 수준 SageMaker 체크포인트 구성은 여러 인스턴스의 체크포인트에 태그를 지정할 추가 접미사 또는 접두사 없이 단일 Amazon S3 위치를 지정합니다.
-
SageMaker Python은 체크포인트 빈도에 대한 상위 수준 구성을 지원하지 SDK 않습니다. 체크포인트 지정 빈도를 제어하려면 프레임워크의 모델 저장 함수 또는 체크포인트 콜백을 사용하여 훈련 스크립트를 수정하세요.
-
SageMaker Debugger 및 SageMaker 분산에서 SageMaker 체크포인트를 사용하고 문제가 발생하는 경우 문제 해결 및 고려 사항은 다음 페이지를 참조하세요.