Amazon SageMaker Debugger에서 관리하는 기본 제공 프로파일러 규칙 사용
Amazon SageMaker Debugger의 기본 제공 프로파일러 규칙은 모델 훈련 중에 수집된 시스템 지표와 프레임워크 작업을 분석합니다. Debugger는 훈련 컴퓨팅 리소스 및 작업을 모니터링하고 이상 항목을 탐지하도록 규칙을 구성하는 데 도움이 되는 ProfilerRule
API 작업을 제공합니다. 예를 들어 프로파일링 규칙을 사용하면 CPU 병목 현상, 과도한 I/O 대기 시간, GPU 작업자 간의 불균형 워크로드, 컴퓨팅 리소스 사용률 저하 등의 계산 문제 여부를 감지할 수 있습니다. 기본 제공 프로파일링 규칙에 사용할 수 있는 전체 목록은 디버거 내장 프로파일러 규칙 목록을 참조하세요. 다음 주제에서는 기본 파라미터 설정 및 사용자 지정 파라미터 값과 함께 Debugger 기본 제공 규칙을 사용하는 방법을 보여줍니다.
참고
기본 제공 규칙은 Amazon SageMaker Processing 컨테이너를 통해 제공되며 추가 비용 없이 SageMaker Debugger에서 완전히 관리됩니다. 청구에 대한 자세한 내용은 Amazon SageMaker 요금
주제
SageMaker Debugger 기본 제공 프로파일러 규칙을 기본 파라미터 설정과 함께 사용하기
SageMaker Debugger 기본 제공 규칙을 예측기에 추가하려면 rules
목록 객체를 구성해야 합니다. 다음 예제 코드는 SageMaker Debugger 기본 제공 규칙을 나열하는 기본 구조를 보여줍니다.
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.
BuiltInProfilerRuleName_1
()), ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_2
()), ... ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_n
()), ... # You can also append more debugging rules in the Rule.sagemaker(rule_configs.*()) format. ] estimator=Estimator( ... rules=rules )
사용 가능한 기본 제공 규칙의 전체 목록은 디버거 내장 프로파일러 규칙 목록을 참조하세요.
프로파일링 규칙을 사용하고 훈련 작업의 계산 성능 및 진행 상황을 검사하려면 SageMaker Debugger의 ProfilerReport
규칙을 추가하세요. 이 규칙은 Debugger ProfilerRule ProfilerRule
패밀리의 모든 기본 제공 규칙을 활성화합니다. 또한, 이 규칙은 집계된 프로파일링 보고서를 생성합니다. 자세한 내용은 SageMaker Debugger를 사용하여 생성된 프로파일링 보고서를 참조하세요. 다음 코드를 사용하여 훈련 예측기에 프로파일링 보고서 규칙을 추가할 수 있습니다.
from sagemaker.debugger import Rule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.
ProfilerReport
()) ]
ProfilerReport
규칙을 사용하여 훈련 작업을 시작하면 Debugger는 500밀리초마다 리소스 사용률 데이터를 수집합니다. Debugger는 리소스 사용률을 분석하여 모델에 병목 문제가 있는지 파악합니다. 규칙이 훈련 이상 항목을 감지하면 규칙 평가 상태가 IssueFound
로 변경됩니다. Amazon CloudWatch Events 및 AWS Lambda를 사용하여 훈련 문제를 알리고 중단하는 등의 자동화된 작업을 설정할 수 있습니다. 자세한 내용은 Amazon SageMaker Debugger 규칙에 대한 작업 단원을 참조하세요.
사용자 지정 파라미터 값이 있는 디버거 기본 제공 프로파일러 규칙을 사용합니다.
기본 제공 규칙 파라미터 값을 조정하고 텐서 컬렉션 정규 표현식을 사용자 지정하려면 ProfilerRule.sagemaker
및 Rule.sagemaker
클래스 메서드의 base_config
및 rule_parameters
파라미터를 구성합니다. Rule.sagemaker
클래스 메서드의 경우 collections_to_save
파라미터를 통해 텐서 컬렉션을 사용자 지정할 수도 있습니다. CollectionConfig
클래식을 사용하는 방법에 대한 지침은 CollectionConfig API를 사용하여 텐서 컬렉션 구성을 참조하세요.
기본 제공 규칙에 대해 다음과 같은 구성 템플릿을 사용하여 파라미터 값을 사용자 지정합니다. 원하는 대로 규칙 파라미터를 변경하여 실행할 규칙의 민감도를 조정할 수 있습니다.
-
base_config
인수는 기본 제공 규칙 메서드를 호출하는 곳입니다. -
rule_parameters
인수는 디버거 내장 프로파일러 규칙 목록에 나열된 기본 제공 규칙의 기본 키 값을 조정하기 위한 것입니다.
Debugger 규칙 클래스, 메서드 및 파라미터에 대한 자세한 내용은 Amazon SageMaker Python SDK
from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig rules=[ ProfilerRule.sagemaker( base_config=rule_configs.
BuiltInProfilerRuleName
(), rule_parameters={ "key
": "value
" } ) ]
각 규칙에 대한 파라미터 설명 및 값 사용자 지정 예제는 디버거 내장 프로파일러 규칙 목록에서 제공됩니다.
CreateTrainingJob
API를 사용하는 Debugger 기본 제공 규칙의 하위 수준 JSON 구성에 대한 자세한 내용은 SageMaker API를 사용한 Debugger 구성을 참조하세요.