논문 리뷰

CoT (2023.01): Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

cch8ii 2025. 11. 20. 01:56
논문 링크: https://arxiv.org/abs/2201.11903#:~:text=intermediate%20reasoning%20steps%20,exemplars%20achieves%20state%20of%20the
 

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

We explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular, we show how such reasoning abilities emerge naturally in su

arxiv.org

 

한 줄 정리

    • 간단한 예시(few-shot)만으로 대규모 언어모델의 복잡한 다단계 추론 능력을 극적으로 끌어올리는 프롬프트 기법
    • 목표
      • 추론 예시를 프롬프트로 제공함으로써 모델이 추론 task를 더 잘 풀 수 있게 하자!
      • 언어모델이 복잡한 다단계 추론을 수행할 수 있도록 만드는 가장 단순한 방법
  • 핵심 아이디어
    • 정답만 요구하는 대신 중간 추론 과정(자연어 reasoning step)을 예시로 보여주면 → 대규모 언어모델은 그 과정을 모방하며 스스로 단계적 추론을 수행
  • 성과
    • 약 100B 파라미터 이상에서 CoT가 큰 성능 향상을 보임
    • 추론 문제에서 큰 성능 향상을 보임
    • 프롬프트만으로 SOTA에 도달할 수 있음을 보임
    • 추론 과정이 언어로 드러나므로 해석 가능성 증가

 

LLM이 추론을 하는 게 맞을까?

CoT 논문에서는 중간 추론 단계인 chain of thought를 생성하는 것이 LLM이 복잡한 추론을 수행하는 능력을 크게 향상시킨다는 것을 탐구한다. 모델을 새롭게 제시하거나 한 논문이 아니라 프롬프트에 추론을 하는 예시를 주었더니 모델이 못 푸는 문제도 잘 풀게 되었다는 것을 보여준 것이다.

진자 이걸 추론이라고 할 수 있는지 잘 생각하면서 논문을 읽으면 재밌게 읽을 수 있을 것이다. 

 

 

CoT?

본 연구는 2가지 아이디어에서 출발한다.

1. 산술 추론 기법은 최종 답에 이르는 자연어 설명(rationale)을 생성함으로써 도움을 받을 수 있다.

즉, 'A가 6개 있던 사과를 하루에 2개씩 먹고 2일이 지났다. 사과가 얼마나 남았을까?' 에 대한 질문에 대해서 바로 '2'와 같이 답을 내놓는 것이 아니라 '6개 있던 사과를 첫째날에는 2개. 둘째날에도 2개 먹었기 때문에 2개가 남는다.'와 같이 최종 답에 이르는 자연어 설명을 생성함으로써 정확한 답을 내놓을 수 있다는 것이다. 

2. LLM은 프롬프트를 통해 in-context 방식의 few-shot 학습을 할 수 있다. 

즉, finetuning을 task마다 하지 않고 몇 개의 입출력 예시만 프롬프트로 제공해도 학습이 가능하다는 것이다. 

 

하지만 이런 접근법들은 모두 중요한 한계가 존재한다. Rationale을 활용한 학습 및 미세조정 방법은 고품질의 rationale을 대량으로 제작해야 하는데 이는 일반적으로 입출력 쌍을 만드는 것보다 비용이 더 많이 들고 복잡하다. 또한 few-shot 프롬프트 방식도 당시엔 추론 능력이 요구되는 task에서 그다지 좋은 성능을 보이지 않았다. 

 

실제로 PaLM이라는 모델을 살펴보자. PaLM은 구글에서 만든 엄청 큰 언어 모델이다. 이 모델을 가져다가 따로 GSM8K에 finetuning하지 않고 프롬프트만 바꿔서 성능을 비교해보았을 때 finetuning된 모델을 PaLM 540B + CoT가 성능에서 우위를 점하는 것을 알 수 있다.

 

COT는 뭘까?

 

CoT!

CoT에선 이러한 한계를 피하면서 두 접근법의 강점을 결합한다. 

입력–추론 과정(chain of thought라고 표현한다.)–출력으로 이루어진 세 항목 ⟨input, chain of thought, output⟩을 프롬프트에 제공했을 때, 언어 모델이 추론 작업을 few-shot 방식으로 수행하는 능력을 탐구한 것이다. 이러한 방식을 chain-of-thought prompting이라고 한다. 

 

CoT를 이해하려면 사람이 생각하는 방식을 생각하면 쉽다. 

복잡한 추론이 필요한 다단계 수학 서술형 문제 같은 task를 해결할 때 사람들은 복잡한 문제의 답을 바로 내놓지 않는다. 보통 문제를 중간 단계로 나눠서 각 단계를 해결한 다음에 최종 답을 도출하게 된다. 

제인이 엄마에게 꽃 2송이를 주면 10송이가 남고… 
그 다음 아빠에게 3송이를 주면 7송이가 남으니… 정답은 7이다.

 

CoT의 목적은 이러한 사고 과정 자체를 언어 모델에게 주는 것이다. 

즉, 이렇게 생각하는 과정 자체를 따라하게 하면 복잡한 문제를 풀게 될 수 있지 않을까? 라는 생각에서 출발해 문제의 최종 답에 이르는 일관된 일련의 중간 추론 단계를 생성하는 chain of thought을 만들어내는 능력을 학습시키는 것이다.

 

CoT의 장점을 논문에서는 다음과 같이 언급한다. 

  1. CoT는 모델이 문제를 한 번에 답을 찍지 않고 작은 단계로 나누어 생각하게 한다. 또한 쉬운 문제는 간단한 reasoning만, 복잡한 문제는 더 많은 추론 단계를 거치게 할 수 있게 한다. 
  2. CoT는 모델이 특정 답에 어떻게 도달하게 되었는지 설명을 제공한다. 이러한 설명은 해석이 가능하기 때문에 어느 부분에서 잘못되었는지 디버깅할 수 있다. 
  3. CoT는 수학, 상식 추론, 기호 조작 등 다양한 task에 쓰일 수 있으며 이론적으로는 언어로 해결할 수 있는 모든 문제에 적용이 가능하다. 사람도 복잡한 모든 문제를 작게 쪼개서 생각하듯이 모델에게도 단계적으로 작게 쪼개서 출력하라고 한다면 사람과 비슷한 방식으로 문제를 풀게 되고 이렇게 하면 이론적으로 모든 문제를 풀 수 있게 되는 것이다. 
  4. 충분히 크기가 큰 모델이라면 few-shot 프롬프트에 CoT 예시만 넣어도 CoT 추론을 이끌어 낼 수 있다. 가장 큰 장점은 추가적인 finetuning이 필요없다는 것이다. 

 

Experiments

실제로 그럴까? CoT는 단순히 프롬프트만 바꿔서 넣어준 것과 다름이 없다. 

실제로 성능이 높은지 여러 개의 실험을 한다. 

 

수학 벤치마크

실험 설정은 다음과 같다. 

벤치마크 예시

  • 벤치마크
    • GSM8K: 초등학교 수준의 단계적 산술 추론 능력을 평가하는 벤치마크
    • SVAMP: 문제 구조·문법이 다양하고 함정이 포함된 robust math reasoning 평가 벤치마크
    • ASDiv: 다양한 문제 유형을 포괄하는 산술 서술형 벤치마크
    • AQuA: 대수학 기반의 고난도 단계를 포함한 다단계 산술·대수 추론
    • MAWPS: 텍스트 기반 산술 계산 문제의 정형화된 소형 벤치마크

  • 프롬프트
    • 표준 프롬프트 방식: 그림 1의 왼쪽과 같이 제공
    • Chain-of-thought 프롬프트 방식: 그림 1의 오른쪽과 같이 제공
  • 언어 모델
    • GPT-3(text-ada-001, text-babbage-001, text-curie-001, text-davinci-002 → 각각 350M, 1.3B, 6.7B, 175B)
    • LaMDA(422M, 2B, 8B, 68B, 137B)
    • PaLM(8B, 62B, 540B)
    • UL2 20B
    • Codex(code-davinci-002)
  • 모델 출력은 greedy decoding을 사용해 생성

실험 결과를 살펴보면 다음과 같다. 

 

  • 검은색: Standard prompting(즉각 답하기)
  • 파란색: CoT prompting(풀이 과정을 말하게 하기)
  • 주황색 점선: 이전 SOTA(fine-tuned supervised 모델) → 프롬프트 기반 방식과 직접적으로 비교할 수 없기 때문에 주황색 점선으로 따로 표시된다. 

실험 결과를 보면 CoT가 standard 프롬프트보다 월등히 성능이 좋은 것을 알 수 있다. 또한 모델의 크기가 커질수록 효과가 좋으며 특정 벤치마크의 특정 모델의 경우 finetuning된 모델의 성능 또한 뛰어넘은 것을 볼 수 있다. 

 

 

더보기

더 자세한 실험 결과는 다음과 같다. 

 

위 표를 보면 여러 LLM(UL2, LaMDA, GPT-3, Codex, PaLM)들이 5개의 수학 벤치마크에서 기본(Standard) 프롬프팅을 한 것, Chain-of-Thought(CoT) 프롬프팅을 한 것, CoT + 외부 계산기를 사용한 것을 비교한 표이다. (CoT와 같은 프롬프트 튜닝 기반 평가와 finetuning은 비교할 수 없기 때문에 SOTA 성능만 참고용으로 맨 위에 적혀있다.)

실험 결과 모든 모델에서 standard 프롬프트보다 CoT가 성능이 좋아진다. 특히 GSM8K 벤치마크의 GPT-3는 성능이 비약적으로 상승한 것을 볼 수 있고 모델의 크기가 커질수록 물론 다른 모델이긴 하지만 CoT의 상승 폭이 크다. 

 또한 모델이 커질 수록 CoT의 효과는 더 커진다. 단일 모델 내에서 모델의 크기가 달라질 때 작은 모델의 경우 CoT가 성능 향상에 큰 도움이 되지 않는 반면 일정 크기를 넘어가는 모델에서는 갑자기 효과가 급격적으로 커지는 것을 볼 수 있다. 

 

논문에서는 실험의 핵심 결과를 다음과 같이 3가지로 정리한다. 

1. Chain-of-thought 능력은 모델 규모에 의해 나타나는 emergent ability이다.

실험 결과 작은 모델에서는 성능 향상이 막 크게 나타나지 않았지만 약 100B 이상의 모델에서만 엄청 두드러진 성능 향상을 보인 것을 알 수 있다. 작은 모델의 경우 유창하지만 비논리적인 chain of thought를 생성하는 경향이 있어 오히려 성능이 떨어지기도 한다고 논문에서는 언급한다.

emergent ability 라는 표현은 소규모 모델에는 없지만 대규모 모델에는 존재하는 능력이라고도 정의하고 이전엔 관찰되지 않았던 새로운 능력이라고도 정의한다. 

💡 작은 모델의 경우 유창하지만 비논리적인 chain of thought를 생성하는 경향이 왜 있을까? 
이게 무슨 말일까? 
이거에 대해서 찾아봐도 제대로 된 답변을 찾을 수 없어 GPT의 힘을 빌렸다. (GPT의 답변 + 필자의 생각이기 때문에 100% 신뢰는 지양하는 것이 좋다.)
일단 가장 먼저 작은 모델은 파라미터 수가 적기 때문에 복잡한 논리적 구조를 내부적으로 구성할 능력이 부족할 수 있다. 언어적 패턴은 잘 학습하지만 큰 모델에 비해서 논리적인 추론을 할 능력이 부족하기 때문에 문장은 잘 만들지만 실제 추론을 통해서 답을 내는 능력이 부족하다는 것이다. 때문에 겉보기엔 유창하지만 논리는 맞지 않는 CoT가 생성될 수 있다고 생각한다. 
또한 CoT가 추론을 진짜 하는 건지에 대해서 생각해보자면.. 실제로 모델이 논리 계산이나 추론 과정을 하는 것이 아니라 그럴듯 해보이는 설명 패턴을 프롬프트 지시에 따라 생성한다고도 말할 수 있을 것이다. 때문에 작은 모델의 경우 CoT 형식의 프롬프트를 받았을 때 단지 모방을 하게 되어 논리적으로 문장을 생성하는 능력이 큰 모델보다 좀 부족하지 않을까...하는 생각을 해보았다. 

2. 문제가 복잡할수록 chain-of-thought 효과가 크다.

가장 난이도가 높은 벤치마크가 GSM8K라고 한다. GSM8K에서는 GPT와 PaLM의 최대 크기의 모델에서 성능이 2배 이상 증가한 것을 볼 수 있다. 하지만 반대로 아주 간단한 문제 즉, 단일 단계만 필요한 MAWPS SingleOp에서는 개선이 거의 없거나 음수였다고 한다. 

3. GPT-3 175B 및 PaLM 540B는 기존 최신 기법과 견줄만하며, 여러 벤치마크에서 새로운 최신 성능을 달성했다.

PaLM 540B는 GSM8K, SVAMP, MAWPS에서 새로운 SOTA를 달성했으며 AQuA와 ASDiv에서는 SOTA 대비 2% 이내까지 근접한 것을 볼 수 있다.

 

그렇다면 여기서 CoT가 이렇게까지 성능을 높인다고? 하는 의문을 가질 수 있다. 

때문에 CoT가 작동하는 이유에 대해서 논문에선 하나하나 분석을 해보았다고 한다. 실제로 LaMDA 137B가 GSM8K에서 생성한 chain of thought을 분석했을 때 정답인 50건 중 48건은 논리적으로, 수학적으로 완전 정확했다고 한다. 

오답 50건 중 46%는 사소한 실수(계산 오류, 기호 매핑 오류, 한 단계 누락), 54%는 의미 이해 오류나 논리적 불일치 같은 큰 문제를 포함했다. 또한 모델의 크기를 늘리면 늘릴 수록 의미 이해 및 단일 단계 누락 문제가 줄어들었다고 한다. 

 

CoT가 너무 잘 되다보니 진짜 이 성능 향상이 LLM이 추론을 하게 되어서 그런 것인지, 단순히 식을 적기 때문에 그런 것인지, 혹은 계산만 잘한건지.. 혹은 단순히 설명하는 걸 봐서 그런 건지 확인하기 위해 실험을 진행한다.

  • Equation only: 모델에게 "풀이 과정 없이 수학식만 써"라고 시키는 방식
문제: 사과 3개에 2개를 더하면?
식: 3 + 2 = 5

복잡한 벤치마크인 GSM8K에서는 거의 효과가 나타나지 않는다. 논문에서는 이를 식만 적어서 문제의 구조를 이해하기엔 어렵기 때문이라고 언급한다. 단순한 1~2단계의 문제에서는 효과가 있었다. 

즉, 이를 통해서 CoT의 핵십은 그냥 식만 적어버리는 게 아니라는 것을 알 수 있다. 문제가 복잡해지면 방정식만으로 부족해지기 때문이다. 

  • Variable compute only: 모델에게 "변수 정의하고 필요한 계산만 해"라고 시키는 방식 BUT 추론 과정의 자연어 설명은 제거
x = 사과 개수 = 3
y = 추가된 개수 = 2
x + y = 5

이 방식 또한 성능이 매우 좋지 않다. CoT 처럼 보이지만 설명 자체가 빠져 모델이 그냥 계산만 하면서 성능이 낮아져버린 것이다. 

이를 통해 CoT가 강력한 이유는 계산 능력 때문이 아니고 자연어로 써진 추론 과정 때문이라는 것을 알 수 있다. 

  • Chain of thought after answer: 정답 먼저 생성한 뒤에 CoT를 추가하는 방식
답: 5
설명: 사과가 3개고 2개를 더해서...

이 방식도 성능이 좋지 않다. 

이를 통해 CoT는 정답 생성 과정에서 순차적으로 사용될 때 의미가 있다는 것을 알 수 있다. 

 

이렇게 구성에 예민한데 CoT는 robust한 것일까? 지금 논문을 읽고 있는 나에게도 이런 의문이 들었다. 

few-shot 프롬프트는 원래 예시의 구성에 민감할 수 있다고 듣긴 들었는데 말이다. 하지만 위 실험은 CoT의 구성 요소 중 어떤 것이 중요한지, 어떤 것이 성능 향상에 영향을 미쳤는지 알아보기 위한 실험임을 상기하고 넘어가야 한다. 

이번 실험은 진정한 robustness를 파악하는 실험으로 작성자를 다르게 한 실험이다. 

 

특정 문체나 특정 사람이 쓴 CoT만 효과적인 것이 아닐까 하는 것을 실험한 실험인 (?) 것이다. ㅎㅎ

일단 먼저 다른 작성자가 작성한 CoT와..

 

  • Annotator A (논문에서 주로 사용)
  • Annotator B
  • Annotator C
  • Annotator A가 만든 더 간결한 버전(CoT를 짧게 적은 버전)

GSM8K 벤치마크 데이터셋에 존재하는 정답 예시를 그대로 few-shot으로 사용한 것과... (random 8-shot 예시 세트를 3종류 샘플링)

프롬프트 예시 순서를 바꾼 것, 예시 계수를 바꾼 것, 모델 아키텍처를 바꾼 것으로 실험을 진행했다. 

 

위와 같이 비교했을 때 작성자가 달라져도 성능이 높았고 랜덤 GSM8K 예시(CoT 포함)를 사용해도 사람이 작성한 CoT와 비슷한 성능을 보였다. 또한 예시 순서가 바뀌어도 성능이 유지되었으며 예시 개수를 극단적으로 줄이지 않는 한 성능이 유지되었다고 한다. 

역시나 모델이 바뀌었더라도 좋은 성능을 유지했따. 

 

 

 

 

상식 추론 벤치마크

또한 논문에서는 수학 벤치마크에만 적용하지 않고 상식 추론 task에 CoT를 적용해 실험했다. 논문에서는 다음과 같이 언급한다. 

" 상식 추론은 일반적 배경지식을 전제로 물리적·인간적 상호작용에 대해 추론하는 작업으로, 세계와 상호작용하기 위해 필수적인 능력이지만 현재 자연어 이해 시스템은 여전히 이를 충분히 수행하지 못한다. "

 

  • CSQA: 복잡한 의미 구조를 가진 일반 상식 질문
  • StrategyQA: 질문에 답하기 위해 다중 단계 전략(multi-hop strategy)을 추론해야하는 벤치마크
  • BIG-bench 평가 세트 중 두 가지 작업: 
    • Date Understanding: 주어진 맥락에서 날짜를 추론
    • Sports Understanding: 스포츠 관련 문장의 타당성 판단
  • SayCan: 자연어 지시를 이산적 행동 집합에서 로봇 행동 시퀀스로 매핑하는 작업을 해야 하는 벤치마크

 

 

실험 결과는 그림 7에서 확인할 수 있다. 

모든 벤치마크에서 모델의 크기가 커질수록 standard 프롬프팅도 성능이 좋은 것은 기본적인 scaling law로 볼 수 있지만 CoT를 적용한 것이 꾸준한 성능 향상이 있다는 부분이 주목해야 할 부분이다. 큰 모델일 수록 수학 벤치마크와 같이 CoT의 성능 상승폭이 더 커지는 것을 볼 수 있었으며 PaLM 540B + CoT는 사람 수준을 넘어가는 성능을 보였다. 

예외적으로 CSQA(CommonSenseQA)에서는 CoT의 성능 향상이 거의 보이지 않았다. 

💡 왜 CSQA(CommonSenseQA)에서는 CoT의 성능 향상이 거의 보이지 않았을까? 
CommonSenseQA는 사전 지식이 필요할 수 있다고 논문에서는 언급했다. 
데이터셋의 특징을 보면 대부분의 문제가 상식을 알고 있으면 바로 답할 수 있는, 초론 단계가 거의 필요 없는 문제로 이루어져있다. 
예를 들어보자면 "Where would you normally find soap?" 와 같은 질문에서는 추론이 필요 없이 그냥 사전 지식만 알고 있으면 된다. 
여기에 CoT를 적용하면 오히려 정답이 장황해질 수 있어서 그런 게 아닌가 싶기도 하고 추론이 필요없는 task이다보니까 CoT의 성능 향상이 없지 않았나.. 효과가 없을 수 밖에 없지 않았나 생각이 들었다. 

 

Symbolic Reasoning 번역

마지막 실험으로는 사람에게는 매우 간단하지만 모델에게 어려운 symbolic reasoning을 다룬다. symbolic reasoning은 문장이나 의미 기반의 언어 추론이 아니라 문자, 숫자, 기호로 표현된 규칙을 단계적으로 적용해 답을 구하는 추론을 말한다. 

예를 들어서 “AB” + “CD” → “ABCD” 는 언어의 의미를 이해하는 것이 아니라 문자 조작 규칙을 적용하는 문제라고 할 수 있다. 

CoT에서는 다음과 같은 task를 실험해본다. 

  • 마지막 글자 이어붙이기(Last letter concatenation)
    • 이름의 단어 각각에서 마지막 글자를 이어붙이는 작업
    • 예: “Amy Brown” → “yn”
  • 동전 뒤집기(Coin flip)
    • 사람이 동전을 뒤집을지 여부를 언급하는 문장을 읽고, 최종적으로 동전이 앞면인지 판단하는 작업
    • 예: “A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?”
      → “no”

이 task들은 구조가 명확하기 때문에 예시로 주는 것과 동일한 단계 수를 가진 in-domain test set과 예시보다 더 많은 단계를 거쳐야 하는 OOD(out-of-domain) test set을 구성해 모두 평가했다. 

## in-domain과 OOD(out-of-domain) 예시 -> Last-letter concatenation
## 프롬프트에서 주는 예시 (2단계)
입력: “Amy Brown”
출력: “yn”
-------
## -> In-domain
입력: “Lily Sally”
출력: “yy”
## -> OOD
입력: “Oliver Kate Maria Brown”
출력: “rekn”

 

 

 

 

 

 

 

 

 

 

실험 결과는 다음과 같다. 

PaLM 540B에서는 chain-of-thought prompting으로 거의 100% solve rate를 보인다. 하지만 마찬가지로 작은 모델에서는 성능이 낮은 것을 볼 수 있다. 세 가지 작업 모두에서 보이지 않은 기호를 조작하는 능력은 약 100B 규모 이상의 모델에서만 나타났다고 한다. 또한 OOD를 보았을 때 standard 프롬프팅 방식은 모두 성능이 별로 안 좋은 것을 볼 수 있고 in-domain보다 낮지만 CoT에선 성능 향상이 나타나는 것을 볼 수 있다. 

 

 

 

 

 

 

 

 

 

Conclusion

본 연구세어는 LLM에서 다단계 추론 행동을 이끌어내기 위해 coT를 제안했다. 산술 추론에서도, 상식 추론에서도, 기호적 추론에서도 모두 좋은 성능을 보였으며 모든 실험에서 별도의 finetuning 없이 프롬프트를 제시하는 방식만으로 성능 향상을 이끌어냈다. chain-of-thought prompting을 대규모 언어 모델의 추론 능력을 향상시키는 간단하고 폭넓게 적용 가능한 방법으로 탐구한 것을 알 수 있다. 

 

또한 모델의 규모가 커질수록 CoT 성능이 좋은 것을 알 수 있었고 이를 통해 논문에서는 LLM이 해겨할 수 있는 작업의 범위를 CoT가 확장한다고 이야기할 수 있다고 한다. 

 

본 연구의 한계점은 다음과 같다. 

1. Chain of thought이 인간의 사고 과정을 흉내내긴 하지만, 모델이 실제로 ‘추론’을 하고 있다고 말할 수 있을까? 

2. Few-shot에서는 chain of thought 예시를 만드는 비용이 크지 않지만 finetuning에 필요한 대규모 chain-of-thought 데이터는 비용이 매우 클 수 있다. 성능을 높이기 위해 더 발전시키기 위해 finetuning이 필요해질 수도 있지만 비용이 너무 많이 든다는 한계점이 있는 것이다. 

3. Chain-of-thought 경로가 항상 정확하다는 보장은 없다.잘못된 추론이 올바른 답으로 이어질 수도, 잘못된 답으로도 이러질 수 있기 때문이다. 

4.  Chain-of-thought이 대규모 모델에서만 출현한다는 점은 실제 서비스 비용 측면에서 문제를 야기할 수 있다.

 

본 연구에서는 chain-of-thought prompting을 대규모 언어 모델의 추론 능력을 향상시키는 간단하고 폭넓게 적용 가능한 방법으로 탐구했다. 

 

 

나의 생각

CoT를 추론이라고 할 수 있나? 

솔직히 CoT 논문을 읽기 전까지는 추론이라고 할 수 있다고 생각했다. 예시처럼 단계를 밟아나가는 것을 언어 모델이 다음 단어가 뭐가 나올지 통계적으로 확률이 높은 것을 생성해나간다면 그 과정 자체가 올바른 정답으로 나아가는 추론이라고 생각이 되었기 때문이다.

하지만 논문을 읽으면서 ...

1. 잘못된 추론을 생성하더라도 올바른 답을 내놓을 수 있다는 점

→ 이렇게 되면 진정한 추론을 하는 게 맞는 걸까? 그냥 답을 생성하기 전 텍스트를 많이 생성하게 되는 거 아닐까..? 

2. 복잡한 문제에 대해서는 성능을 크게 향상시키면서도 간단한 문제에 대해서 성능 향상을 이끌어내지 못한다는 점

→ 진정한 추론을 한다면 간단한 문제에 대해서도 추론을 통해 정답을 잘 맞추게 되어야 하는 것 아닌가? 

 

와 같은 생각이 들었다. 

넓게 생각하면 추론을 한다.라는 생각도 들지만 좀 더 깊이 생각해보면 인간의 추론을 모방하게끔 프롬프팅한 것 같은데 진정한 추론이라고 할 수 있을까..? 하는 생각이 많이 들었던 논문이었다.