

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

# 추론 파이프라인 로그 및 지표
<a name="inference-pipeline-logs-metrics"></a>

모니터링은 Amazon SageMaker AI 리소스의 신뢰성, 가용성 및 성능을 유지하는 데 중요합니다. 추론 파이프라인 성능을 모니터링하고 문제를 해결하려면 Amazon CloudWatch 로그 및 오류 메시지를 사용하세요. SageMaker AI가 제공하는 모니터링 도구에 대한 자세한 내용은 [Amazon SageMaker AI의 AWS 리소스 모니터링](monitoring-overview.md) 섹션을 참조하세요.

## 지표를 사용하여 멀티컨테이너 모델 모니터링
<a name="inference-pipeline-metrics"></a>

추론 파이프라인의 다중 컨테이너 모델을 모니터링하려면 Amazon CloudWatch를 사용하세요. CloudWatch는 원시 데이터를 수집하여 읽기 쉽고 실시간에 가까운 지표로 처리합니다. SageMaker AI 훈련 작업 및 엔드포인트는 `AWS/SageMaker` 네임스페이스에 CloudWatch 지표와 로그를 작성합니다.

다음 표는 다음에서 사용 가능한 지표와 차원을 열거한 것입니다.
+ 엔드포인트 호출
+ 훈련 작업, 배치 변환 작업 및 엔드포인트 인스턴스

*차원*이란 지표를 고유하게 식별하는 데 도움이 되는 이름/값 쌍을 말합니다. 각 지표에 측정기준을 최대 10개까지 할당할 수 있습니다. CloudWatch를 사용한 모니터링에 대한 자세한 정보는 [Amazon CloudWatch의 Amazon SageMaker AI 지표](monitoring-cloudwatch.md) 섹션을 참조하세요.

**Endpoint Invocation Metric(엔드포인트 호출 지표)**

`AWS/SageMaker` 네임스페이스에는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_InvokeEndpoint.html) 호출에 대한 요청 지표가 포함되어 있습니다.

지표는 1분 간격으로 보고됩니다.


| 지표 | 설명 | 
| --- | --- | 
| Invocation4XXErrors |  모델이 `4xx` HTTP 응답 코드를 반환하는 `InvokeEndpoint` 요청의 수. 각 `4xx` 응답에 대해 SageMaker AI는 `1`을 보냅니다. 단위: 없음 유효한 통계: `Average`, `Sum`   | 
| Invocation5XXErrors |  모델이 `5xx` HTTP 응답 코드를 반환하는 `InvokeEndpoint` 요청의 수. 각 `5xx` 응답에 대해 SageMaker AI는 `1`을 보냅니다. 단위: 없음 유효한 통계: `Average`, `Sum`   | 
| Invocations |  모델 엔드포인트에 전송된 `number of InvokeEndpoint` 요청의 수입니다. 모델 엔드포인트에 전송된 총 요청 수를 가져오려면 `Sum` 통계를 사용합니다. 단위: 없음 유효한 통계: `Sum`, `Sample Count`   | 
| InvocationsPerInstance |  모델로 전송된 엔드포인트 간접 호출의 수는 각 `InstanceCount`에서 `ProductionVariant`에 따라 정규화됩니다. SageMaker AI는 각 요청의 값으로 1/`numberOfInstances`을 전송하고, 여기서 `numberOfInstances`는 요청 시점 엔드포인트의 ProductionVariant에 대한 활성 인스턴스의 수입니다. 단위: 없음 유효한 통계: `Sum`  | 
| ModelLatency | 모델이 응답하는 데 걸린 시간. 여기에는 요청을 보내고, 모델 컨테이너에서 응답을 가져오고, 컨테이너에서 추론을 완료하는 데 소요되는 시간이 포함됩니다. ModelLatency은 추론 파이프라인의 모든 컨테이너에서 소요된 총 시간입니다.단위: 마이크로초유효한 통계: `Average`, `Sum`, `Min`, `Max`, 샘플 수 | 
| OverheadLatency |  오버헤드로 인해 SageMaker AI의 클라이언트 요청에 응답하는 데 걸린 시간이 추가됩니다. `OverheadLatency`는 SageMaker AI에서 이 요청을 받은 시간부터 클라이언트에 응답을 반환할 때까지 측정한 시간에 `ModelLatency`를 뺍니다. 오버헤드 지연 시간은 특히 요청 및 응답 페이로드 크기, 요청 빈도와 요청 인증 또는 권한 부여 등과 같은 요인에 따라 달라질 수 있습니다. 단위: 마이크로초 유효한 통계: `Average`, `Sum`, `Min`, `Max`, `Sample Count`   | 
| ContainerLatency | SageMaker AI에서 본 추론 파이프라인 컨테이너가 응답하는 데 걸린 시간입니다. ContainerLatency에는 요청을 보내고 모델의 컨테이너에서 응답을 가져오고 컨테이너에서 추론을 완료하는 데 걸린 시간이 포함됩니다.단위: 마이크로초유효한 통계: `Average`, `Sum`, `Min`, `Max`, `Sample Count`  | 

**엔드포인트 호출 지표의 차원**


| 차원 | 설명 | 
| --- | --- | 
| EndpointName, VariantName, ContainerName |  지정된 엔드포인트 및 지정된 변형의 `ProductionVariant`에 대한 엔드포인트 호출 지표를 필터링합니다.  | 

추론 파이프라인 엔드포인트의 경우, CloudWatch는 다음과 같이 계정의 컨테이너별 지연 시간 지표를 **SageMaker AI** 네임스페이스에 **엔드포인트 컨테이너 지표** 및 **엔드포인트 변형 지표**로 나열합니다. `ContainerLatency` 지표는 추론 파이프라인에만 나타납니다.

![\[추론 파이프라인에 대한 CloudWatch 대시보드입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/pipeline-endpoint-metrics.png)


지연 시간 지표는 각 엔드포인트와 각 컨테이너에 대해 컨테이너, 엔드포인트, 변형 및 지표의 이름을 표시합니다.

![\[엔드포인트에 대한 지연 시간 지표\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/pipeline-endpoint-metrics-details.png)


**훈련 작업, 배치 변환 작업 및 엔드포인트 인스턴스 지표**

`/aws/sagemaker/TrainingJobs`, `/aws/sagemaker/TransformJobs` 및 `/aws/sagemaker/Endpoints` 네임스페이스에는 훈련 작업 및 엔드포인트 인스턴스에 대한 다음 지표가 포함됩니다.

지표는 1분 간격으로 보고됩니다.


| 지표 | 설명 | 
| --- | --- | 
| CPUUtilization |  인스턴스에서 실행 중인 컨테이너에서 사용하는 CPU 유닛의 비율(%)입니다. 값은 0%\$1100% 사이가 될 수 있고, CPU의 수를 곱합니다. 예를 들어 CPU가 4개인 경우 `CPUUtilization`는 0%\$1400%가 될 수 있습니다. 훈련 작업의 경우 `CPUUtilization`은 인스턴스에서 실행 중인 알고리즘 컨테이너의 CPU 사용률입니다. 배치 변환 작업의 경우 `CPUUtilization`은 인스턴스에서 실행 중인 변환 컨테이너의 CPU 사용률입니다. 멀티컨테이너 모델의 경우 `CPUUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 CPU 사용률 합계입니다. 엔드포인트 변경의 경우 `CPUUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 CPU 사용률 합계입니다. 단위: 백분율  | 
| MemoryUtilization | 인스턴스에서 실행 중인 컨테이너에서 사용하는 메모리의 비율(%)입니다. 해당 값 범위는 0% \$1 100%입니다.훈련 작업의 경우 `MemoryUtilization`은 인스턴스에서 실행 중인 알고리즘 컨테이너의 메모리 사용량입니다.배치 변환 작업의 경우 `MemoryUtilization`은 인스턴스에서 실행 중인 변환 컨테이너의 메모리 사용량입니다.멀티컨테이너 모델의 경우 MemoryUtilization은 인스턴스에서 실행 중인 모든 컨테이너의 메모리 사용량의 합계입니다.엔드포인트 변형의 경우 `MemoryUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 메모리 사용량 합계입니다.단위: 백분율 | 
| GPUUtilization |  인스턴스에서 실행되는 컨테이너에서 사용하는 GPU 유닛의 비율입니다. `GPUUtilization`의 범위는 0% \$1 100%이며 GPU의 수를 곱합니다. 예를 들어 GPU가 4개인 경우 `GPUUtilization`는 0%\$1400%가 될 수 있습니다. 훈련 작업의 경우 `GPUUtilization`은 인스턴스에서 실행 중인 알고리즘 컨테이너의 GPU 사용량입니다. 배치 변환 작업의 경우 `GPUUtilization`은 인스턴스에서 실행 중인 변환 컨테이너의 GPU 사용량입니다. 멀티컨테이너 모델의 경우 `GPUUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 GPU 사용량의 합계입니다. 엔드포인트 변형의 경우 `GPUUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 GPU 사용량 합계입니다. 단위: 백분율  | 
| GPUMemoryUtilization |  인스턴스에서 실행 중인 컨테이너에서 사용하는 GPU 메모리의 비율(%)입니다. GPUMemoryUtilization은 0%\$1100% 사이가 될 수 있고, CPU의 수를 곱합니다. 예를 들어 GPU가 4개인 경우 `GPUMemoryUtilization`는 0%\$1400%가 될 수 있습니다. 훈련 작업의 경우 `GPUMemoryUtilization`은 인스턴스에서 실행 중인 알고리즘 컨테이너의 GPU 메모리 사용량입니다. 배치 변환 작업의 경우 `GPUMemoryUtilization`은 인스턴스에서 실행 중인 변환 컨테이너의 GPU 메모리 사용량입니다. 멀티컨테이너 모델의 경우 `GPUMemoryUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 GPU 사용량의 합계입니다. 엔드포인트 변형의 경우 `GPUMemoryUtilization`은 인스턴스에서 실행 중인 모든 컨테이너의 GPU 메모리 사용량 합계입니다. 단위: 백분율  | 
| DiskUtilization |  인스턴스에서 실행 중인 컨테이너에서 사용하는 디스크 공간의 비율입니다. DiskUtilization의 범위는 0%\$1100%입니다. 배치 변환 작업에는 이 지표가 지원되지 않습니다. 훈련 작업의 경우 `DiskUtilization`은 인스턴스에서 실행 중인 알고리즘 컨테이너의 디스크 공간 사용량입니다. 엔드포인트 변형의 경우 `DiskUtilization`은 인스턴스에서 실행 중인 제공된 컨테이너의 디스크 공간 사용량 합계입니다. 단위: 백분율  | 

**훈련 작업, 배치 변환 작업 및 엔드포인트 인스턴스 지표의 차원**


| 차원 | 설명 | 
| --- | --- | 
| Host |  훈련 작업의 경우 `Host`는 `[training-job-name]/algo-[instance-number-in-cluster]` 형식입니다. 이 차원을 사용하여 지정된 훈련 작업 및 인스턴스에 대한 인스턴스 지표를 필터링합니다. 이 차원 형식은 `/aws/sagemaker/TrainingJobs` 네임스페이스에서만 표시됩니다. 배치 변환 작업의 경우 `Host`는 `[transform-job-name]/[instance-id]` 형식입니다. 이 차원을 사용하여 지정된 배치 변환 작업 및 인스턴스에 대한 인스턴스 지표를 필터링합니다. 이 차원 형식은 `/aws/sagemaker/TransformJobs` 네임스페이스에서만 표시됩니다. 엔드포인트의 경우 `Host`는 `[endpoint-name]/[ production-variant-name ]/[instance-id]` 형식입니다. 이 차원을 사용하여 지정된 엔드포인트, 변형 및 인스턴스에 대한 인스턴스 지표를 필터링합니다. 이 차원 형식은 `/aws/sagemaker/Endpoints` 네임스페이스에서만 표시됩니다.  | 

훈련 작업, 엔드포인트 및 노트북 인스턴스 수명 주기 구성을 디버깅하는 데 도움이 되도록 SageMaker AI는 알고리즘 컨테이너, 모델 컨테이너 또는 노트북 인스턴스 수명 주기 구성에서 `stdout` 또는 `stderr`에 전송하는 모든 것을 Amazon CloudWatch Logs에도 전송합니다. 이 정보를 디버깅 및 진행 분석에 사용할 수 있습니다.

## 로그를 사용하여 추론 파이프라인 모니터링
<a name="inference-pipeline-logs"></a>

다음 표에서는 SageMaker AI가 Amazon CloudWatch에 전송하는 로그 그룹 및 로그 스트림이 나열되어 있습니다.

로그 스트림은 동일한 소스를 공유하는 로그 이벤트 시퀀스입니다. CloudWatch로 각 별도의 로그 소스가 별도의 로그 스트림을 구성합니다. 로그 그룹은 동일한 보존 기간, 모니터링 및 액세스 제어 설정을 공유하는 로그 스트림 그룹입니다.

**로그**

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/inference-pipeline-logs-metrics.html)

**참고**  
SageMaker AI는 `/aws/sagemaker/NotebookInstances` 로그 그룹을 수명 주기 구성과 함께 노트북 인스턴스를 만들 때 생성합니다. 자세한 내용은 [LCC 스크립트를 사용하여 SageMaker 노트북 인스턴스 사용자 지정](notebook-lifecycle-config.md) 단원을 참조하십시오.

SageMaker AI 로깅에 대한 자세한 내용은 [Amazon SageMaker AI용 CloudWatch Logs](logging-cloudwatch.md) 섹션을 참조하세요.