Amazon SageMaker Debugger 참조 - Amazon SageMaker

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

Amazon SageMaker Debugger 참조

다음 주제에서 Amazon SageMaker Debugger 사용에 대한 자세한 정보와 참조를 확인하세요.

Amazon SageMaker 디버거 APIs

Amazon SageMaker Debugger는 모델 훈련의 모니터링 및 분석을 구현하는 데 사용되는 여러 위치에 API 작업을 보유하고 있습니다.

또한 Amazon SageMaker Debugger는 기본 제공 규칙을 구성하고, 사용자 지정 규칙을 정의하고, 후크를 등록하여 훈련 작업에서 출력 텐서 데이터를 수집하는 데 사용되는 오픈 소스 sagemaker-debugger PythonSDK을 제공합니다.

Amazon SageMaker PythonSDK은 기계 학습 실험에 중점을 SDK 둔 상위 수준입니다. 를 사용하여 SMDebug Python 라이브러리로 정의된 내장 또는 사용자 지정 규칙을 배포하여 SageMaker 추정기를 사용하여 이러한 텐서를 모니터링하고 분석할 SDK 수 있습니다.

Debugger는 모델을 훈련할 때 플랫폼이 Debugger를 사용하고 입력 및 출력 구성을 관리할 수 있도록 Amazon SageMaker API에 작업 및 유형을 추가했습니다.

규칙 구성 API 작업은 모델 훈련을 분석할 때 SageMaker 처리 기능을 사용합니다. SageMaker 처리에 대한 자세한 내용은 섹션을 참조하세요 SageMaker 프로세싱을 통한 데이터 변환 워크로드.

Debugger 규칙용 도커 이미지

Amazon SageMaker 은 규칙을 위한 Docker 이미지 세트 2개를 제공합니다. 하나는 SageMaker (기본 제공 규칙)에서 제공하는 규칙을 평가하기 위한 세트이고 다른 하나는 Python 소스 파일에 제공되는 사용자 지정 규칙을 평가하기 위한 세트입니다.

Amazon SageMaker Python SDK를 사용하는 경우 Debugger Docker 이미지를 수동으로 검색하고 를 구성할 필요 없이 SageMaker Estimator API 작업과 함께 SageMaker 고급 Debugger API 작업을 사용할 수 있습니다ConfigureTrainingJobAPI.

SageMaker Python 을 사용하지 않는 경우 Debugger 규칙에 대해 미리 빌드된 관련 컨테이너 기본 이미지를 검색SDK해야 합니다. Amazon SageMaker Debugger는 기본 제공 및 사용자 지정 규칙을 위해 사전 구축된 Docker 이미지를 제공하며, 이미지는 Amazon Elastic Container Registry(Amazon)에 저장됩니다ECR. Amazon ECR리포지토리에서 이미지를 가져오려면(또는 이미지를 하나로 푸시하려면) CreateTrainingJob 를 사용하여 이미지URL의 전체 이름 레지스트리를 사용합니다API. 는 Debugger 규칙 컨테이너 이미지 레지스트리 주소에 다음 URL 패턴을 SageMaker 사용합니다.

<account_id>.dkr.ecr.<Region>.amazonaws.com/<ECR repository name>:<tag>

각 AWS 리전의 계정 ID, Amazon ECR리포지토리 이름 및 태그 값은 다음 주제를 참조하세요.

기본 제공 규칙 평가자URIs를 위한 Amazon SageMaker Debugger 이미지

Amazon SageMaker Debugger에 기본 제공 규칙을 제공하는 이미지의 레지스트리 구성 요소에 URLs 다음 값을 사용합니다. 계정 은 다음 표를 IDs참조하세요.

ECR 리포지토리 이름: sagemaker-debugger-rules

태그: 최신

전체 레지스트리의 예URL:

904829902805.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rules:latest

AWS 리전별 기본 제공 규칙 컨테이너 이미지 IDs 계정

리전 account_id
af-south-1

314341159256

ap-east-1

199566480951

ap-northeast-1

430734990657

ap-northeast-2

578805364391

ap-south-1

904829902805

ap-southeast-1

972752614525

ap-southeast-2

184798709955

ca-central-1

519511493484

cn-north-1

618459771430

cn-northwest-1

658757709296

eu-central-1

482524230118

eu-north-1

314864569078

eu-south-1

563282790590

eu-west-1

929884845733

eu-west-2

250201462417

eu-west-3

447278800020

me-south-1

986000313247

sa-east-1

818342061345

us-east-1

503895931360

us-east-2

915447279597

us-west-1

685455198987

us-west-2

895741380848

us-gov-west-1

515509971035

사용자 지정 규칙 평가자URIs를 위한 Amazon SageMaker Debugger 이미지

Amazon SageMaker Debugger에 대한 사용자 지정 규칙 평가자를 제공하는 URL 이미지의 레지스트리 구성 요소에 다음 값을 사용합니다. 계정 은 다음 표를 IDs참조하세요.

ECR 리포지토리 이름: sagemaker-debugger-rule-evaluator

태그: 최신

전체 레지스트리의 예URL:

552407032007.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rule-evaluator:latest

AWS 리전별 사용자 지정 규칙 컨테이너 이미지 IDs 계정

리전 account_id
af-south-1

515950693465

ap-east-1

645844755771

ap-northeast-1

670969264625

ap-northeast-2

326368420253

ap-south-1

552407032007

ap-southeast-1

631532610101

ap-southeast-2

445670767460

ca-central-1

105842248657

cn-north-1

617202126805

cn-northwest-1

658559488188

eu-central-1

691764027602

eu-north-1

091235270104

eu-south-1

335033873580

eu-west-1

606966180310

eu-west-2

074613877050

eu-west-3

224335253976

me-south-1

050406412588

sa-east-1

466516958431

us-east-1

864354269164

us-east-2

840043622174

us-west-1

952348334681

us-west-2

759209512951

us-gov-west-1

515361955729

Amazon SageMaker Debugger 예외

Amazon SageMaker Debugger는 규칙을 실행하는 데 필요한 텐서를 모든 단계에서 사용하지 못할 수 있음을 인식하도록 설계되었습니다. 따라서 텐서가 누락 될 때 발생하는 일을 제어할 수 있도록 몇 가지 예외를 발생시킵니다. 이들은 smdebug.exception 모듈에서 사용할 수 있습니다. 다음과 같이 예외를 가져올 수 있습니다.

from smdebug.exceptions import *

다음과 같은 예외를 사용할 수 있습니다.

  • TensorUnavailableForStep – 요청된 텐서를 해당 단계에 사용할 수 없습니다. 이는 이 단계가 후크에 의해 전혀 저장되지 않을 수도 있거나 이 단계가 일부 텐서를 저장했을 수도 있지만 요청된 텐서가 그 일부가 아님을 의미할 수 있습니다. 이 예외가 표시된다는 것은 이 텐서는 향후 이 단계에서 사용할 수 없게 된다는 의미입니다. 텐서는 해당 단계에 대해 저장된 감소가 있으면 쿼리가 가능함을 사용자에게 알립니다.

  • TensorUnavailable - 이 텐서는 저장되지 않거나 smdebug 에서 저장되지 않았습니다API. 즉, 이 텐서는 smdebug의 어떤 단계에서도 표시되지 않습니다.

  • StepUnavailable – 단계가 저장되지 않았으며 Debugger에는 해당 단계의 데이터가 없습니다.

  • StepNotYetAvailable – 단계가 smdebug에서 아직 표시되지 않았습니다. 훈련이 아직 진행 중이라면 나중에 사용할 수 있을 것입니다. Debugger는 사용 가능해지면 바로 새 데이터를 자동으로 로드합니다.

  • NoMoreData – 훈련이 끝날 때 발생합니다. 이러한 예외가 발생하면 저장할 단계와 텐서가 더 이상 없다는 것을 알 수 있습니다.

  • IndexReaderException – 인덱스 판독기가 유효하지 않습니다.

  • InvalidWorker – 유효하지 않은 작업자가 호출되었습니다.

  • RuleEvaluationConditionMet – 해당 단계에서 규칙을 평가하면 조건이 충족됩니다.

  • InsufficientInformationForRuleInvocation – 규칙을 호출하기 제공된 정보가 부족합니다.

Amazon SageMaker Debugger에서 지원하는 분산 훈련

다음 목록은 딥 러닝 프레임워크와 다양한 분산형 훈련 옵션을 갖춘 훈련 작업에서 Debugger를 사용하기 위한 유효성 범위와 고려 사항을 보여줍니다.

  • Horovod

    Horovod를 사용한 훈련 작업에 Debugger를 사용할 때의 유효성 범위

    딥 러닝 프레임워크 Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow Keras를 사용한 2.x PyTorch
    모니터링 시스템 병목 현상
    프레임워크 작업 프로파일링 아니요 아니요 아니요
    모델 출력 텐서 디버깅
  • SageMaker 분산 데이터 병렬

    SageMaker 분산 데이터가 병렬인 훈련 작업에 Debugger를 사용하는 것의 유효성 범위

    딥 러닝 프레임워크 TensorFlow 2.x TensorFlow Keras를 사용한 2.x PyTorch
    모니터링 시스템 병목 현상
    프레임워크 작업 프로파일링 아니요* 아니요**
    모델 출력 텐서 디버깅

    * 디버거는 TensorFlow 2.x에 대한 프레임워크 프로파일링을 지원하지 않습니다.

    ** SageMaker 분산된 데이터 병렬은 Keras 구현에서 TensorFlow 2.x를 지원하지 않습니다.

  • SageMaker 분산 모델 병렬 - Debugger는 SageMaker 분산 모델 병렬 훈련을 지원하지 않습니다.

  • SageMaker 체크포인트가 있는 분산 훈련 - 분산 훈련 옵션과 체크 SageMaker 포인트가 모두 활성화된 경우 훈련 작업에 디버거를 사용할 수 없습니다. 다음과 같은 오류를 볼 수 있습니다.

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    분산 훈련 옵션이 있는 훈련 작업에 Debugger를 사용하려면 SageMaker 체크포인트 기능을 비활성화하고 훈련 스크립트에 수동 체크포인트 기능을 추가해야 합니다. 분산형 훈련 옵션 및 체크포인트와 함께 Debugger를 사용하는 방법에 대한 자세한 내용은 Amazon SageMaker 디버거 및 체크포인트와 함께 SageMaker 분산 데이터 병렬로 사용체크포인트 저장을 참조하세요.

  • 파라미터 서버 - Debugger는 파라미터 서버 기반 분산형 훈련을 지원하지 않습니다.

  • 분산 데이터 병렬 작업 및 Horovod 작업과 같은 AllReduced SageMaker 분산 훈련 프레임워크 작업 프로파일링은 사용할 수 없습니다. https://horovod.readthedocs.io/en/stable/timeline_include.html