Amazon의 체크포인트 SageMaker - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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, PyTorchMXNet, 및 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 체크포인트를 사용하고 문제가 발생하는 경우 문제 해결 및 고려 사항은 다음 페이지를 참조하세요.