Amazon Debugger에서 관리하는 내장 프로파일러 규칙을 구성합니다. SageMaker - 아마존 SageMaker

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

Amazon Debugger에서 관리하는 내장 프로파일러 규칙을 구성합니다. SageMaker

Amazon SageMaker Debugger 내장 프로파일러 규칙은 모델 교육 중에 수집된 시스템 지표와 프레임워크 작업을 분석합니다. Debugger는 훈련 컴퓨팅 리소스 및 작업을 모니터링하고 이상 항목을 탐지하도록 규칙을 구성하는 데 도움이 되는 ProfilerRule API 작업을 제공합니다. 예를 들어 프로파일링 규칙을 사용하면 CPU 병목 현상, 과도한 I/O 대기 시간, GPU 작업자 간의 불균형 워크로드, 컴퓨팅 리소스 사용률 저하 등의 계산 문제 여부를 감지할 수 있습니다. 기본 제공 프로파일링 규칙에 사용할 수 있는 전체 목록은 디버거 내장 프로파일러 규칙 목록을 참고하세요.

참고

기본 제공 규칙은 Amazon SageMaker 처리 컨테이너를 통해 제공되며 추가 비용 없이 SageMaker Debugger에서 완전히 관리됩니다. 청구에 대한 자세한 내용은 Amazon SageMaker 요금 페이지를 참조하십시오.

다음 주제에서는 디버거 기본 제공 규칙을 사용하는 방법을 알아봅니다.

SageMaker 디버거 내장 프로파일러 규칙을 기본 파라미터 설정과 함께 사용하십시오.

SageMaker 디버거 내장 규칙을 에스티메이터에 추가하려면 목록 객체를 구성해야 합니다. rules 다음 예제 코드는 SageMaker 디버거 내장 규칙을 나열하는 기본 구조를 보여줍니다.

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 )

사용 가능한 기본 제공 규칙의 전체 목록은 디버거 내장 프로파일러 규칙 목록을 참고하세요.

프로파일링 규칙을 사용하고 교육 작업의 계산 성능 및 진행 상황을 검사하려면 Debugger 규칙을 추가하십시오. ProfilerReport SageMaker 이 규칙은 Debugger 제품군에 내장된 모든 규칙을 활성화합니다. ProfilerRule ProfilerRule 또한, 이 규칙은 집계된 프로파일링 보고서를 생성합니다. 자세한 내용은 디버거를 사용하여 생성한 프로파일링 보고서를 참조하십시오. SageMaker 다음 코드를 사용하여 훈련 예측기에 프로파일링 보고서 규칙을 추가할 수 있습니다.

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 디버거 규칙 기반 조치을 참조하세요.

사용자 지정 파라미터 값이 있는 디버거 기본 제공 프로파일러 규칙을 사용합니다.

기본 제공 규칙 파라미터 값을 조정하고 텐서 컬렉션 정규 표현식을 사용자 지정하려면 ProfilerRule.sagemakerRule.sagemaker 클래스 메서드의 base_configrule_parameters 파라미터를 구성합니다. Rule.sagemaker 클래스 메서드의 경우 collections_to_save 파라미터를 통해 텐서 컬렉션을 사용자 지정할 수도 있습니다. CollectionConfig 클래식을 사용하는 방법에 대한 지침은 CollectionConfig API를 사용하여 텐서 컬렉션 구성을 참고하세요.

기본 제공 규칙에 대해 다음과 같은 구성 템플릿을 사용하여 파라미터 값을 사용자 지정합니다. 원하는 대로 규칙 파라미터를 변경하여 실행할 규칙의 민감도를 조정할 수 있습니다.

  • base_config 인수는 기본 제공 규칙 메서드를 호출하는 곳입니다.

  • rule_parameters 인수는 디버거 내장 프로파일러 규칙 목록에 나열된 기본 제공 규칙의 기본 키 값을 조정하기 위한 것입니다.

디버거 규칙 클래스, 메서드 및 파라미터에 대한 자세한 내용은 Amazon SageMaker Python SDK의 SageMaker디버거 규칙 클래스를 참조하십시오.

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 구성에 대한 자세한 내용은 Amazon SageMaker API를 사용하여 디버거 구성을 참고하세요.