관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[KAIST]
- 사람과 GPT-4의 판단에 근사하는 open-source evaluator LM, Prometheus 2를 공개
- direct assesssment와 pair-wise ranking 형식을 둘 다 처리할 수 있음
- 유저가 정의한 평가 기준을 반영
출처 : https://arxiv.org/abs/2405.01535
1. Introduction
생성형 언어 모델이 크게 주목을 받고 사용됨에 따라 이에 대한 평가를 어떻게 내려야 하는가에 대한 논의가 끊이지 않고 있습니다.
예전 언어 모델들은 출력해야 하는 답이 명확히 존재하는 태스크를 수행했었으나, 생성형 언어 모델들은 그렇지 않죠.
정해진 정답을 기준으로 모델을 평가하는 것보다는 사람의 '선호'를 반영하는 방식이 크게 활용되고 있습니다.
LLM 리더보드만 보더라도 Elo rating system을 이용하여 두 모델의 출력 결과의 '승/패'를 반영하도록 하고 있습니다.
그러나 이런 방식은 비용과 시간이 많이 든다는 단점이 있습니다 ⏲️ 🤑
사람이 직접 선호를 반영하거나 우위를 정해줘야 하기 때문이죠 🥇🥈🥉
이러한 문제점을 해결하기 위해 평가에 '언어 모델'을 활용하는 연구가 많이 이뤄졌습니다.
사람의 선호를 정확히 반영할 수 있는 언어 모델을 학습하여 이를 evaluator로 사용하는 것이죠.
하지만 이런 방식은 helpfullness & harmlessness와 같이 고정된 평가 기준만을 사용할 수밖에 없다는 한계를 지니고 있기도 하고요,
proprietary 모델들의 평가 결과가 납득 가능한 수준임과 달리 open source 모델들은 이에 한참 미치지 못해 아쉽다는 평이 많습니다.
본 논문에서는 위와 같은 문제를 해결하기 위해 direct assessment와 pair-wise ranking, 둘 다에 적용 가능한 모델, Prometheus 2를 제안하고 있습니다.
주목할 만한 점은 7B 모델 뿐만 아니라 8x7B 사이즈의 모델에 대한 실험과 weight merging에 관한 실험 결과를 제시했다는 것입니다.
2. Related Work
- Language Model-based Evaluation
- 기존에는 LM의 생성 능력을 평가하기 위한 방법으로 Rouge, BLEU, BERTScore 등을 사용함
- 그러나 이런 metric들은 단순히 출력 결과의 형태가 reference와 다르다는 이유만으로 false negative를 자주 만들어 낸다는 문제점이 존재
- 최근에는 evaluator LM에 대한 연구가 많이 이뤄지고 있으나, 아직까지 proprietary LM과 큰 갭이 존재함
- Weight Merging
- direct assessment와 pairwise ranking 형식에 대해 따로 학습한 두 모델을 합치는 방식을 제안
3. Methodology
3.1. Direct Assessment
$$f_{direct}:(i,r)x \mapsto s$$
instruction $i$와 response $r$이 주어지면 스칼라 점수 $s$를 mapping 하는 평가 방식입니다.
주로 1-5점의 점수 체계를 사용합니다.
이전 연구에서는 LM이 측정한 점수 $S_{LM}$과 사람이 측정한 점수 $S_{human}$의 상관관계를 높이는 것에 집중하기도 했습니다.
추가로 입력 단계에서는 점수를 부여하는 기준을 나타나는 score rubric $e$를 포함하도록 하고,
출력 단계에서는 언어 모델이 점수를 도출해낸 과정에 대한 verbal feedback $v_r$을 포함하도록 합니다.
이를 식으로 정리하면 다음과 같습니다.
$$f_{direct}:(i,r,a,e)x \mapsto (v_r,s) \,\,\mathrm{where} s\in \left \{ 1,2,3,4,5 \right \}$$
3.2. Pairwise Ranking
$$f_{pair}:(i,r_m, r_n, a, e)x \mapsto (v_{r_{m},r_{n}},s) \,\,\mathrm{where} s\in \left \{ m,n \right \}$$
instruction $i$와 response 쌍 $(r_m, r_n)$이 주어지면 둘 중에 뭐가 더 나은지를 반환하는 구조입니다.
위에서와 마찬가지로 reference answer $a$와 evaluation criteria $e$가 input에 포함되어 있는 것을 알 수 있습니다.
또한 둘 중에 뭐가 더 나은지를 $s$로 반환하기 전에 verbal feedback $v_{r_{m}, r_{n}}$를 먼저 출력해야 합니다.
3.3. The Preference Collection
pairwise ranking 데이터셋으로 많이 활용되는 HH-RLHF나 Ultra Feedback은 evaluation criteria $e$와 verbal feedback $v_{r_{m}, r_{n}}$을 포함하고 있지 않습니다.
따라서 논문 저자는 1K개의 evaluation criteria를 포함하는 Preference Collection을 직접 구축했습니다.
1) 1에서 5점이 부여된 다섯 개씩의 response를 포함하는 Feedback Collection의 response를 두 개씩 쌍으로 만듭니다.
각 점수별로 쌍을 이루어 총 10개의 쌍이 구해집니다.
이를 바탕으로 하나의 response가 나머지보다 낫다는 선호 데이터셋을 구축할 수 있습니다.
예를 들어 2점과 4점 response가 쌍으로 묶이는 경우 4점 response를 선택하도록 만드는 것입니다.
2) GPT-4-1106을 이용하여 verbal feedback을 생성합니다.
3.4. Employing Evaluator Language Models
- Prompting: "추가적인 feedback 데이터셋 없이", 명시된 평가 항목에 따라 판단을 내릴 수 있도록 프롬프팅합니다.
- Single-Format Training: direct assessment 방식과 pairwise ranking 방식 각각 학습하는 방식을 이릅니다.
- Joint Training: base model $\theta$를 두 방식으로 학습하는 것을 뜻합니다. 학습 후의 모델은 두 평가 형식에 활용 가능합니다.
Weight Merging
각각 direct assessment feedback dataset $D_d$와 pairwise ranking feedback dataset $D_p$에 학습된 두 모델 $\theta_d, \theta_p$을 merge 하여 최종 평가 모델 $\theta_{final}$을 획득합니다.
merging 기법도 여러 가지가 존재하지만, 본 연구에서는 linear merging이 가장 효과적이었으며, 어떤 비율로 merging 하는 것이 가장 좋은 성능으로 이어졌는지에 대한 실험 결과 또한 제시하고 있습니다.
linear merging을 식으로 표현하면 다음과 같습니다.
$$\theta_{final}=\alpha \times \theta_d + (1-\alpha) \times \theta_p$$
이를 제외한 merging 기법 중에는 'Task Arithmetic merging, TIES merging, DARE merging' 등이 있습니다.
4. Experimental Setup
4.1. Benchmarks and Metrics
- 4개의 direct assessment benchmarks: Vicuna Bench, MT Bench, FLASK, Feedback Bench
- reference-based evaluation
- Pearson, Spearman, Kendall-Tau
- 5개의 pairwise ranking benchmarks: HHH Alignment, MT Bench Human Judgement, Auto-J Eval, Preference Bench
- reference-free evaluatoin
- accuracy
4.2. Baselines
- Prompting Baselines
- Llama-2-Chat-7,13,70B, Mistral-7B-Instruct-v0.2, Mixtral-8x7B-Instruct-v0.1
- proprietary LMs: GPT-3.5-turbo-0613, GPT-4-1106, Claude-3-Opus
- Single-Format Trained Evaluator LMs
- Prometheus-7,13B, UltraRM-13B, PairRM-0.4B
- Mistral-7B-Instruct-v0.2, Mixtral-8x7B-Instruct-v0.1
- Jointly Trained Evaluator LMs
- Auto-J, Mistral-7B, Mixtral-8x7B
- Weight Merging
- Prometheus 2 (7B & 8x7B)
5. Experimental Results
5.1. Direct Assessment Results
Prometheus-2-8x7B의 성능이 눈에 띄게 탁월하다는 것을 알 수 있습니다.
사람이 평가한 결과와 상관관계가 아주 높습니다.
5.2. Pairwise Ranking Results
위의 결과와 크게 다르지 않습니다.
다만 학습에 feedback data를 활용하는 것이 훨씬 효과적이라는 것을 알 수 있습니다.
5.3. Consistency Across Evaluation Formats
Prometheus2 모델이 태스크별로 큰 성능 차이를 보이지 않습니다.
즉 학습을 통해 robust model이 되었다고 판단할 수 있습니다.
간단히 하나만 더 기록하자면 Linear Merging의 최적의 실험 결과를 볼 수 있습니다.
Merging 비율에 따라 Direct Assessment에서의 평가 결과와 Pairwise Ranking에서의 평가 결과에 차이가 발생합니다.
전자는 5:5, 후자는 3:7로 merging 했을 때 결과가 가장 좋게 나타났습니다.