Amazon SageMaker AI의 체크포인트 - Amazon SageMaker AI

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

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의 체크포인트를 사용하여 체크포인트에 더 빠르게 액세스할 수 있습니다. Amazon S3 체크포인트를 활성화하고 체크포인트 스토리지 대상에 대한 S3 URI를 지정할 때 S3 범용 버킷 또는 S3 디렉터리 버킷의 폴더에 S3 URI를 제공할 수 있습니다. SageMaker AI와 통합된 SS3 디렉터리 버킷은 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 설명서 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 AI 체크포인트를 SageMaker Debugger 및 SageMaker AI 분산과 함께 사용하고 문제가 있는 경우 문제 해결 및 고려 사항은 다음 페이지를 참조하세요.