본문 바로가기
NLP 논문

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 논문 리뷰

by 난시간과싸워 2025. 7. 21.
반응형

CoT 배경 설명

  • CoT는 구글 리서치에서 2022년 발표한 논문이다.
  • LLM에 추론 능력을 유도한 최초의 체계적 연구이고, 현재 Prompt 엔지니어링의 중요성을 강조하게 된 시초 격의 논문이다. 

 

Abstract

  • 이 논문에서는 Chain of thought(답을 얻기 위해 수행하는 중간중간의 추론 과정)이 LLM의 복잡한 추론의 능력을 크게 향상하는 점을 발견한다.
  • 특히, 약간의 사고 흐름의 예시를 prompt에 포함시키는 Chain of thought prompting을 통해, LLM에서의 추론 능력을 자연스럽게 유도할 수 있다.
  • LLM 3개 모델에서 chain-of-thoungt prompting을 적용하여, 연산, 상식, 상징 추론 등의 영역에서 큰 성능 향상을 보였다. 

 

Introduction

[LLM 한계]

  • LLM의 성능이 모델의 사이즈 크기에 따라 향상되고 있지만, 단순 사이즈를 키우는 것으로는 연산, 상식, 추론 분야등에서는 충분치 않다.

[Motivation]

  • 이 논문은 LLM의 추론 능력을 어떻게 간단하게 발휘할수 있을지를 탐구하는 것으로, 2가지 기존 아이디어에서 영감을 받았다.
  • 첫 번째, LLM의 연산 문제에서 최종 답을 얻기 위한 중간 단계를 생성하게 하면, 더 좋은 성능을 보인다.
  • 두 번째, LLM은 prompt를 활용한 in-context few-shot 학습에서 가능성을 보였다. 즉, 모델을 별도 finetuning 할 필요 없이, 원하는 작업에 대한 몇 개의 입출력 에시를 prompt에 제공하면 좋은 성능을 보인다.
  • 하지만, 위의 두가지 아이디어는 큰 한계가 있는데, 두 아이디어의 활용하기 위해서 양질의 추론 과정을 별도로 prompting 하는 것은 매우 큰 공수가 든다는 것이다. 

[chain-of-thought]

  • 이 논문에서는 위의 두가지 아이디어의 장점을 합치면서, 그들의 한계를 극복하는 방법을 제시한다.
  • 특히, LLM이 추론과정에서 few-shot prompting으로 <input, chain of thought, output>의 3가지로 구성된 prompt를 주었을 때 성능을 확인한다. (이런 구조의 prompt를 chain-of-thought prompting으로 명명한다.)

[성능 및 의의]

  • 모델 성능을 확인하기 위해, 연산, 상식, 기호 추론등의 벤치마크에서 chain-of-prompting을 적용하였고, 기존 모델들의 성능을 크게 넘어서는 성능을 확인했다. 
  • 이런 prompting만을 사용한 방법은 별도의 학습데이터나 재학습이 필요없기 때문에 매우 중요하다. 

 

Chain-of-thought Prompting

  • 누군가 복잡한 연산 추론 문제를 풀때, 그 문제를 작은 추론 과정으로 나누는 과정이 있다. (예를 들어, "어떤 물건이 1개가 있을 때 누군가에게 7개를 받고, 3개를 주고, 4개를 받았을 때 총 몇 개가 남았는가?"에 대한 질문이면 뇌에서 각 과정을 중간단계로 나누어 추론한다는 것이다.  1+7→8-3→5-4 = 1)
  • 이 논문에 목적은 이런 비슷한 chain of thought 과정을 LLM에게 부여하는 것이다. 즉, LLM이 최종 정답을 내리기 위한 추론의 각 과정을 거치도록 하는 것이다.
  • 논문에서는 few-shot prompting에서 이런 chain-of-thought에 대한 예시를 줘서, LLM이 chain of thought 과정을 거칠 수 있게 한다. 
  • Chain-of-thought(CoT) prompting은 추론을 촉진하기 위한 몇가지 특징을 가지고 있다.
    1. CoT는 모델이 복잡한 문제를 중간 단으로 나눌 수 있게해서, 문제를 푸는데 추가적인 연산을 할 수 있게 한다.
    2. CoT는 사고의 과정을 어느정도 디버깅할 수 있기 때문에, 모델이 문제를 잘못 푸는 경우 알맞은 가이드를 주어 문제를 풀도록 할 수 있다.
    3. CoT는 수학이나 상식, 심볼 추론 등 언어를 통해 인간이 풀 수 있는 모든 문제를 풀 포텐셜이 있다.
    4. CoT는 few-shot prompting을 위한 예시만 만들면 되어서 쉽게 LLM에 적용 가능하다.
  • 이후 실험 단에서 chain-of-thought prompting의 예시를 연산, 상식, 심볼 추론등에서 보인다. 

 

Arithmetic Reasoning

  • 간단한 수학 연산에서도 LLM은 종종 어려움을 겪곤한다.
  • 놀랍게도 간단한 chain-of-thought prompting만으로 540B parameter의 LLM이 해당 task를 수행하기 위해 fine-tuning 된 LLM을 넘어 SOTA를 달성했다. (GSM8 K 벤치마크)

[실험환경]

  • 벤치마크 : 5개의 math word 벤치마크 (GSM8 K, SVAMP, ASDiv, AQuA, MAWPS)
  • 기존 prompting : input과 output으로 구성된 간단한 예시. 예시들은 질문과 대답으로 구성되고, 대답을 바로함(사고 과정 설명 없이)
  • Chain-of-thought prompting :  각 예시에 정답과 함께 미리 구성된 8개의 CoT 예시를 추가하는 방식으로 구성
  • LLM : GPT-3, LaMDA, PaLM, UL2, Codex

[실험결과]

  • 실험을 통해 발견한 3가지 주요 인사이트는 다음과 같다.  
    1. 모델의 크기가 어느 정도 이상일 때 효과가 있다. : 작은 모델에서는 CoT를 사용해도 오히려 논리적이지 않은 추론 결과를 거치면서 오히려 성능이 하락하기도 한다.
    2. 문제의 난도가 높을수록 성능 향상 폭이 크다. : 어려운 문제에서는 정답률이 2배 이상으로 큰 성능 향상을 보이지만, 단순한 연산 문제에서는 도움 되지 않거나 오히려 성능하락이 있다.
    3. 거대 LLM에 CoT를 적용하면 SOTA 성능을 보인다. : task-specifc fine-tuning 방식의 SOTA를 넘을 정도로 좋은 효과적이다.

[Robustness of CoT]

  • Prompt 방식은 예시의 순서나 문체에 매우 민감하지만, CoT prompting은 다양한 작성자와 스타일, 순서, 수량 변화에도 일관되게 높은 성능을 보인다.
  • 서로 다른 사람이 쓴 CoT, 간결한 버전, 심지어 무작위로 뽑은 예시 세트까지 모두 표준 prompt보다 좋은 성능을 보였다. 즉, CoT의 단순 표현 방식보다는 논리의 주입의 개념이 key이다. 

 

 

 

Commonsense Reasoning & Symbolic Reasoning

  • 마찬가지로 큰 모델일수록 성능 향상이 있고, 문제가 복잡할수록 성능 향상이 컸다.
  • 단순 수학 연산뿐 아니라, 상식과 심볼 추론에서도 CoT를 적용하였을 때 큰 성능 향상을 보였다. 
  • 이는 CoT가 단순 prompting 디자인 스킬이 아닌, LLM에 생각하는 방식을 알려주는 기법이다.