

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

# 정확도
<a name="clarify-accuracy-evaluation"></a>

 이 평가는 모델 출력을 데이터세트에 포함된 실제 답변과 비교하여 모델이 작업에서 얼마나 정확하게 작동하는지 측정합니다.

 Amazon SageMaker AI는 Amazon SageMaker Studio에서 또는 `fmeval` 라이브러리를 사용하여 정확도 평가를 실행하도록 지원합니다.
+  **Studio에서 평가 실행:** Studio에서 만든 평가 작업은 미리 선택된 기본값을 사용하여 모델 성능을 빠르게 평가합니다.
+  **`fmeval` 라이브러리를 사용하여 평가 실행:** `fmeval` 라이브러리를 사용하여 만든 평가 작업은 모델 성능 평가를 구성하는 확장된 옵션을 제공합니다.

## 지원되는 작업 유형
<a name="clarify-accuracy-evaluation-task"></a>

정확도 평가는 연결된 기본 제공 데이터세트가 있는 다음 작업 유형에 대해 지원됩니다. 기본 제공 데이터세트에는 정확도를 측정하는 데 사용되는 실제 구성 요소가 포함되어 있습니다. 사용자는 자체 데이터세트를 사용할 수도 있습니다. 데이터세트에 실제 구성 요소를 포함하는 방법에 대한 자세한 내용은 [자동 모델 평가](clarify-foundation-model-evaluate-auto.md) 섹션을 참조하세요.

기본적으로 SageMaker AI는 정확도 평가를 위해 데이터세트에서 100개의 무작위 프롬프트를 샘플링합니다. `fmeval` 라이브러리를 사용하는 경우 `num_records` 파라미터를 `evaluate` 메서드에 전달하여 조정할 수 있습니다. `fmeval` 라이브러리를 사용하여 사실적 지식 평가를 사용자 지정하는 방법에 대한 자세한 내용은 [`fmeval` 라이브러리를 사용하여 워크플로 사용자 지정](clarify-foundation-model-evaluate-auto-lib-custom.md) 섹션을 참조하세요.


|  작업 유형  |  기본 제공 데이터세트  |  참고  | 
| --- | --- | --- | 
|  텍스트 요약  |  [Gigaword](https://huggingface.co/datasets/gigaword?row=3), [Government Report Dataset](https://gov-report-data.github.io/) |  기본 제공 데이터세트는 영어로만 제공되지만 일부 지표는 언어와 상관이 없습니다. 원하는 언어로 데이터세트를 가져올 수 있습니다. | 
|  질문 응답  |  [BoolQ](https://github.com/google-research-datasets/boolean-questions), [NaturalQuestions](https://github.com/google-research-datasets/natural-questions), [TriviaQA](http://nlp.cs.washington.edu/triviaqa/) |  기본 제공 데이터세트는 영어로만 제공되지만 일부 지표는 언어와 상관이 없습니다. 원하는 언어로 데이터세트를 가져올 수 있습니다. | 
|  분류  | [Women's E-Commerce Clothing Reviews](https://www.kaggle.com/datasets/nicapotato/womens-ecommerce-clothing-reviews) |   | 

## 계산된 값
<a name="clarify-accuracy-evaluation-values"></a>

 작업 유형에 따라 정확도 변화를 평가하기 위해 측정된 점수입니다. 평가에 필요한 프롬프트 구조에 대한 자세한 내용은 [Studio에서 자동 모델 평가 작업 만들기](clarify-foundation-model-evaluate-auto-ui.md) 섹션을 참조하세요.

### 요약
<a name="clarify-accuracy-evaluation-summarization"></a>

요약 작업의 경우 정확도 평가는 모델이 텍스트를 얼마나 정확하게 요약할 수 있는지 측정합니다. 기본적으로 이 평가는 입력 텍스트 쌍과 실제 답변이 포함된 두 개의 기본 제공 데이터세트에서 모델을 벤치마킹합니다. 그런 다음 모델에서 생성된 요약은 요약이 서로 다른 방식으로 얼마나 유사한지 측정하는 세 가지 기본 제공 지표를 사용하여 실제 답변과 비교됩니다. 전체 데이터세트에 대해 이러한 모든 점수의 평균을 구합니다.
+  **ROUGE 점수:** ROUGE 점수는 요약 품질을 측정하기 위해 모델이 생성한 요약과 실제 요약 간에 중복 단어 유닛(N그램)을 계산하는 지표의 클래스입니다. ROUGE 점수를 평가할 때 점수가 높을수록 모델이 더 나은 요약을 만들 수 있음을 나타냅니다.
  +  값은 `0`(일치 없음)에서 `1`(완벽한 일치)까지입니다.
  +  지표는 대/소문자를 구분하지 않습니다.
  +  **제한 사항**: 점수는 정확한 단어 중복에 의존하기 때문에 추상적 요약 작업에서 신뢰할 수 없을 수 있습니다.
  +  ROUGE 바이그램 계산 예시
    + **실제 요약**: 'The dog played fetch with the ball in the park.'
    + **생성된 요약**: 'The dog played with the ball.'
    + **ROUGE-2**: 참조와 후보 간에 공통된 바이그램 수(문장에서 인접한 두 단어)를 계산합니다. 4개의 공통 바이그램('the dog', 'dog played', 'with the', 'the ball')이 있습니다.
    + **실제 요약의 총 바이그램 수로 나누면** 9입니다.
    + `ROUGE-2 = 4/9 = 0.444`
  +  **Studio 자동 모델 평가 작업의 ROUGE 점수 기본값** 

    Studio를 사용하여 자동 모델 평가 작업을 만들 때 SageMaker AI는 ROUGE 점수 계산에 사용되는 N그램에 `N=2`를 사용합니다. 따라서 모델 평가 작업은 매칭에 바이그램을 사용합니다. 또한 Studio 작업은 Porter [스테머](https://en.wikipedia.org/wiki/Stemming)를 사용하여 모든 프롬프트에서 단어 접미사를 제거합니다. 예를 들어, `raining` 문자열은 `rain`으로 잘립니다.
  +  **`fmeval` 라이브러리에서 사용 가능한 ROUGE 점수 옵션** 

    `fmeval` 라이브러리를 사용하면 `[SummarizationAccuracyConfig](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/summarization_accuracy.py#L40)` 파라미터를 사용하여 ROUGE 점수를 계산하는 방법을 구성할 수 있습니다. 지원되는 옵션은 다음과 같습니다.  
    +  `rouge_type`: 매칭될 N그램의 길이입니다. 지원되는 세 가지 값은 다음과 같습니다.
      +   `ROUGE_1`은 단일 단어와 매칭합니다(유니그램).
      +   `ROUGE_2`는 단어 쌍(바이그램)과 매칭합니다. 이것이 기본값입니다.
      +   `ROUGE_L`은 가장 긴 공통 하위 시퀀스와 매칭합니다.   가장 긴 공통 하위 시퀀스를 계산하려면 단어 순서가 고려되지만 연속성은 고려되지 않습니다.
        +  예제: 
          + **모델 요약** = ‘It is autumn’ 
          + **참조** = ’It is once again autumn’ 
          +  `Longest common subsequence(prediction, reference)=3`.  
    +  `use_stemmer_for_rouge`: `True`(기본값)인 경우 Porter[스테머](https://en.wikipedia.org/wiki/Stemming)를 사용하여 단어 접미사를 제거합니다.  
      +  예: 'raining'은 'rain'으로 잘립니다.
+  **명시적 순서 지정을 사용한 번역 평가 지표(METEOR) 점수:** METEOR는 ROUGE-1과 유사하지만, 스테밍 및 동의어 매칭도 포함됩니다. ROUGE에 비해 요약 품질에 대한 보다 전체적인 보기를 제공하며, 간단한 N그램 매칭으로 제한됩니다. METEOR 점수가 높을수록 일반적으로 정확도가 높음을 나타냅니다.
  +  **제한 사항**: 점수는 정확한 단어 및 동의어 중복에 의존하기 때문에 추상적 요약 작업에서 신뢰할 수 없을 수 있습니다.
+  **BERTScore:** BERTScore는 BERT 패밀리의 추가 ML 모델을 사용하여 문장 임베딩을 계산하고 코사인 유사성을 비교합니다. 이 점수의 목표는 ROUGE와 METEOR보다 더 언어적 유연성을 고려하는 것입니다. 의미상 유사한 문장이 서로 더 가깝게 임베딩될 수 있기 때문입니다.
  +  **제한 사항:** 
    +  구절을 비교하는 데 사용되는 모델의 제한 사항을 상속합니다.
    +  하나의 중요한 단어가 변경될 때 짧은 텍스트 비교를 신뢰할 수 없을 수 있습니다.
  +  **Studio 자동 모델 평가 작업의 BERTScore 기본값** 

     Studio를 사용하여 자동 모델 평가 작업을 만들 때 SageMaker AI는 `[deberta-xlarge-mnli](https://github.com/microsoft/DeBERTa)` 모델을 사용하여 BERTScore를 계산합니다.
  +  **`fmeval` 라이브러리에서 사용 가능한 BERTScore 옵션** 

     `fmeval` 라이브러리를 사용하면 `[SummarizationAccuracyConfig](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/summarization_accuracy.py#L40)` 파라미터를 사용하여 BERTScore를 계산하는 방법을 구성할 수 있습니다. 지원되는 옵션은 다음과 같습니다.
    +  `model_type_for_bertscore`: 채점에 사용할 모델의 이름입니다. 현재 BERTScore는 다음 모델만 지원합니다.
      +  `"[microsoft/deberta-xlarge-mnli](https://github.com/microsoft/DeBERTa)"`(기본값) 
      +  `"[roberta-large-mnli](https://github.com/facebookresearch/fairseq/tree/main/examples/roberta)"`

### 질문 응답
<a name="clarify-accuracy-evaluation-qa"></a>

 질문 답변 작업의 경우 정확도 평가는 생성된 답변을 다양한 방식으로 주어진 실제 답변과 비교하여 모델의 질문 답변(Q&A) 성능을 측정합니다. 이러한 모든 점수는 전체 데이터세트에 대한 평균값입니다.

**참고**  
이러한 지표는 생성된 답변과 실제 답변의 정확한 일치를 비교하여 계산됩니다. 따라서 의미를 수정하지 않고 답변을 다시 표현할 수 있는 질문에 대해서는 신뢰도가 떨어질 수 있습니다.
+  **단어에 대한 정밀도 점수:** `0`(최악) 및 `1`(최상) 범위의 숫자 점수입니다. 이 점수를 계산하기 위해 비교 전에 모델 출력과 실제가 정규화됩니다. 정밀도를 계산하기 전에 이 평가에서는 구분된 단락이 여러 개인 장황한 답변을 처리하기 위해 모든 새 줄 문자를 제거합니다. 자체 데이터세트를 업로드하면 원하는 언어에서 **정밀도**를 평가할 수 있습니다.
  +  `precision = true positives / (true positives + false positives)` 
    +  `true positives`: 실제 답변에도 포함되어 있는 모델 출력의 단어 수입니다.
    +  `false positives`: 실제 답변에도 포함되어 있지 않은 모델 출력의 단어 수입니다.
+  **단어에 대한 리콜 점수:** `0`(최악)과 `1`(최상) 범위의 숫자 점수입니다. 이 점수를 계산하려면 비교 전에 모델 출력과 실제 답변이 정규화됩니다. 리콜을 계산하기 전에 이 평가는 구분된 단락이 여러 개인 장황한 답변을 처리하기 위해 모든 새 줄 문자를 제거합니다. 리콜은 답변에 실제 답변이 포함되어 있는지만 확인하고 장황함에 대해서는 페널티를 주지 않기 때문에 장황한 모델에 리콜을 사용하는 것이 좋습니다. 자체 데이터세트를 업로드하면 원하는 언어에서 **리콜**을 평가할 수 있습니다.
  +  `recall = true positives / (true positives + false negatives)` 
    +  `true positives`: 실제 답변에도 포함되어 있는 모델 출력의 단어 수입니다.
    +  `false negatives`: 모델 출력에서 누락되었지만 실제 답변에 포함된 단어 수입니다.
+  **단어에 대한 F1 점수:** `0`(최악) 및 `1`(최상) 범위의 숫자 점수입니다. F1은 정밀도와 리콜의 조화 평균입니다. 이 점수를 계산하기 위해 비교 전에 모델 출력과 실제가 정규화됩니다. F1을 계산하기 전에 이 평가에서는 구분된 단락이 여러 개인 장황한 답변을 처리하기 위해 모든 새 줄 문자를 제거합니다. 자체 데이터세트를 업로드하면 원하는 언어에서 *단어에 대한 F1*을 평가할 수 있습니다.
  +  `F1 = 2*((precision * recall)/(precision + recall))` 
    +  `precision`: 정밀도는 정밀도 점수와 동일한 방식으로 계산됩니다.
    +  `recall`: 리콜은 리콜 점수와 동일한 방식으로 계산됩니다.
+  **정확한 일치(EM) 점수:** 모델 출력이 실제 답변과 정확히 일치하는지를 나타내는 바이너리 점수입니다. 자체 데이터세트를 업로드하면 원하는 언어에서 **정확한 일치**를 평가할 수 있습니다.
  + `0`: 정확히 일치하지 않습니다.
  + `1`: 정확히 일치합니다.
  + 예제: 
    +  **질문**: `“``where is the world's largest ice sheet located today?”` 
    +  **실제 답변**: 'Antarctica'
    +  **생성된 답변:** 'in Antarctica'
      +  **점수:** 0 
    +  **생성된 답변:** 'Antarctica'
      +  **점수:** 1 
+  **거의 정확한 일치 점수:** EM 점수와 유사하게 계산되지만 비교 전에 모델 출력 및 실제 응답이 정규화되는 바이너리 점수입니다. 두 경우 모두 출력을 소문자로 변환한 다음 관사, 구두점 및 초과 공백을 제거하여 출력이 정규화됩니다.
  +  `0`: 거의 정확히 일치하지 않습니다.
  +  `1`: 거의 정확히 일치합니다.
  +  예제: 
    +  **질문**: `“``where is the world's largest ice sheet located today?”` 
    +  **실제 답변**: 'Antarctica'
    +  **생성된 답변:** 'in South America'
      +  **점수:** 0 
    +  **생성된 답변:** 'in Antarctica'
      +  **점수:** 1 

### 분류
<a name="clarify-accuracy-evaluation-classification"></a>

 분류 작업의 경우 정확도 평가는 예측된 입력 클래스를 지정된 레이블과 비교합니다. 이러한 모든 점수는 전체 데이터세트에 대한 개별적인 평균값입니다.
+ **정확도 점수:** 모델에서 예측한 레이블이 입력의 지정된 레이블과 정확히 일치하는지를 나타내는 바이너리 점수입니다.
  +  `0`: 정확히 일치하지 않습니다.
  +  `1`: 정확히 일치합니다.
+  **정밀도 점수:** `0`(최악) 및 `1`(최상) 범위의 숫자 점수입니다.
  +  `precision = true positives / (true positives + false positives)` 
    +  `true positives`: 모델이 해당 입력에 대해 지정된 레이블을 예측한 숫자 입력입니다.
    +  `false positives`: 모델이 해당 입력에 대해 지정된 레이블과 일치하지 않는 레이블을 예측한 입력의 수입니다.
  + **Studio 자동 모델 평가 작업의 정밀도 점수 기본값** 

     Studio를 사용하여 자동 모델 평가 작업을 만들면 SageMaker AI는 True Positive, False Negative, False Positive의 총 개수를 계산하여 모든 클래스에서 전역적으로 정밀도를 계산합니다.
  +  **`fmeval` 라이브러리에서 사용 가능한 정밀도 점수 옵션** 

     `fmeval` 라이브러리를 사용하면 `[ClassificationAccuracyConfig](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/classification_accuracy.py#L137)` 파라미터를 사용하여 정밀도 점수를 계산하는 방법을 구성할 수 있습니다. 지원되는 옵션은 다음과 같습니다.  
    +  `multiclass_average_strategy`는 멀티클래스 분류 설정의 클래스 간에 점수를 집계하는 방법을 결정합니다. 가능한 값은 `{'micro', 'macro', 'samples', 'weighted', 'binary'}` 또는 `None`입니다(기본값 = `'micro'`).   기본값인 ‘`micro'`에서는 True Positive, False Negative, False Positive의 총 개수를 계산하여 모든 클래스에서 전역적으로 정밀도를 계산합니다. 다른 모든 옵션은 [sklearn.metrics.precision\$1score](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html)를 참조하세요.
**참고**  
바이너리 분류의 경우 정밀도의 클래식한 정의에 해당하는 `'binary'` 평균 계산 전략을 사용하는 것이 좋습니다.
+  **리콜 점수:** `0`(최악) 및 `1`(최상) 범위의 숫자 점수입니다.
  +  `recall = true positives / (true positives + false negatives)` 
    +  `true positives`: 모델이 해당 입력에 대해 지정된 레이블을 예측한 입력의 수입니다.
    +  `false negatives`: 모델이 해당 입력에 대해 지정된 레이블을 예측하는 데 실패한 입력의 수입니다.
  +  **Studio 자동 모델 평가 작업의 리콜 점수 기본값** 

     Studio를 사용하여 자동 모델 평가 작업을 만들면 SageMaker AI는 True Positive, False Negative, False Positive의 총 개수를 계산하여 모든 클래스에서 전역적으로 리콜을 계산합니다.
  +  **`fmeval` 라이브러리에서 사용 가능한 리콜 점수 옵션** 

     `fmeval` 라이브러리를 사용하면 `[ClassificationAccuracyConfig](https://github.com/aws/fmeval/blob/91e675be24800a262faf8bf6e59f07522b5314ea/src/fmeval/eval_algorithms/classification_accuracy.py#L137)` 파라미터를 사용하여 리콜 점수를 계산하는 방법을 구성할 수 있습니다. 지원되는 옵션은 다음과 같습니다.  
    +  `multiclass_average_strategy`는 멀티클래스 분류 설정의 클래스 간에 점수를 집계하는 방법을 결정합니다. 가능한 값은 `{'micro', 'macro', 'samples', 'weighted', 'binary'}` 또는 `None`입니다(기본값 = `'micro'`).   기본값인 ‘`micro'`에서는 True Positive, False Negative, False Positive의 총 개수를 계산하여 모든 클래스에서 전역적으로 리콜을 계산합니다. 다른 모든 옵션은 [sklearn.metrics.precision\$1score](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html)를 참조하세요.
**참고**  
바이너리 분류의 경우 리콜의 클래식한 정의에 해당하는 `'binary'` 평균 계산 전략을 사용하는 것이 좋습니다.
+  **균형 분류 정확도:** `0`(최악) 및 `1`(최상) 범위의 숫자 점수입니다.
  +  **바이너리 분류의 경우:** 이 점수는 정확도와 동일하게 계산됩니다.
  +  **멀티클래스 분류의 경우:** 이 점수는 모든 클래스에 대한 개별 리콜 점수의 평균을 구합니다.
    +  예시 출력의 경우:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/clarify-accuracy-evaluation.html)
      +  **클래스 1 리콜:** 0 
      +  **클래스 2 리콜:** 1 
      +  **클래스 3 리콜:** 1 
      +  **균형 분류 정확도:** (0\$11\$11)/3=0.66 