

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

# Amazon SageMaker Debugger에서 관리하는 기본 제공 프로파일러 규칙 사용
<a name="use-debugger-built-in-profiler-rules"></a>

Amazon SageMaker Debugger의 기본 제공 프로파일러 규칙은 모델 훈련 중에 수집된 시스템 지표와 프레임워크 작업을 분석합니다. Debugger는 훈련 컴퓨팅 리소스 및 작업을 모니터링하고 이상 항목을 탐지하도록 규칙을 구성하는 데 도움이 되는 `ProfilerRule` API 작업을 제공합니다. 예를 들어 프로파일링 규칙을 사용하면 CPU 병목 현상, 과도한 I/O 대기 시간, GPU 작업자 간의 불균형 워크로드, 컴퓨팅 리소스 사용률 저하 등의 계산 문제 여부를 감지할 수 있습니다. 기본 제공 프로파일링 규칙에 사용할 수 있는 전체 목록은 [디버거 내장 프로파일러 규칙 목록](debugger-built-in-profiler-rules.md)을 참조하세요. 다음 주제에서는 기본 파라미터 설정 및 사용자 지정 파라미터 값과 함께 Debugger 기본 제공 규칙을 사용하는 방법을 보여줍니다.

**참고**  
기본 제공 규칙은 Amazon SageMaker Processing 컨테이너를 통해 제공되며 추가 비용 없이 SageMaker Debugger에서 완전히 관리됩니다. 청구에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)을 참조하세요.

**Topics**
+ [

## SageMaker Debugger 기본 제공 프로파일러 규칙을 기본 파라미터 설정과 함께 사용하기
](#debugger-built-in-profiler-rules-configuration)
+ [

## 사용자 지정 파라미터 값이 있는 디버거 기본 제공 프로파일러 규칙을 사용합니다.
](#debugger-built-in-profiler-rules-configuration-param-change)

## SageMaker Debugger 기본 제공 프로파일러 규칙을 기본 파라미터 설정과 함께 사용하기
<a name="debugger-built-in-profiler-rules-configuration"></a>

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
)
```

사용 가능한 기본 제공 규칙의 전체 목록은 [디버거 내장 프로파일러 규칙 목록](debugger-built-in-profiler-rules.md)을 참조하세요.

프로파일링 규칙을 사용하고 훈련 작업의 계산 성능 및 진행 상황을 검사하려면 SageMaker Debugger의 [https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-built-in-profiler-rules.html#profiler-report](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-built-in-profiler-rules.html#profiler-report) 규칙을 추가하세요. 이 규칙은 [Debugger ProfilerRule](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-built-in-profiler-rules.html#debugger-built-in-profiler-rules-ProfilerRule) `ProfilerRule` 패밀리의 모든 기본 제공 규칙을 활성화합니다. 또한, 이 규칙은 집계된 프로파일링 보고서를 생성합니다. 자세한 내용은 [SageMaker Debugger를 사용하여 생성된 프로파일링 보고서](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-profiling-report.html)를 참조하세요. 다음 코드를 사용하여 훈련 예측기에 프로파일링 보고서 규칙을 추가할 수 있습니다.

```
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 규칙에 대한 작업](debugger-action-on-rules.md) 단원을 참조하십시오.

## 사용자 지정 파라미터 값이 있는 디버거 기본 제공 프로파일러 규칙을 사용합니다.
<a name="debugger-built-in-profiler-rules-configuration-param-change"></a>

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

기본 제공 규칙에 대해 다음과 같은 구성 템플릿을 사용하여 파라미터 값을 사용자 지정합니다. 원하는 대로 규칙 파라미터를 변경하여 실행할 규칙의 민감도를 조정할 수 있습니다.
+ `base_config` 인수는 기본 제공 규칙 메서드를 호출하는 곳입니다.
+ `rule_parameters` 인수는 [디버거 내장 프로파일러 규칙 목록](debugger-built-in-profiler-rules.md)에 나열된 기본 제공 규칙의 기본 키 값을 조정하기 위한 것입니다.

Debugger 규칙 클래스, 메서드 및 파라미터에 대한 자세한 내용은 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)의 [SageMaker AI Debugger Rule class](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html)를 참조하세요.

```
from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig

rules=[
    ProfilerRule.sagemaker(
        base_config=rule_configs.BuiltInProfilerRuleName(),
        rule_parameters={
                "key": "value"
        }
    )
]
```

각 규칙에 대한 파라미터 설명 및 값 사용자 지정 예제는 [디버거 내장 프로파일러 규칙 목록](debugger-built-in-profiler-rules.md)에서 제공됩니다.

`CreateTrainingJob` API를 사용하는 Debugger 기본 제공 규칙의 하위 수준 JSON 구성에 대한 자세한 내용은 [SageMaker API를 사용한 Debugger 구성](debugger-createtrainingjob-api.md)을 참조하세요.