GPTScore: Evaluate as You Desire
github : https://github.com/jinlanfu/GPTScore
paper : https://arxiv.org/abs/2302.04166
2023년 2월 8일
Abstract
생성모델은 텍스트 뿐만아니라 이미지 등 다양한 생성을 잘 하고 있으나 생성품질을 측정하기는 매우 힘듦
본 논문에서 이를 해결하기 위해 GPTSCORE 프레임워크를 제안함
19 pre-trained models로 평가함
80M(FLANT-T5-small) 부터 175B(GPT3까지 다양한 모델 사용)
22개의 관점에 해당하는 37개의 데이터셋을 통해 보여줌
1. Introduction
GPT3 이후 텍스트 생성 기술이 빠르게 증가함에 따라 위의 그림 1과 같은 평가 방법들이 생김
- (그림1 좌측) a
기존 연구로 제한된 측면으로 텍스트 품질을 평가함
- (그림1 가운데) b
몇개의 소수 연구중에서 다중 관점에 대한 평가를 진행
그러나 평가 시 latent relationship에 대한 관계를 평가하지 못함
위 두 평가 방법으로 복잡한 훈련 절차와 데이터 생성에 비용이 많이 필요함
- (그림1 우측) c
논문에서 제한하는 평가 방법으로 GPT-3 와 같은 모델을 사용해
학습을 하지않고 평가할 수 있는 방법
그림 2와 같은 프로콜을 사요함
(a) Task Specification : 전형적으로 어떻게 텍스트를 새성할지를 명시
(b) Aspect Definition : 문서에 대한 바람직한 평가 방법
그 후 각 평가에대한 셈플을 제시함 (왼쪽 그림의 우축 위)
마지막으로 이정보를 GPT 모델을 통해 계산함
생성형 pretrained 모델을 아래와 같은 경우 더 신뢰할 수 있음
-
다양한 평가 기준을 수용할 수 있는 유연성을 제공함
-
다른 평과측면과 함께 정의들을 고도로 결합하여 상호 연관된 측면의 성능평가가 가능
-
사람의 피드백을 기반으로 튜닝된 GPT3-text-davinci-003는 GPT3-text-davinci-001보다 성능이 떨어짐
이와같은 깊은 탐색이 필요
2. Preliminaries
2.1. Text Evaluation
텍스트를 평가하는 목표는 생성된 텍스트 h에 대한 a관점에서의 평가를 하는것임
h : 평가 될 텍스트
a : 평가 관점 (예시 : 유창성)
S : 다른 시나리오를 기반으로 선택적으로 사용되는 추가 텍스트 모음
2.2. Meta Evaluation
meta evaluation은 사람이평가한 y_human 과 자동으로 평가한 y_auto가 유사하게 나오는걸 목표로함
평가 지표는
- Spearman(p)
스피어먼 상관 계수는 순위가 매겨진 변수 간의 피어슨 상관 계수 로 정의
- Pearson(r)
두 변수간의 선형 상관관계를 계량화한 수치
으로 평가
2.3. Evaluation Strategy
Sample-level
g 는 Spearman or Pearson 상관계수
결국 각 상관계수를 하나씩 비교하겠다는소리
Dataset-level
n개의 셈플에 대해 상관계수를 구함
3. GPTSCORE
3.1. Generative Pre-trained Language Model
Pretrained 된 LM을 3가지 기준으로 분류 진행
a : encoder-only model (bert)
b : encoderdecoder models (bart, t5)
3 : decoder-only models (gpt-2, 3 , PaLM)
주어진 프롬프트 입력 x와 순차적으로 생성되는 y 의 확률값을 수식으로 표현하것
3.2. Generative Pretraining Score (GPTScore)
GPTScore 아이디어는 모델에 주어진 명령과 컨텍스트에 따라 고푸질 텍스트가 생성될 확률이 높기 때문
d : description
a : aspect definition
h : 평가받을 텍스트
w_t : 토큰 위치에 t 대한 weight
T() : 프롬프트 템플릿
Few-shot with Demonstratio
GPT는 몇개의 정의된 셈플이 있으면 더 성능이 좋아짐
그걸 위해 템플릿 T 에 설명을 추가
Choice of Prompt Templat
프롬프트 템플릿은 테스크, 관점을 정의하고 컨텍스트를 구성함
NaturalInstruction을 사용함
Selection of Scoring Dimension
프롬프트로 다양한 기준을 설정하기에 따라 원하는 scoring을 할 수 있음
4. Experimental Settings
4.1. Tasks, Datasets, and Aspects
natural language generation tasks: Dialogue Response Generation, Text Summarization, Data-toText, and Machine Translation, which involves 37 datasets
과22 evaluation aspects in total 로 평가함
(1) Dialogue Response Generation
아래는 cahtgpt 로 가볍게 번역해서 끝냄
대화 생성 (Dialogue Generation):
- FED (Mehri & Eskénazi, 2020) 데이터셋을 사용하여 대화 생성 모델을 평가합니다. 여기서는 턴 수준(turn-level)과 대화 수준(dialogue-level) 평가를 모두 고려합니다.
텍스트 요약 (Text Summarization):
- 주어진 긴 텍스트에 대해 정보가 풍부하고 유창한 요약을 자동으로 생성하는 작업입니다. 여기서 고려된 데이터셋은 다음과 같습니다:
- SummEval (Bhandari et al., 2020)
- REALSumm (Bhandari et al., 2020)
- NEWSROOM (Grusky et al., 2018)
- QAGS_XSUM (Wang et al., 2020): 이 데이터셋들은 10가지 측면을 다룹니다.
데이터-텍스트 생성 (Data-to-Text Generation):
- 주어진 표에 대해 유창하고 사실적인 설명을 자동으로 생성하는 작업입니다. 여기서 고려된 데이터셋은 다음과 같습니다:
- BAGEL (Mairesse et al., 2010)
- SFRES (Wen et al., 2015)
기계 번역 (Machine Translation):
- 한 언어에서 다른 언어로 문장을 번역하는 작업입니다. 여기서는 다차원 품질 측정(MQM, Multidimensional Quality Metrics) 데이터셋의 하위 데이터셋인 MQM-2020 (중국어->영어)를 고려합니다.
4.2. Scoring Models
다양한 모델과 ROUGE-1, ROUGE-2, ROUGE-L, PRISM 방법등 다양한 방법을 이용해 평가함
- PRISM은 뭔지 모르겠음..
4.3. Scoring Dimension
??
4.4. Evaluation Dataset Construction
생략
5. Experiment Results
생략..
참고
- NaturalInstruction
Definition : task 수행을 위한 instruction
Positive examples : input / correct output / 관련 설명으로 구성
Negative examples : input / incorrect output / 관련 설명으로 구성◦
Evaluation instances : Tk-Instruct 및 mTk-Instruct 모델 학습에는 사용하지 않고 evaluation에만 사용하는 테스트 데이터. Task별 밸런스를 맞추기 위하여 최대 6500개로 제한
참고 : https://blog.sionic.ai/super_naturalinstructions