728x90
https://aclanthology.org/2024.acl-long.169/
Can LLMs Learn from Previous Mistakes? Investigating LLMs’ Errors to Boost for Reasoning
Yongqi Tong, Dawei Li, Sizhe Wang, Yujia Wang, Fei Teng, Jingbo Shang. Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2024.
aclanthology.org
ACL 2024에 게재된 해당 논문을 간단하게 리뷰한다.
정형화된 포맷을 LLM이 알맞게 출력하도록 하는 연구를 진행하고 있는데.. 참고 자료로 읽어보았다.
1. Summary
- 연구 배경
- 대형 언어 모델(LLM)은 논리적 추론 능력이 뛰어나지만, 실수를 통해 학습하는 인간의 방식에 비해 LLM은 이와 같은 능력이 제한적이다. 본 연구는 LLM이 이전의 실수를 통해 학습할 수 있는지를 탐구한다.
- Main Contribution
- COTERRORSET: 609,432개의 질문과 각각의 정답 및 오답을 포함하는 새로운 벤치마크 데이터셋을 구축.
- Self-rethinking Method: LLM이 이전의 실수를 반복하지 않도록 다시 생각하게 유도하는 방법.
- Mistake Tuning Method: 정답과 오답 모두를 활용하여 모델을 Finetuning하는 방법.
- Experiment Results
- Self-rethinking Method: Standard Prompting, CoT, Self-refine, Self-consistency 과 비교했을 때 accuracy 최대 381% 향상
- Mistake Tuning Method: Standard Finetuning과 비교했을 때 최대 accuracy 최대 38% 향상
2. Method
COTERRORSET (CoT Error Set)
- 다지선다형 QA, 추출형 QA, 비공개형 QA, 형식 논리, 자연어 추론, 산술 추론을 포함한 다양한 분야로 구성.
- 1060 tasks 로 이루어진 609,432 questions 로 구성.
- QASC, AQuA, GSM8K, QED, StrategyQA, SenseMaking, CREAK, eSNLI, ECQA등의 데이터셋에서 수집하였다.
- 각 작업은 체계적으로 질문과 정답 reference를 포함하며, 그 뒤에 잘못된 응답과 해당 오류를 범한 이유에 대한 설명을 제공. 이 오류와 설명은 PaLM2 (Google의 언어모델)에서 생성되었다.
- 데이터셋 예시: 각 작업은 체계적으로 질문과 정답 reference를 포함하며, 그 뒤에 잘못된 응답과 해당 오류를 범한 이유에 대한 설명을 제공. 이 오류와 설명은 PaLM2 (Google의 언어모델)에서 생성되었다.
- -> 이는 PaLM2를 활용한 연구들에서 LLM이 고품질 데이터를 제공하고 피드백을 제공할 수 있는 능력을 입증했기 때문이다.

- 우선 저자는 해당 데이터셋으로 상식적 추론, 산술 추론 에서 LLM이 어떤 유형에 약점을 보이는지 탐구하였고, 아래와 같은 결론을 도출하였다.
- 상식 추론 오류: 모델이 맥락을 정확히 이해하지 못해 사실이나 개념을 잘못 해석하는 경우가 많다. 이를 개선하기 위해 RAG 시스템의 발전이 필요하다.
- 논리적 오류: LLM은 논리적 추론 대신 패턴 인식에 의존하여, 일관성 없는 결론을 내리거나 사실에 맞지 않는 연결을 만든다.
- 산술 계산 오류: LLM은 계산 문제에서 자주 실수를 하며, 이를 해결하기 위해 Program-of-Thought (PoT) 방식을 도입해 문제를 해결하는 코드 생성이 제안되고 있다.
- 논리적 깊이 부족: 수학적 개념을 깊이 이해하지 못해 데이터를 잘못 해석하거나 연산을 잘못 적용하는 경우가 자주 발생한다.
Methology : Self-Rethinking
- Self-rethinking은 LLM이 과거에 했던 실수를 반복하는지 스스로 검토하도록 유도하는 접근 방식이다.
- 이 방법은 먼저 Chain-of-Thought (CoT) 추론을 시작한 후, COTERRORSET에서 무작위로 선택된 예시와 함께 제공된 추론 결과를 사용해 최근 응답에서 비슷한 오류가 있는지 평가한다.
- 만약 오류가 발견되면, 모델은 새로운 근거를 생성하고 다시 평가 과정을 진행한다. 이 과정은 모델이 오류를 수정할 때까지, 또는 설정된 반복 횟수에 도달할 때까지 계속된다.
- 핵심은 후방 검토(backward-checking) 단계에 있으며, 이 단계에서 모델은 이전에 식별한 오류 유형을 중점적으로 검토한다.
- 이를 통해 LLM은 무작위 오류뿐만 아니라 과거에 반복된 실수를 의식적으로 피하는 방법을 학습하게 된다.
- 이 과정에서 오류가 반복되면 다시 추론 과정을 수정하고, 오류가 없을 경우 최종 응답으로 채택된다.
- 또한, 이 과정은 무한 반복에 빠지지 않도록 k번의 반복으로 제한된다.

Methology : Mistake Tuning
- 이 접근법은 올바른 근거와 잘못된 근거의 조합을 사용하여 LLM을 Finetuning 한다.
- 단순히 각 근거 앞에 [CORRECT RATIONALE]와 [INCORRECT RATIONALE] 접두사를 붙임으로써, Mistake Tuning은 LLM이 올바른 근거와 잘못된 근거를 구별하는 능력을 더욱 향상시킬 수 있도록 한다.
- -> 제어 신호를 기반으로 한 pretraining이 LLM이 더 만족스러운 콘텐츠를 생성하는 능력을 향상시킬 수 있음을 입증한 연구가 바탕.
3. Experiments
Benchmarks
- LLM의 추론 성능을 평가하기 위해 아래와 같은 수학 및 논리 문제와 관련된 여러 벤치마크를 사용한다.
- GSM8K: 수학 단어 문제 벤치마크.
- AQuA: 대수학 문제에 중점을 둔 데이터셋.
- MathQA: 다중 선택형 수학 문제 벤치마크.
- OpenbookQA: 인간의 이해력을 테스트하기 위해 오픈북 시험을 모델로 한 벤치마크.
- LogiQA: 논리적 추론을 테스트하기 위한 전문가 작성 질문으로 구성된 데이터셋.
- Critical Reasoning in MARB: 가정, 결론, 역설에 대한 추론을 강조하는 벤치마크.
Experiment Result: Self-Rethinking
- self-rethinking 방법의 성능을 다양한 벤치마크에서 평가한 결과이다.
- self-rethinking은 GSM8K, AQuA, LogiQA, CR에서 self-consistency보다 적은 계산 비용으로 더 우수한 성능을 보여주었다. (self-rethinkin은 문제당 추론 횟수가 2~3회로 self-consistency보다 낮다.)
- MathQA는 복잡한 산술 문제에 특화되어 있어, self-refine 방법이 더 효과적임을 시사한다.
- self-rethinking은 주로 일반적인 오류를 식별하고 해결하는 데 초점을 맞추고 있다는 것을 시사한다.

- Table (위) 는 GPT-4의 CoT와 self-rethinking 성능을 비교한 것이다. self-rethinking 방법을 사용할 때 CoT보다 눈에 띄는 성능 향상을 보여주었다.
- Table (아래) 는 PaLM2의 CoT와 self-rethinking의 8-shot 성능을 비교한 것이다. 해당 과정에서 잘못된 reference를 제시하여 이를 재고할 수 있도록 하였다. self-rethinking 방법이 표준 8-shot CoT 방식보다 명확한 이점을 보여주었다.


- 아래 Table은 Flan-T5 모델의 mistake tuning 성능을 보여주며, 올바른 reference와 잘못된 reference를 결합한 mistake tuning의 효과를 입증한다.
- 또한 저자는 정답 데이터나 수작업으로 만든 reference를 얻는 비용은 잘못된 reference를 생성하고 수집하는 것에 비해 훨씬 높음을 언급하며 해당 접근 방식이 효율적인 솔루션임을 강조한다.

728x90