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