최근 LLM(Large Language Model) 연구 동향은 모델의 사이즈를 키워 더 나은 성능을 가진 모델을 개발하는 것이었다. 하지만, arithmetic task와 같은 multi-step thinking을 요구하는 task에서는 여전히 좋은 성능을 보이지 못했다. 해당 논문은 모델에게 차근차근 생각할 수 있는 능력을 부여하기 위한 CoT(Chain-of-Thought) prompting을 소개한다. 이는 복잡한 reasoning task 및 arithmetic(수학) task에서 좋은 결과를 보여준다. 특히, 이 논문에서는 few-shot CoT를 통해 모델이 어떻게 reasoning 능력을 갖게 되는지 보여준다. 3가지 모델에서 평가를 해본 결과, 상당한 성능 향상 결과를 보여줬으며, PaLM 540B 모델은 GSM8K dataset에서 SOTA를 달성한다!
CoT Prompting
사람은 보통 복잡한 문제를 직면하게 되면 자연스럽게 "차근차근 생각하여 문제를 해결"한다. 위의 그림을 보자. 왼쪽은 기존의 few-shot method의 추론 과정이다. 그림과 같이 주어진 입력에 따라 바로 결과를 계산하려면 정확도가 처참해진다.. 따라서 본 논문에서는 모델이 사람처럼 중간 과정을 생각할 수 있도록 few-shot prompting을 적용하는 CoT(Chain-of-Thought)를 제시한다.
그렇다면 CoT를 사용함으로써 생기는 이점은 정확히 어떤 것들이 있을까? 논문에서 제시한 4가지 이유를 같이 살펴보자.
- 한번에 해결할 수 없는 문제를 multi-step으로 나눠서 계산할수 있다.
- 모델이 어떻게 답을 도출했는지 직접 눈으로 확인할 수 있으며, 어떤 문제가 생겼는지 분석할 수 있다.
- Arithmetic, commonsense reasoning 등의 인간이 언어를 통해 해결할 수 있는 다양한 task에 사용할 수 있다.
- CoT 프롬프트를 사용한 few-shot을 통해 손쉽게 LLM(충분히 큰 사이즈이어야 함)에 적용할 수 있다.
Experiments
본 논문에서는 차근차근 해결해야 하는 3개의 task: arithmetic reasoning, commonsense reasoning, symbolic reasoning에서 CoT 프롬프팅에 대한 실험을 진행한다.
Arithmetic reasoning
위의 그림에 나온 것처럼 수학 문제를 다루는 task에 대해서 평가를 진행한다. 사람에게는 비교적 쉬운 문제일 수 있지만, LLM은 고전하는 task이다(물론 GPT-4와 같은 모델은 어려운 문제에서도 꽤 정확도가 올라갔다). 총 5개의 benchmark(GSM8K, SVAMP, ASDiv, AQuA, MAWPS)에서 평가가 진행되었으며, GPT-3에서처럼 few-shot baseline과 비교하여 성능을 보여준다.
3개의 벤치마크에서의 결과는 위와 같다. 실험을 통해 3가지 결과를 알 수 있다.
- CoT는 모델의 크기가 충분히 클 때 성능 향상 효과가 있다.
- 어려운 task일수록 CoT로 인한 성능 향상 폭이 더 컸다(GSM8K)
- CoT를 적용한 GPT-3, PaLM은 supervised SOTA 성능과 필적하며, PaLM 540B-CoT 모델은 위의 세 벤치마크에서 새로운 SOTA 성능을 달성한다.
논문에서는 정답을 도출한 50개의 예시와 틀린 답을 출력한 50개의 예시를 분석했으며, 이에 따른 결과는 다음과 같다.
- 정답 예시: 48개의 예시의 경우 중간 단계가 논리적이었으며, 나머지 2개는 우연히 답을 도출했다.
- 틀린 예시: 46%의 예시에서 중간 단계의 논리는 맞았지만, 계산 실수와 같은 사소한 문제로 정답을 계산하지 못했다. 나머지는 이해 및 일관성에 있어서 문제가 생겼다.
위 그래프는 다양한 세팅에 대한 평가로 CoT의 영향을 평가한 것이다. 수학적 방정식만을 출력하는 Equation only, 모델이 정말 출력한 중간 step을 활용하는지 알아보기 위한 Variable compute only, 그리고 최종 정답을 먼저 출력하도록 하는 Reasoning after answer 세팅에 대해 비교했으며, CoT의 장점을 제한시킨 세팅들은 기존 few-shot과 큰 차이가 없었으며, CoT 프롬프팅과 결과가 매우 크게 차이나는 것을 볼 수 있다.
실제로 few-shot 사용되는 예시의 세팅이 매우 중요한데, 같은 샘플을 사용하더라도 순서만을 바꿨을 뿐인데 GPT-3의 성능이 17%에서 93%으로 변할 정도이다. 위의 그림은 다양한 샘플링 세팅에 대한 CoT 결과인데, 조금 차이는 있지만 단순 few-shot보다 모두 큰 성능 차이을 보여준다.
Commonsense reasoning
Commonsense reasoning task에서의 PaLM 모델 CoT 실험 결과는 위와 같다. 해당 task에서도 마찬가지로 모델 사이즈가 증가함에 따라 성능 차이가 대체로 더 크게 발생했으며, StategyQA 데이터셋에서는 이전의 SOTA 성능을 뛰어넘었으며, BIG-bench의 Sports understanding 데이터셋에서는 무려 95% 이상의 성능을 달성하며 인간의 추론 능력을 뛰어넘었다.. 😮😮
Symbolic reasoning
위는 symbolic reasoning task에서의 성능 결과이다. 왼쪽 두개의 그래프는 in-domain 실험에 대한 결과이고, 오른쪽은 out-of-domain(OOD) 결과이다. 해당 결과에서 또한 마찬가지로 CoT에 의한 성능 변화가 확연히 드러난다.
Conclusion
CoT에 대해 다룬 논문을 리뷰해봤다. 간단한 프롬프팅 method를 활용한 연구지만 모델에게 중간 스텝을 생각할 수 있는 능력을 부여할 수 있다는 것이 정말 흥미로웠다. 추가 학습 과정을 거치지 않고 정제된 입력을 통해 두배가 넘는 성능 향상을 보일 수 있는 것은 비전 분야에서 볼 수 없는 자연어 처리 분야만의 특별한 매력이다. 논문 링크는 아래에 있으니 참고하시길!
논문