관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[Dartmouth College]
- position bias를 정량적으로 평가할 수 있도록 돕는 프레임워크를 개발
- MTBecnh와 DevBench의 22개 태스크에 대해 40개 모델로 답변을 생성하고, 이를 9개의 평가 모델로 평가하여 실험한 결과
- position bias가 단순한 random variation이 아니라 특정한 모델 간 관계를 지닌다는 것을 입증
출처 : https://arxiv.org/abs/2406.07791v1
1. Introduction
생성형 언어 모델의 성장은 이를 다양한 태스크에 활용하는 관행으로 이어졌습니다.
LLM 덕분에 코드 생성, 대화형 agent 만들기, 데이터 분석 등을 쉽게 할 수 있게 되었죠.
그러나 이런 태스크들에 대한 평가는 '사람'을 중심으로 이뤄지고 있습니다.
즉, 모델이 생성한 결과가 좋은지 아닌지는 '사람'이 직접 보지 않고서는 모른다는 것이죠.
너무나 당연하게도 이는 scability & reproducibility (재현성) 에서 심각한 병목이 됩니다.
사람의 평가는 시간도 많이 들고 그 결과 역시 항상 동일하지 않기 때문이죠.
위와 같은 문제를 해결하기 위해 LLM을 이번에는 평가자(Judge)로 활용하고자 하는 움직임이 일게 되었습니다.
잘 학습된 언어 모델이라면 사람 대신 다른 LLM의 생성 결과를 평가해 줄 수 있다는 생각에서 말이죠.
생성형 모델에 대한 평가에 LLM을 활용하게 되면 평가 시간과 비용도 줄이고, 재현성도 높일 수 있겠죠.
하지만 확률 기반의 답변을 내놓는 LLM답게 관련된 문제들이 새롭게 지적되어 왔는데, 그중 대표적인 것이 Position Bias 입니다.
간단하게 설명하자면, 어떤 생성 결과를 평가할 때, 입력이 주어지는 순서에 따라 더 좋은 것으로 여겨지는 정도에 영향을 준다는 것입니다.
예를 들어, '생성 결과 A와 B 중에 어떤 것이 좋아?' 라고 물어보면 A라고 답변을 하는데, '생성 결과 B와 A 중에 어떤 것이 좋아?' 라고 물으면 B라고 답변을 한다는 것이죠.
우수함을 비교하는 데 있어서는 결과물이 제시되는 순서가 상관이 없어야 하는데, 실제로는 큰 영향을 주고 있다는 게 문제로 지적됩니다.
여기서 길게 언급할 필요는 없겠지만 이와 같은 경향성은 실제 사람들에게도 존재하는 것으로 알려져 있습니다.
우리는 일상생활에서 이와 관련된 통계를 낼 기회가 없지만..
단순히 둘 중에 어떤 것이 더 좋은가의 질문에 대한 응답에 어떠한 경향성(편향)이 존재한다는 것에 관한 연구가, 이미 수십 년의 기록에서도 확인이 되더군요.
여하튼 본 논문에서는 position bias와 관련하여 metric을 잘 설정하고 이를 바탕으로 여러 모델을 통해 분석한 결과를 제시하고 있습니다.
이는 (A, B)와 같이 쌍을 이루고 있는 데이터셋을 대상으로 하고 있다는 것도 알아두시면 좋겠습니다.
개인적으로는 다양한 API를 활용하여 유의미한 결과물을 뽑아낸 돈 많이 드는 연구였다는 점도 인상 깊었습니다 🤑
2. Methods & Definitions
position bias를 평가할 수 있는 세 개의 metric을 소개합니다.
2.1. Repetitional Consistency (Repetitional Bias)
LLM judge가 동일한 질문을 여러 번 받더라도 동일한 답변을 내는지 확인하기 위한 스코어입니다.
사람도 그날그날의 기분(?)에 따라 좋고 나쁜 것들이 바뀔 수 있는 것처럼, 모델은 확률 분포에 따라 결과값이 다르게 나올 수 있죠.
(어느 정도 다양성의 정도를 컨트롤할 수 있긴 하지만요)
이를 수식으로 표현한 것은 다음과 같습니다.
$$\mathrm {RC} = \frac {1}{n} \sum_{j=1}^{n}\frac{\text{max}\left(|c_1^j| , |c_2^j|\right)}{t_j}$$
$|c_1^j|$와 $|c_2^j|$는 judege 모델이 $j$번째 query에 대해 각각 solution #1, #2 를 선택한 횟수입니다.
그리고 $t_j$는 해당 query에 대해 몇 번 질문을 시도했는지를 나타내는 값이고, $n$은 총 query의 개수를 의미합니다.
즉, query는 총 n개가 있고, 각 query $j$에 대해서 질문을 $t_j$번 하는데, 이때 #1과 #2 중에서 더 많이 선택된 것을 분자로 삼아 확률을 구한 뒤, 이를 각 query에 대한 평균값으로 변환하는 것을 알 수 있습니다.
논문의 설명에 따르면 이 값은 최소 0에서 최대 1의 범위를 가지고, 각각 random decision과 perfect consistency를 의미한다고 합니다.
(제 생각에는 random decision이면 1/2(또는 1/k, k는 선택지의 개수)이 나와야 할 것 같은데 이해가 잘 안 되네요 😅)
(이슈를 남겨보았는데 답변을 줄지 모르겠습니다)
2.2. Positional Consistency
위에서 언급했던 것처럼, 같은 response에 대해 배치 순서가 뒤바뀌면 결과가 달라지는지를 정량적으로 구한 스코어입니다.
수식은 아래와 같습니다.
$$\mathrm {PC} = \frac {1}{n} \sum_{j=1}^{n} \mathbf {1}_{\left ( C_{JO_j}, C_{JP_j} \right ) \in V}$$
여기서 $JO, JP$는 각각 원래 프롬프트 순서와 reversed 프롬프트 순서를 의미합니다.
$n$은 paired prompt의 개수를, 그리고 $V$는 선택 결과를 모아놓은 set을 의미합니다.
$V$는 선택지가 두 개인 DevBench (Option-2)와 선지가 3개인 MTBench (Option-3)에서 각각 다르게 구성됩니다.
전자의 경우 ${(A, B), (B, A)}$, 후자의 경우 ${(A, B), (B, A), (C, C)}$ 가 됩니다.
{ } 내 결과값이 모두 동일하면, 즉 순서를 바꾸더라도 같은 판단 결과가 나오면 1, 그렇지 않으면 0의 값을 갖게 됩니다.
전체 n 개의 prompt 중에서 몇 개가 유지되는지를 구한 스코어가 되겠습니다.
2.3. Positional Fairness
여기에서는 기존 연구에 나타난 개념 중, pc (primacy count, 앞 선택), rc (recency count, 뒤 선택), ipr (inconsistent primacy rate), irr (inconsistent recency rate)를 활용하고 있습니다.
이는 실제 정답이 앞/뒤 각각 50%씩 차지하는 데이터셋을 대상으로 얼마나 비일관적인 선택이 일어난 지를 수치화할 때 사용하는 개념으로 이해할 수 있습니다.
논문에서 제시하는 PF (positional fairness)는 다음과 같습니다.
$$\mathrm {PF} = \frac {\mathrm {PF_{\mathrm {raw}}-S_{\mathrm {min}}^-}}{\mathrm {S_{\mathrm {max}}^+-S_{\mathrm {min}}^-}} \times 2 - 1$$
이때 ${\mathrm {S_{\mathrm {max}}^+}}$과 ${\mathrm {S_{\mathrm {max}}^-}$는 각각 $\mathrm {PF}$에 존재하는 최대, 최솟값입니다.
따라서 min-max scaling을 적용하여 값의 범위를 0에서 1 사이로 조정한 것입니다.
이는 분수를 계산했을 때의 범위이므로 여기에 2를 곱하고 1을 빼게 되면 -1부터 1 사이의 값이 된다는 것을 알 수 있습니다.
따라서 0일 때는 완전히 fair 하고, 1일 때는 뒤의 선택지를 선호, -1일 때는 앞의 선택지를 선호한다는 것으로 해석할 수 있게 됩니다.
3. Factors affecting position bias
본 논문에서는 position bias에 영향을 줄 수 있는 여러 요인들을 'Judge-level, Model-level, Task-level' 로 구분하고 있습니다.
위 표에서 * 표시는 OLS Linear Regression validation에서 가장 큰 영향을 준 요인들을 표시한 것입니다.
저자는 여러 요인들 중에서도 특히 "familial property"를 가장 영향력이 큰 요인으로 꼽았습니다.
이는 publicly 이용 가능하지 않은 'GPT-4-Turbo, GPT-4, GPT-3.5, Claude-3, Gemini-Pro' 등의 모델에서 특히 영향력이 컸다고 합니다.
다음으로 "answer quality gap"에 대해 설명하고 있는데 이 내용이 흥미롭습니다.
우선, 기존 query와 swapped query에서 동일하게 더 좋은 것으로 선택을 받은 횟수를 consistent wins ($C_w$), 비긴 횟수를 consistent ties ($C_t$), 그렇지 않은 횟수를 inconsistent judgment ($I$)로 각각 표기합니다.
이를 이용하여 각 solution의 overall win rate (owr)을 구하는 식은 다음과 같습니다.
$$\mathrm {owr} = \frac {C_w + \frac {1}{2}(C_t + I)}{n}$$
여기서 $n$은 총 instance의 개수를 뜻하는데, 결국 특정 solution이 다른 solution 대비 갖는 메리트 없이 동등하다면 분자가 n이 되고 총결과는 1이 될 것입니다.
재밌는 특징은 반대 solution을 기준으로 $owr$을 구하여 두 값을 합치면 반드시 1이 나오게 된다는 점입니다.
이는 단순한 consistent win rate, $\frac {C_w}{n}$보다 낫다고 설명하고 있습니다.
4. Experiments
위에서 언급한 RC, PC, PF를 제외하고도 Error라는 칼럼이 있습니다.
이는 모델이 특정 solution을 제대로 선택하지 않은 경우를 표시해 둔 것입니다.
대부분의 모델이 일정한 형식을 따라 답변을 하긴 했습니다.
그러나 선택지가 세 개인 MTBench에서 더 어려움을 느꼈다고 해석할 수도 있을 것 같습니다.
4.1. Repetitional Consistency (RC)
RC를 확인하기 위해 무작위로 세 개의 질문을 고르고 이에 대한 서로 다른 네 개 모델로부터의 답변을 구합니다.
이에 대한 평가를 9개의 모델로 수행했는데, 위 표에서 Judge가 그 목록입니다.
RC는 모든 모델에 걸쳐 높은 수치를 보여주는데, 이는 모델의 선택 결과가 단순한 random selection이 아니라는 것을 입증하는 결과이기도 합니다.
그러나 claude-3-haiku 모델과 gemini-pro-1.0 모델은 타 모델 대비 robust 하지 않은 결과값을 보이고 있습니다.
4.2. Positional Consistency (PC)
gpt-4-0613, gpt-4-1106-preview, GPT-3.5 models, claude-3-opus 모델들이 높은 점수를 기록하고 있습니다.
일부 모델은 상대적으로 낮은 점수를 보이는 게 눈에 띄는데, 사실 이보다도 괄호 안의 표준편차가 꽤 크다는 점이 주목할만한 포인트입니다.
결국 일관되지 않은 평가가 이뤄진다는 뜻이고, 이는 곧 position bias가 만연함을 의미하는 것이기도 합니다.
4.3. Positional Fairness (PF)
DevBench에서는 gpt-3.5-turbo-1106 모델과 gemini-pro-1.0이 좋은 점수를 보이고 있습니다. (0에 가까움)
다음 버전의 모델들이 있음에도 해당 모델들이 좋은 점수를 기록했다는 점은 인상적이네요.
Calude 모델들과 GPT-4-Turbo 모델들은 주로 뒤의 답변을 선호하는 경향이 있는 것으로 나타났습니다. (0을 넘는 스코어)
4.4. 기타
재밌는 특징 중 하나는 PC가 증가할수록 PF가 낮아진다는 것입니다.
즉, solution의 순서와 상관없이 일관된 평가가 내려진 케이스일수록 실제로 형평성이 높은 스코어로 표현될 수 있음을 잘 입증하고 있는 것이죠.
또한 위 히트맵을 보시면 동점이 있든지 없든지 간에 특정 모델군이 서로를 선호하는 경향이 있다는 걸 알 수 있습니다.
예를 들어 두 개의 GPT-4-Turbo모델이 서로 높은 agreement score를 가지는 것을 알 수 있습니다.
또한 Claude-3 모델들과 Gemini-Pro는 서로가 다른 familiy에 속하는 것으로 인지하고 있다는 해석이 가능합니다.
개인적으로 이러한 현상은 동일한 학습 데이터(작은 모델엔 전체 데이터의 일부)의 유사성과 distillation에 기인하는 것이 아닐까 하는 생각이 들었습니다.
5. Discussion
5.1. Position Bias of LLM Judges is Task-Dependent
gpt-4-0613의 PC 스코어를 베이스라인으로, 0을 PF 스코어의 베이스라인으로 선정한 뒤, 각 태스크별로 어떤 경향성이 있는지 확인한 결과입니다.
gpt-4-1106-preview 같은 모델도 전반적으로 잘하고 있다는 걸 알 수 있지만, gpt-3.5-turbo-0125와 같은 모델이 특히 architecture design과 coding 같은 태스크에 뛰어나다는 것이 더욱 주목할만한 특징입니다.
즉, 태스크별로 뛰어난(robust) 모델이 각각 다르기 때문에 사용자/평가자의 니즈에 맞게끔 선택을 해야 하고, 위와 같은 실험 결과를 그러한 선택의 근거로 사용할 수 있다고 강조하고 있습니다.
5.2. Position Bias of LLM Judges is Influenced by Answer Quality Gap
judge 모델의 PC(positional consistency)는 quality 차이와 밀접한 연관이 있음을 확인한 결과입니다.
overall win reate가 중간에서 벗어나는 경우, 즉 특정 solution이 더 선호되는 경우엔 PC값이 상승하여 포물선 형태가 나타나는 것을 볼 수 있습니다.
solution 사이에 quality 차이가 존재하는 경우, judge가 solution이 제시되는 순서에 상관없이 일관된 평가를 내릴 수 있게 된다고 볼 수 있습니다.
그러나 0점이면 공평한 선택으로 해석되는 PF의 경우, gpt-4, gpt-3.5 모델만 안정적인 평가를 내리고 있다는 것이 확인됩니다.
PR 값이 클수록 (1에 가까우수록) 두 개의 solution 중 뒤의 것을 선호한다는 뜻이므로, gemini와 claude에 그러한 경향성이 있다고 해석할 수 있습니다.
5.3. Input & Output Lenghts do not Significantly Affect Position Bias
저자에 따르면 입출력 길이는 position bias에 영향을 크게 주지 않는 것으로 보인다고 합니다.
prompt 길이가 너무 길어져서 모델이 나머지 입력을 제대로 파악하기 어려운 상황이라면 긴 solution을 상대적으로 짧은 solution보다 선호하는 경향이 있다고는 하는데, 이를 제외하고서는 그렇지 않다고 하네요.
자세한 내용은 appendix를 참고할 수 있습니다.