

# 평가 결과 액세스 및 분석
<a name="customize-fine-tune-evaluate-access-results"></a>

평가 작업이 성공적으로 완료되면 이 섹션의 정보를 사용하여 결과를 액세스하고 분석할 수 있습니다. 레시피에 정의된 `output_s3_path`(예: `s3://output_path/`)를 기반으로 출력 구조는 다음과 같습니다.

```
job_name/
├── eval-result/
│    └── results_[timestamp].json
│    └── inference_output.jsonl (only present for gen_qa)
│    └── details/
│        └── model/
│            └── execution-date-time/
│                └──details_task_name_#_datetime.parquet
└── tensorboard-results/
    └── eval/
        └── events.out.tfevents.[timestamp]
```

지표 결과는 지정된 다음 S3 출력 위치에 저장됩니다. `s3://output_path/job_name/eval-result/result-timestamp.json`.

Tensorboard 결과는 S3 경로에 저장됩니다. `s3://output_path/job_name/eval-tensorboard-result/eval/event.out.tfevents.epoch+ip`.

`llm_judge` 및 `strong_reject`를 제외한 모든 추론 출력은 다음 S3 경로에 저장됩니다. `s3://output_path/job_name/eval-result/details/model/taskname.parquet`.

`gen_qa`의 경우 `inference_output.jsonl` 파일에는 각 JSON 객체에 대해 다음 필드가 포함됩니다.
+ prompt - 모델에 제출된 최종 프롬프트
+ inference - 모델의 원시 추론 출력
+ gold - 입력 데이터세트의 대상 응답
+ metadata - 제공된 경우 입력 데이터세트의 메타데이터 문자열

Tensorboard에서 평가 지표를 시각화하려면 다음 단계를 완료하세요.

1. SageMaker AI Tensorboard로 이동합니다.

1. **S3 폴더**를 선택합니다.

1. S3 폴더 경로를 추가합니다. 예: `s3://output_path/job-name/eval-tensorboard-result/eval`

1. 동기화가 완료될 때까지 기다립니다.

시계열, 스칼라 및 텍스트 시각화를 사용할 수 있습니다.

다음 모범 사례를 따르는 것이 좋습니다.
+ 출력 경로를 모델 및 벤치마크 유형별로 정리하여 유지합니다.
+ 쉽게 추적할 수 있도록 일관된 이름 지정 규칙을 유지합니다.
+ 추출된 결과를 안전한 위치에 저장합니다.
+ TensorBoard 동기화 상태를 모니터링하여 데이터가 성공적으로 로드되었는지 확인합니다.

SageMaker HyperPod 작업 오류 로그는 CloudWatch 로그 그룹 `/aws/sagemaker/Clusters/cluster-id`에서 찾을 수 있습니다.

## 로그 확률 출력 형식
<a name="nova-hp-access-results-logprobs"></a>

`top_logprobs`가 추론 설정에서 구성된 경우 평가 출력에는 parquet 파일에 토큰 수준 로그 확률이 포함됩니다. 각 토큰 위치에는 로그 확률이 다음과 같이 구성된 상위 후보 토큰의 사전이 포함되어 있습니다.

```
{
"Ġint": {"logprob_value": -17.8125, "decoded_value": " int"},
"Ġthe": {"logprob_value": -2.345, "decoded_value": " the"}
}
```

각 토큰 항목에는 다음이 포함됩니다.
+ `logprob_value`: 토큰의 로그 확률 값
+ `decoded_value`: 사람이 읽을 수 있는 디코딩된 토큰 문자열 표현

원시 토큰화 토큰은 고유성을 보장하기 위한 사전 키로 사용되는 반면, `decoded_value`는 사람이 읽을 수 있는 해석을 제공합니다.