본문 바로가기
NLP/논문리뷰

[논문 Review] 11. G-EVAL : NLG Evaluation using GPT-4 with Better Human Alignmen

by ㅣlㅣl 2024. 2. 28.
GPT-4를 사용해서 NLG system을 정량적 평가해보자!




Abstract

NLG는 정량적으로 측정하기 어렵다. 특히 창의성이나 다양성이 요구되는 작업의 경우 BLEU[각주:1], ROUGE[각주:2]와 같은 기존의 지표는 사람의 판단과 상대적으로 상관관계가 낮은 것으로 나타났다.

이번 연구에서는 CoT와 form-filling paradigm이 적용된 LLM (=GPT-4) 을 사용해 NLG 태스크를 평가하는 프레임워크 G-EVAL을 소개하며, 3가지 벤치마크를 통해서 인간 평가와의 유사도를 측정해본다.

 

1. Introduction

NLG에 전통적으로 쓰이던 지표들인 BLEU, ROUGE, METEOR는 Evaluation에 널리 사용되어 왔지만 사람의 평가와는 낮은 상관계수를 보였고, 이는 특히 open-ended generation task에서 심하게 나타난다.

 

지표 복습

더보기
  • BLEU (Bi-Lingual Evaluation Understudy)
    문장의 길이 & 예측 문장과 얼마나 겹치는지를 통해 NLG에 대한 성능을 측정하는 방법[각주:3]
  • ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
    - ROUGE-N : 예측한 요약문과 실제 요약문 간의 n-gram recall
    - ROUGE-L : 가장 긴 공통 시퀀스를 기반으로 F score [각주:4]

 

  • METEOR (Metric for Evaluation of Translation with Explicit Ordering)
     BLEU의 단점을 보완해서 예측 정답과 실제 정답을 exact token matching, unigram precision, recall, fscore 등을 기준으로 정렬하고 각 청크 간의 유사성을 계산해서 번역 텍스트를 인간 번역과 비교
    -> 측정 값의 가중 평균이 METEOR score [각주:5]


 

이를 해결하기 위해 NLG evaluator로 LLM을 직접 사용하는 연구[각주:6] [각주:7]가 최근에 진행되었으나, 이에 대한 타당성이나 신뢰성이 체계적으로 검증되지 않았다. 또한 메타 평가에 따르면 이러한 LLM 기반 evaluator는 medium size의 neural evaluator보다 human evaluation과의 correspondence가 낮다는 결과도 있었다.

 

따라서 보다 효과적이고 신뢰할 수 있는  방식으로 LLM을 NLG evaluation에 활용하기 위해 form-filing paradigm & CoT를 결합한 LLM 프레임워크인 G-EVAL을 만들었다.

 

 

2. Method

G-EVAL 생성 방식 요약

  1. Prompt (Task Introduction + Evaluation Criteria) 를 제공해서 LLM에게 세부적인 Evaluation Step CoT를 생성하도록 함
    LLM based metric은 구조와 프롬프트에 민감하므로, CoT를 통해 더 많은 컨텍스트와 가이드를 제공해서 evaluator의 성능을 향상시킴
  2. 생성된 CoT와 함께 프롬프트를 사용해서 NLG output을 평가
  3. output token의 확률에 따라 가중치를 다시 부여해서 보다 정확한 metric을 제공 가능

 

 

G-EVAL의 구성 요소

  • Prompt
  • CoT
  • scoring function

 

Prompt

프롬프트는 평가할 대상 작업의 정의와 원하는 평가 기준을 포함한다.

텍스트 요약 프롬프트 예시 - 대상 작업 정의
텍스트 요약 프롬프트 예시 - 평가 기준

 

 

CoT

평가를 할 때 일부 기준은 단순한 definition을 넘어서 보다 상세한 평가 지침이 필요하므로 LLM이 이를 자체적으로 생성하도록 만든다.

앞에서 작성한 프롬프트 끝에 "Evaluation Steps:"를 추가하면, LLM이 다음과 같이 CoT를 자동으로 생성한다.

LLM으로 생성된 CoT

 

Scoring Function

프롬프트, CoT, input context, target text를 가지고 LLM을 호출한다. (이에 대한 프롬프트 예시는 experiments 섹션에 나와있다)

이전 연구인 GPTScore에서는 target text가 생성될 조건부 확률을 metric으로 사용했으나, G-EVAL은 직접적으로 form-filling을 진행하는 방식으로 평가를 수행한다.

예를 들어 텍스트 요약의 일관성을 평가하고자 한다면, (프롬프트, CoT, 뉴스 기사, 요약) 을 concat한 후 LLM이 정의된 기준에 따라서 점수를 출력하게 할 것이다.

 

하지만 이런 식으로 direct하게 scoring을 하는 것은 두 가지 문제점이 존재한다.

  1. 일부 평가 작업의 경우, 대부분의 분포가 하나의 숫자로 쏠리는 경우가 있다. 예를 들어 1~5점 척도의 경우 3점이 대다수인 경우이다. 이런 식으로 점수 분산이 낮아지면 사람 판단과 상관관계가 낮아진다.
  2. 프롬프트에서 명시적으로 소수점 값을 요청하는 경우에도 LLM이 정수 점수만 출력한다. 이로 인해 생성된 텍스트 간의 미묘한 차이를 포착하지 못하고 동점을 매겨버리는 경우가 많다.

 

이를 해결하기 위해서 LLM의 output 토큰 확률을 사용해 점수를 정규화하고, 가중 합계를 최종 결과로 삼는다.

1~5 까지의 정수 척도가 있는 metric이라고 하면, 점수가 1일 확률, 2일 확률 ... 해서 가중합하는 것이다.

이를 통해서 보다 세밀하고 연속적으로 텍스트의 품질 및 다양성을 평가 점수에 반영할 수 있다.

 

 

3. Experiments

총 3개의 벤치마크 (SummEval, Topical-Chat, QAGS) 에서 실험을 진행했다.

 

벤치마크에 대한 설명

더보기
  • SummEval[각주:8] : 요약에 대해 총 4가지 평가 지표 (fluency, coherence, consistency, relevance) 인간 평가를 구축
  • Topical-Chat[각주:9] : knowledge-grounded (8개의 토픽) human-human conversation dataset 
  • QAGS[각주:10] : 요약 작업에서 Hallucination을 평가하기 위한 벤치마크

 

 

3.1 Implementation Details

  • GPT-3.5 (text-davinci-003)
    - decoding temperature = 0 # determinism
  • GPT-4
    - 토큰 확률 출력을 지원하지 않음
    - temperature = 1, top_p = 1 로 20회 샘플링해서 토큰 확률 추정

 

3.4 Summarization (SummEval)

사용 프롬프트는 그림과 같다.

Summarization Prompt

 

 

선행 연구[각주:11]에 언급된 것과 동일한 방식으로 spearman & kendall-tau correlation을 사용했다.

아래 표는 모델 출력과 참조 텍스트 간의 의미적 유사성을 비교하는 metric 결과이다.

[표 1] SummEval Result

  • 전통적으로 쓰이던 ROUGE 지표보다 신경망을 사용한 평가지표가 사람과의 유사성이 더 높은 것을 확인할 수 있고, 이를 통해 neural evaluator의 신뢰성을 확인
  • GPT를 사용한 경우 이보다 더 높은 점수를 보였고, 특히 GPTScore에 비했을 때 GPT-4에서 모든 지표에 대해 기존 성능지표보다 우수함
  • CoT를 사용한 경우 상관관계가 더 높은 것으로 나타나 평가 과정에 도움이 되는 것을 증명
  • Probability Normalization을 사용한 경우 상관관계가 더 높은 것으로 나타나 평가 과정에 도움이 되는 것을 증명
  • G-EVAL-3.5, G-EVAL-4의 성능 차이 : 모델 크기가 클수록 일관성, 관련성과 같은 까다로운 평가 지표에서 더 잘 작동

 

 

 

 

3.5 Dialogue Generation (Topical-Chat)

사용 프롬프트는 그림과 같다.

Dialogue Generation Prompt

 

대화의 각 turn에 대해 pearson - spearman correlation 을 계산했다.

사람 평가자와 비교했을 때 'engaging', 'grounded' 측면을 얼마나 비슷하게 평가하는지를 확인했고, 다른 측면은 고려하지 않았다.

[표 2]  Topical-Chat Result

  • 여기서는 G-EVAL-3.5와 G-EVAL-4 사이의 성능 차이가 적었다
  • 대화 태스크는 상대적으로 G-EVAL이 평가하기 쉬운 태스크

 

3.6 Hallucinations (QAGS)

사용 프롬프트는 그림과 같다.

Hallucinations Prompt

 

생성 요약에서의 Hallucination 판별을 위한 QAGS의 2가지 하위 집합을 모두 포함해 평가를 진행했다

  • QAGS-CNN : extractive
  • QAGS-Xsum : abstactive

[표 3] QAGS result

  • G-EVAL-3.5, G-EVAL-4의 성능 차이 : 모델 크기가 클수록 일관성, 관련성과 같은 까다로운 평가 지표에서 더 잘 작동 (=SummEval 에서의 결과와 동일)

 

 

4. Anaysis

G-EVAL은 사람보다 LLM 기반 결과물을 선호할까?

요약 태스크에 대한 실험을 수행해 LLM이 생성한 요약과 사람이 작성한 요약에 대해 평가 점수를 비교했다.

  • Human annotator에게 사람이 작성한 요약문 - LLM (GPT3.5 text davinci) 이 생성한 요약문을 비교하도록 요청하는 방식으로 진행했다.

    평가 데이터는 세 가지 범주로 분류할 수 있는데
    • 1. 사람 요약 < GPT-3.5 요약 
    • 2. 사람 요약 > GPT-3.5 요약
    • 3. 둘 다 동등하게 좋은 평가를 받은 경우
  • G-EVAL-4 도 각 요약을 평가하도록 했다

human annotator가 LLM 요약이 낫다고 한 경우 (1), 둘 다 좋다고 한 경우 (3) 에 대해서는 G-EVAL-4도 비슷하게 평가했으나 사람 요약이 낫다고 한 경우 (2) 에도 LLM 요약에 높은 점수를 주는 현상을 볼 수 있었다.

따라서 이를 보완할 수 있는 추가 연구가 필요하다.

 

 

 


참고 문헌

https://arxiv.org/abs/2303.16634

 

G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment

The quality of texts generated by natural language generation (NLG) systems is hard to measure automatically. Conventional reference-based metrics, such as BLEU and ROUGE, have been shown to have relatively low correlation with human judgments, especially

arxiv.org

https://github.com/nlpyang/geval

 

GitHub - nlpyang/geval: Code for paper "G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment"

Code for paper "G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment" - nlpyang/geval

github.com

 

  1. https://aclanthology.org/P02-1040.pdf [본문으로]
  2. https://aclanthology.org/W04-1013/ [본문으로]
  3. https://wikidocs.net/31695 [본문으로]
  4. https://ariz1623.tistory.com/307 [본문으로]
  5. https://klu.ai/glossary/meteor-score [본문으로]
  6. Jinlan Fu, See-Kiong Ng, Zhengbao Jiang, and Pengfei Liu. 2023. Gptscore: Evaluate as you desire. arXiv preprint arXiv:2302.04166. [본문으로]
  7. Jiaan Wang, Yunlong Liang, Fandong Meng, Haoxiang Shi, Zhixu Li, Jinan Xu, Jianfeng Qu, and Jie Zhou. 2023. Is chatgpt a good nlg evaluator? a preliminary study. arXiv preprint arXiv:2303.04048. [본문으로]
  8. https://arxiv.org/abs/2007.12626 [본문으로]
  9. https://arxiv.org/abs/2308.11995 [본문으로]
  10. https://arxiv.org/abs/2004.04228 [본문으로]
  11. Ming Zhong, Yang Liu, Da Yin, Yuning Mao, Yizhu Jiao, Pengfei Liu, Chenguang Zhu, Heng Ji, and Jiawei Han. 2022. Towards a unified multidimensional evaluator for text generation. arXiv preprint arXiv:2210.07197. [본문으로]