본문 바로가기

논문 리뷰/NLP 논문 리뷰

[NLP] (NeurlPS'23) Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

사람의 사고 과정을 그대로 모방하여 복잡한 문제를 자연어처리를 통해 풀게끔 하는 방법론인 Chain-of-Thought이라는 연구입니다. 

읽은 날짜  2023.06.04
카테고리   #자연어처리논문리뷰, #프롬프트, #Chain-of-Thought

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

  • Authors: Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou
  • DOI: https://arxiv.org/abs/2201.11903
  • Keywords: 
  • Issue Date: 
  • Publisher: 2023 (NeurlPS)
 

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

 


1. 등장 배경 

딥러닝 NLP모델의 챌린지

  • 모델 사이즈를 키운 large language models의 경향으로 NLP의 스케일이 커지고, 성능이 우수해졌다.
  • 하지만, 아직까지 complex reasoning (arithmetic, commonsense, symbolic reasoning) 분야에서는 충분한 성능을 보이지 못하고 있었다.
  • 이와 같은 complex reasoning태스크는 multi-step reasoning을 요구하는 태스크로 볼 수 있다.

Few-shot learning과 prompt tuning

  • GPT3를 시작으로 few-shot learning 기법이 사용되기 시작했고, 적은 데이터로 모델을 task-specific하게 추론할 수 있는 prompt tuning의 장점으로 prompt를 활용한 방법에 대한 연구가 많이 시작되었다.

2. 목표 

  • 기존에 챌린지였던 arithmetic reasoning, commonsense reasoning, symbolic reasoning 태스크의 성능(reasoning ability)을 향상시키기 위하여, Chain-of-Thought (생각의 사슬) 이라는 방법을 사용한 prompting 방법을 제안한다.
  • Chain-of-Thought 방법이란, 하나의 문제를 여러 절차(steps)로 분해하여, secondary window를 추가하여 문제의 intermediate steps를 거쳐 final question에 도달하도록 하는 것이다.

3. 이론적 기반 

Standard Prompting vs Chain-of-Thought Prompting

  • Standard Prompting: 기존의 GPT-3에서 사용하던 Prompting 방식
  • Chain-of-Thought Prompting: 생각의 과정에 따라 Answer를 유도하는 prompt가 추가되어 있어, 모델이 답을 맞출 가능성이 높아진다.

 

Chain-of-Thought Figure 1

 

Chain-of-Thought 의 장점

(1) 모델이 문제를 Intermediate steps로 분해하여 해결할 수 있도록 하므로, 더 많은 reasoning steps를 요구하는 문제에 추가 계산을 할당할 수 있다.

(2) intermediate steps에 대한 secondary windows를 제공하여, 특정 answer에 도달하게 된 과정을 볼 수 있으므로, 중간 과정을 debugging할 수 있다. (모델의 계산을 완전히 특성화(characterizing)하는 것은 아직 open question이다.)

(3) math-word problem(수학 단어 문제), commonsense reasoning, symbolic manipulation(기호 조작)과 같은 작업에 사용될 수 있고, 잠재적으로 사람이 language 를 이용해 해결할 수 있는 여러 태스크에 적용 가능하다.

(4) 간단히 chain-of-thought sequence를 few-shot-prompting으로 포함시키는 방법으로, 기존의 모델들 (off-the-shelf models)에 적용할 수 있다.

 


4. 모델/데이터 및 실험 

각 태스크 (Arithmetic, Commonsense, Symbolic reasoning)에 따라 실험을 진행했다.

 

Chain-of-Thought Figure 3

 

(1) Arithmetic reasoning

  • 이미지의 초록색 부분
  • Benchmarks: 5 math word problem benchmark datasets
    • GSM8K, SVAMP, ASDiv, AQuA, MAWPS
  • Models: (1) GPT-3, (2) LaMDA, (3) PaLM, (4) UL2 20B, (5) Codex
  • Prompt: 기존의 standard prompting과 Chain-of-thought을 사용하여 비교 했다.
  • 실험 결과:
    • (1) 모델 사이즈가 클 수록, reasoning performance가 좋다.
    • (2) 데이터셋의 난이도가 클 수록 (어려울수록) 효과적이다.
    • Single-step reasoning 데이터셋(MAWPS) 보다 Multi-step reasoning을 요구하는 데이터셋(GSM8K)에서 성능이 일관되게 좋다.
    •  

Chain-of-Thought Figure 4

 

(2) Commonsense reasoning

  • 이미지의 주황색 부분
  • Benchmarks: 5 datasets
    • CSQA, StrategyQA, Data Understanding, Sports Understanding, SayCan
  • Models: (1) GPT-3, (2) LaMDA, (3) PaLM
  • Prompts: 기존의 standard prompting과 Chain-of-thought을 사용하여 비교 했다.
  • 실험 결과:
    • commonsense reasoning에서는 chain-of-thought이 효과적임을 증명했다.

Chain-of-Thought Figure 7

 

(3) Symbolic reasoning

  • 이미지의 파란색 부분
  • Tasks:
    • Last letter concatenation: 단어의 마지막 문자를 이어 붙이는 태스크 예: “Take the last letters of the words in “Lady Gaga” and concatenate them. 이름 부분은 Name census data(https://namecensus.com/)를 활용했다.
    • Coin flip: 동전을 뒤집는 행동에 대한 text를 주고, 마지막에 동전의 앞/뒷면 중 어느 면이 보이는지 답하는 태스크. 예: “A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?”
  • Models: (1) LaMDA, (2) PaLM, 외. (실험 한 듯하나, 언급되지 않음)
  • 실험 결과:
    • 작은 모델에서는 성능이 좋지 않았고, 100B scale이상의 큰 모델에서는 성능이 크게 향상되었다.

Chain-of-Thought Figure 7

 


5. 결과 

Chain-of-thought prompting방식으로 몇몇 경우 reasoning ability 향상을 확인하였으나, 아래와 같이 한계점이 존재한다.

 

한계점

  • 실제 모델이 multi-step reasoning을 하는 것인지, 단순하게 mimic(흉내내기)하는 것인지 확인할 방법이 없다.
  • Chain-of-thought 방식은 prompting에는 적용할 수 있으나 fine-tuning에 적용하기 어렵다.
  • 항상 정확한 답을 보장하는 것이 아니다.
  • 큰 규모의 모델에서는 성능이 뛰어나지만, 규모가 작으면 (100B이하) 성능 차이가 없다.

 

나의 의견

논문을 선택한 이유

(1) Chain-of-Thought 라는 유명한 개념의 의미와 원리가 궁금했다. 

 

읽고 난 후 의견

  • Chain-of-thought을 처음 들었을 때는 AutoGPT, LangChain과 비슷한 것일까?했었는데 논문을 보니 task를 분해한다는 점은 비슷하지만 좀 더 text의 이해에 초점을 둔 방식이라는 생각이 든다.
  • AI 자체가 사람의 뇌를 표방하여 만들어지고, 그 원리를 많이 답습하고 있기 때문에 사람이 생각하듯 연쇄적으로 사고하여 문제를 풀고자 한 아이디어가 좋은 시도였다고 생각한다.
  • 딥러닝이 black-box 로 동작하여 debugging이 불가능하지만 chain-of-thought가 잘 동작하면 큰 범위에서의 debugging이 가능하다는 점도 큰 장점이다.
  • LLM의 모든 추론과정을 세분화하여 모두 출력하게 끔 할 수 있다면 , 즉 Chain-of-thought의 분해 단위를 더욱 세밀하게 할 수 있다면 딥러닝 debugging을 가능하게 할 수 있지 않을까한다.