관심 있는 NLP 논문을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
[NC Research]
- LLM이 생성한 결과를 평가할 때 존재하는 다양한 bias를 정의 (6개)
- EvalBiasBench를 제안. 6개 종류의 bias에 대한 test case를 직접 제작함.
- OffsetBias 공개. bias를 낮추는 데 기여할 수 있는 학습용 선호 데이터셋
출처 : https://arxiv.org/abs/2407.06551
1. Introduction
최근 LLM이 생성한 텍스트를 LLM으로 평가하는 경우가 굉장히 많아졌습니다.
LLM으로 생성하는 텍스트는 종류나 범위가 엄청나게 다양한데 이를 사람이 직접 다 평가하기엔 너무나도 많은 시간과 비용이 필요하기 때문이죠.
그리고 LLM이 생성된 텍스트에 대한 퀄리티나 선호도를 평가한 것의 결과가 사람의 것과 굉장히 align 된다는 것이 잘 알려지면서 이런 방식이 더욱 적극적으로 활용되고 있습니다.
그러나 아직까지의 문제는 그런 평가를 제대로 할 수 있는 건 GPT-4 정도 되는 모델뿐이라는 것입니다.
흔히 기업 소유의 proprietary 모델이라고 표현하는데, 대중에게 공개된 open source 모델들은 이와 비교했을 때 한참 부족한 성능과 결과를 보이고 있는 것이 꾸준히 문제점으로 지적되고 있습니다.
평가의 성능이 딸린다는 것 중 대표적인 예시로 '텍스트의 내용보다는 표면적인 특징을 기준으로 평가하는 경향성'을 들 수 있습니다.
<Figure 1> 을 보시면 셋째 줄의 내용(Apple)이 정답이 아님에도 불구하고 둘째 줄의 스타일대로 답변했다는 이유로 실제 정답(oragne) 대신 모델의 pick을 받았다는 걸 알 수 있습니다.
이런 표면적인 특징 외에도 여러 가지 bias를 정의할 수 있는데, 본 논문에서는 이를 6개 종류로 정의하고 관련 벤치마크 및 bias를 완화할 수 있는 학습용 데이터를 공개했습니다.
2. Related Work
2.1. LLM-based Evaluation
LLM이 생성한 텍스트를 모델(proprietary & open-source)이 평가하는 것과 관련된 연구들 중 본 논문에서 인용하고 있는 논문들의 목록은 다음과 같습니다.
- [NeurIPS 2023] Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (https://arxiv.org/abs/2306.05685)
- [ICLR 2024] PandaLM: An Automatic Evaluation Benchmark for LLM Instruction Tuning Optimization (https://arxiv.org/abs/2306.05087)
- JudgeLM: Fine-tuned Large Language Models are Scalable Judges (https://arxiv.org/abs/2310.17631)
- Generative Judge for Evaluating Alignment (https://arxiv.org/abs/2310.05470)
- [ICLR 2024] Prometheus: Inducing Fine-grained Evaluation Capability in Language Models (https://arxiv.org/abs/2310.08491)
2.2. Meta-Evaluation Benchmarks and Judge Model Biases
여기서 언급하는 meta-evaluation은 모델의 평가 결과가 사람의 선호와 얼마나 일치하는지에 대한 것이라고 보면 될 것 같습니다.
- [NuerIPS 2023 Spotlight] AlpacaFarm: A Simulation Framework for Methods that Learn from Human Feedback (https://arxiv.org/abs/2305.14387)
- Large Language Models are not Fair Evaluators (https://arxiv.org/abs/2305.17926)
- Wider and Deeper LLM Networks are Fairer LLM Evaluators (https://arxiv.org/abs/2308.01862)
- On the Limitations of Fine-tuned Judge Models for LLM Evaluation (https://arxiv.org/abs/2403.02839)
- Length-Controlled AlpacaEval: A Simple Way to Debias Automatic Evaluators (https://arxiv.org/abs/2404.04475)
- [ICRL 2024] Evaluating Large Language Models at Evaluating Instruction Following (https://arxiv.org/abs/2310.07641)
3. Bias of Judge Models
논문에서 제시하는 6개 종류의 bias입니다.
각각에 대한 설명은 이렇습니다.
3.1. Identified Bias Type
- 1) Length Bias
- 답변의 퀄리티나 instruction을 잘 지켰는지에 상관없이 길이가 더 긴 답변을 선호하는 현상입니다.
- 예시에서는 Network Topology에 대한 설명을 Good Response에서만 하고 있는데, 그냥 길이만 길고 다른 이야기를 하고 있는 Bad Response를 선택하게 될 수 있음을 의미합니다.
- 2) Concreteness Bias
- source, 숫자, 복잡한 용어 등의 구체적인 정보를 포함하고 있는 답변을 선호하는 경향을 말합니다.
- 예시에서는 orange가 정답인데 apple에 대한 설명에 저널 인용이 포함되어 있다는 걸 지적하고 있습니다.
- 3) Empty Reference Bias
- 답변을 보류해야 하는 상황에서 할루시네이션을 일으킨 답변을 선호하는 것을 말합니다.
- 구체적인 내용을 유저에게 요구하는 좋은 답변과 달리, 나쁜 답변에서는 자기 혼자서 내용을 임의로 채워 넣은 것이 확인됩니다.
- 4) Content Continuation Bias
- 주어진 지시를 따르지 않고 그냥 말을 완성해버리는 현상을 뜻합니다.
- 예시에서는 주어진 문장을 paraphrase 하라고 지시했는데, 나쁜 답변을 보면 party에 관한 내용을 이어서 생성한 걸 알 수 있습니다. 이는 다음 토큰을 예측하도록 학습된 LLM의 특징이라고도 볼 수 있습니다.
- 5) Nested Instruction Bias
- 주어진 지시 내에 삽입된 입력 텍스트를 선호하는 경향을 말합니다.
- 4번과 굉장히 유사하지만, 지시를 따르고는 있다는 점에서 차이가 있습니다.
- 6) Familiar Knowledge Bias
- 지시를 정확히 따르고 있는 답변보다 일반적이고 친숙한 텍스트를 포함하는 경우를 선호하는 현상을 뜻합니다.
- 예시는 그냥 옳고 그름에 따라 나뉘는 것 같은데 적절한 예시인지는 모르겠습니다. 억지로 해석해 보자면 'kept the ice'의 일반적인 의미를 나쁜 답변에서 설명하고 있다고 볼 수 있을 것 같습니다.
3.0. Bias Type을 정하는 방법
원래는 3.1. 위에 배치해야 하는데 가독성을 위해 아래로 내렸습니다.
1) LLMBar, HHH 벤치마크에 대해 GPT-4-1106-preview, GPT-3.5-turbo-0125, Llama-3-70b-instruct, Llama-3-8b-instruct, Prometheus2, AutoJ로 추론한 결과를 저장합니다.
2) error case를 분석하고 bias type에 대한 가설을 세워 모델이 잘못된 판단을 한 이유를 예측합니다.
3) bias type 가설을 검증하여 bias pattern을 확인합니다. 이를 검증할 때 사용하는 데이터는 사람이 직접 만든 것들입니다.
4) 만약 모델이 일관된 bias pattern을 보이는 경우 이 가설을 채택하여 bias type으로 정합니다.
3.2. Construction of Bias Benchmark
6개의 카테고리로 구분하는 80개의 평가용 데이터, EvalBiasBench를 구축했습니다.
데이터를 필터링할 때는 모든 저자들이 사용하기로 동의한 데이터만 사용했다고 합니다.
bias 중에서도 length bias가 평가에 영향을 미치지 않을 수 있도록 데이터를 구성했는데요.
실험에 따르면 bad / good 의 길이 비율이 2.0 이상이 되는 시점부터는 답변의 길이가 영향을 주는 것으로 판단하고 있습니다.
이에 따라 good response의 길이가 bad response 대비 두 배 이상이 되지 않을 수 있도록 답변의 길이를 조정했다고 합니다.
4. Training Data Construction
저자는 judge 모델에 내재된 bias는 pre-training 및 instruction tuning data에 기인한다고 주장합니다.
따라서 debias 를 위한 데이터가 필요하므로 OffsetBias 데이터셋을 제시하고 있습니다.
이는 instruction $I$, good response $R_g$, bad response $R_b$, 세 요소로 구성된 triplet 데이터셋입니다.
이때 모델의 입장에서 적절한 학습이 이뤄질 수 있도록 bad response를 어렵게 만들었다고 합니다.
이를테면 $R_b$는 중요한 에러들을 포함하고는 있지만 judge 모델이 판단하기에 더 좋아 보일 법한 요소(이를테면 스타일)를 포함하도록 데이터를 제작한 것 같습니다.
4.1. Bad Response Generation
우선 네 개의 데이터셋 (Alpaca, Ultra-chat, Evol-Instruct, Flan) 으로부터 instruction을 sampling 합니다.
그리고 GPT-4-1106-preview를 이용해서 desired qualities의 답변을 생성합니다.
이때 bas response를 생성해야 하는데, 저자의 설명에 따르면 저자들이 원하는 정도의 어려움의 bias를 특정하여 데이터를 생성하는 것은 꽤 어려운 작업이라고 합니다.
그래서 그 대신 error type을 포함할 수 있도록 prompting 했는데 이 방식이 더 효과적이었다고 합니다.
위에서 설명한, quality는 높지만 내용은 부정확한 데이터가 생성될 수 있도록 'Off-topic response' & 'Erroneous response' method로 구분하고 둘을 사용했다고 밝혔습니다.
- Off-topic Response Method
- instruction $I$가 주어지면, GPT-4 모델이 different instruction $I'$를 생성합니다.
- 상대적으로 약한 모델(GPT-3.5-turbo-0125)이 correct response $R(I)$를 생성하고, 강한 모델(GPT-4)이 correct response $R(I')$를 생성합니다.
- 단, 실제로 instruction이 유의미하게 달라야 하므로 이에 대한 검증에 GPT-4 모델을 추가적으로 사용합니다.
- Errorneous Response Method
- GPT-4 & Claude-3-Opus 모델에게 특정 에러를 포함하는 $R_b$를 생성하도록 지시합니다.
- wrong fact, incomplete response, irrelvant parts, omit necessary part, deviate from instruction 등의 에러 종류가 있습니다.
- 각 타입마다 모델이 참고할 수 있는 one-shot prompt를 제작했다고 합니다.
- GPT-4를 이용하여 wrong respnose가 실제로 incorrect 한 것이 맞는지 필터링합니다.
4.2. Difficulty filtering
judge 모델에게 너무 쉬운 데이터들은 필터링합니다.
생성된 instance 중에서 60% 정도는 삭제되었다고 하네요.
최종적으로 8,504개의 데이터로 구성되어 있는데, 이중 3,062개는 Off-topic response, 5,442개는 Erroneous response 입니다.
Erroneous response의 경우 GPT-4와 Claude-3-Opus가 각각 4,398, 1,044개를 생성했습니다.
5. Experimental Setup
5.1. Model Description
LLaMA-3-8B-Instruct를 학습하여 두 개의 judge 모델을 만들었습니다.
Base-data 만을 사용한 것과 OffsetBias 데이터를 추가하여 학습한 두 모델입니다.
Base-data의 경우 268k 개의 human preference dataset으로 구성되어 있습니다.
(Ultrafeedback, Hlepsteer, HH-RLHF-Helpful-Online, HH-RLHF-Harmless-Base, susbset of PKU-SafeRLHF)
이와 같은 데이터셋에 대한 position bias를 방지하기 위해 모든 pairwise training data를 swap 하여 데이터를 증강했다고 밝힙니다.
한편 reward model을 학습했다고 합니다.
그러나 직접적으로 fine-tuning 하게 되는 경우 catastrophic forgetting이 일어나 weight merging method를 취합니다.
구체적으로는 SLERP를 사용했다고 밝혔습니다.
5.2. Benchmarks
- LLMBar
- HHH-Alignment
- MT-Bench Human Judge
- RewardBench
5.3. Baselines
- Generative model baselines
- GPT-4o-2024-05-13, GPT-3.5-turbo
- PandaLM, Auto-J, Prometheus2, LLaMA-3-8B-Instruct
- Phi-3-medium, Mixtral-8x-7B, LLaMA2-Chat-70B, LLaMA3-70B-Instruct
- Reward model baselines
- LLaMA, Mistral, Yi
- Eurus-RM-7B, Starling-RM-34B, RM-Mistral-7B, FsfairX-LLaMa3-RM
6. Experimental Results
6.1. Generative Model Results
위에서 언급한 것처럼 모든 pair 데이터셋은 순서를 바꿔(swap) 증강된 상태입니다.
이때 Llama 모델에 OffsetBias 데이터를 얹어 학습한 것의 성능이 오픈 소스 모델들 중에서 가장 좋고, 제시된 벤치마크에 대해서는 proprietary 모델 수준의 성능을 보인다는 것을 알 수 있습니다.
6.2. Reward Model Results
Chat Hard subset에서 눈에 띄는 성능 향상이 있습니다.
6.3. Ablation Study
- Position Swap
- Swap aug가 positional agreement score에 영향을 주지 않음
- 그러나 benchmark sets의 정확도 향상에 도움이 됨
- Data Construction Method
- Off-topic response method (ORM)
- 모델의 judgment ability 향상에 도움이 됨
- 주로 adversairal cases에 영향을 줌
- Erroneous response method (ERM)
- 마찬가지로 모델의 judgment ability 향상에 도움이 됨
- ORM 대비 더 다양한 세팅에 영향을 줌
- Off-topic response method (ORM)
6.4. EvalBiasBench
이 벤치마크에도 swap된 데이터셋이 포함되어 있습니다.
개인적으로는 Length와 Position에 대한 결과가 조금 궁금하긴 합니다.
Length는 학습에 영향을 가장 크게 받는 영역인 것 같은데 실제로 일정 길이에 따라 얼마나 변하는지 감이 잘 오지 않습니다.
또 Position의 경우 제 경험 상 실제로 swap을 하면 결과가 달라지는 경우들이 적지 않은데 이에 대한 것도 좀 확인해보고 싶습니다.