데이터 분석 일지

[Paper Review] Zero-shot CoT: Large Language Models are Zero-Shot Reasoners 본문

Paper Review/Natural Language Processing

[Paper Review] Zero-shot CoT: Large Language Models are Zero-Shot Reasoners

-ˋˏ ♡ ˎˊ- 2024. 6. 11. 15:56
이전 CoT 논문을 통해 pre-trained된 model로 few-shot을 사용하더라도 reasoning ability를 이끌어내는 능력이 중요함을 보였다. 하지만 few-shot을 사용한다면 hand-crafted examplar가 필요하다는 단점이 있었다. 이를 보완하기 위하여 본 논문에서는 answer 전에 "Let's think step by step"이라는 prompting을 추가하여 zero-shot으로도 상당한 성능 향상을 보이며 reasoning ability를 이끌어낸다. 이 기법을 Zero-shot CoT라고 표기한다. 

 

1. Introduction

 

이전 CoT 논문*에서는 Figure 1과 같이 few-shot을 사용하여 추론할 수 있도록 example을 주었다. 이로써 pre-trained model에 잠재되어 있던 추론 능력을 도출해 낼 수 있었지만, 어떤 example이냐에 따라 성능이 변하기도 하고, hand-crafted로 example을 작성하는 것이기 때문에 비용이 들었다. 

 

본 논문에서는 이를 해결하기 위하여 zero-shot으로도 CoT를 수행하고자 한다. zero-shot은 task-agnostic하기 때문에 example을 생성할 필요가 없다. 

 

Figure 1: Few-shot & Few-shot-CoT

 

Zero-shot CoT를 수행하기 위해서는 어떤 task인지 상관없이 prompt에 단순히 고정된 문구인 "Let's think step by step"만 작성하면 된다.

 

*본 논문 리뷰를 보기 전에 CoT 리뷰를 보시는 것을 추천합니다. 

 

2. Zero-shot Chain-of-Thought

 

기존 few-shot CoT와의 차이점은 아래의 세 가지로 나눌 수 있다. 

  • few-shot example 필요 없음
  • task-agnostic함
  • single template로 reasoning ability 끌어낼 수 있음

 

Figure 2: Few-shot-CoT & Zero-shot-CoT

 

이 외에도 큰 차이점이 하나 있는데, prompting을 두 번 한다는 것이다. 

 

2. 1. Two Stage Prompting

 

zero-shot CoT의 개념은 단순하지만 reasoning과 asnwer를 각각 추출하기 위해서 prompting을 두 번 수행한다. 이는 Figure 3와 같다. few-shot prompting은 standard와 CoT 둘 다 이미 prompting을 통해 [추론 -> 답]의 형식을 알려주지만, zero-shot CoT는 형식 제시를 하지 않기 때문에 두 번의 prompting을 거쳐, [추론 -> 답]의 형식을 이끌어낸다. 

 

Figure 3: Two-stage prompting

 

첫 번째 prompt는 reasoning extraction이다. 이는 문제 X와, input trigger sentence(prompt)가 있을 때 Q: [X]. A: [T]의 형식으로 LLM에 입력된다. 입력받은 후 LLM은 reasoning을 출력하게 된다. 

 

두 번째 prompt는 answer extraction이다. 이는 Q: [X]. A: [T] [Reasoning] [A]의 형식으로 LLM에 입력된다. 여기서 [Reasoning]은 첫 번째 prompt의 출력이고, [A]는 answer trigger sentence이다. 입력받은 후 LLM은 answer를 출력하게 된다. 

 

정리하자면 few-shot CoT는 task마다 hand-crafted example이 필요하지만, zero-shot CoT는 example이 필요 없는 대신에 prompting을 두 번 거쳐야 한다. 

 

3. Experiment

 

Tasks and Datasets

 

총 12개의 dataset을 사용하고, 이는 각각 4개의 category로 나뉜다. 이는 각각 아래와 같다. 

  • Arithmetic (6): SingleEq, AddSub, MultiArith, AQUARAT, GSM8K, SVAMP
  • Commonsense(2): CommonsenseQA, StrategyQA
  • Symbolic (2): Last Letter Concatenation, Coin Flip
  • Logical (2): Date Understanding, Tracking Shuffled Objects

초록색으로 표시된 dataset은 하나의 step으로 풀 수 있거나 간단한 dataset이고, 빨간색으로 표시된 dataset은 여러 setp으로 풀어야 하고 복잡한 dataset을 의미한다. Logical reasoning dataset의 난이도에 대해서는 특별한 언급은 없었다. 

 

Models

 

주 실험에서는 Instruct GPT-3와 Original GPT-3, PaLM을 사용한다. 추가로 scaling 연구를 위해 GPT-2와 GPT-Neo, GPT-J, T0, OPT를 사용하였다. 

 

Baselines

 

기본적으로 본 논문에서 제시하는 방법인 zero-shot CoT prompting과 이전 CoT 방법인 few-shot CoT prompting, 그리고 추가로 zero-shot promtping, few-shot prompting과 비교한다. 

 

Answer Cleansing

 

model의 output에서 정답만 출력하기 위해 answer cleansing을 수행한다. 각 task의 answer format별로 answer cleansing 방법은 Table 1과 같다. 

 

Table 1: Answer Cleansing method

 

4. Results

 

4. 1. Zero-shot CoT vs Zero-shot

 

각 dataset에 대한 결과는 Table 2와 같다. Table 2에서 대부분의 task의 성능은 zero-shot CoT가 더 우세했지만, SingleEq와 AddSub, 또 Common Sense task의 경우 zero-shot과 성능이 비슷하거나 더 낮은 것을 볼 수 있다

 

Table 2: Zero-shot CoT & Zero-shot results

 

좋은 성능을 거둔 부분보다 성능이 저하된 부분을 주목해야 한다. 본 논문에서는 SingleEq, AddSub의 zero-shot CoT 성능이 향상되지 않은 이유를 복잡한 추론이 필요하지 않은 문제이기 때문이라고 설명한다. 이전 CoT 논문에서도 task가 복잡하고 model의 크기가 클수록 CoT의 추론 능력이 나타난다고 하였다. 이 가설은 본 논문에서도 적용되는 가설이라고 설명한다. 

 

그렇다면 Common Sense task의 zero-shot CoT 성능이 향상되지 않은 이유는 무엇일까? 본 논문은 Table 3을 통해 이 이유를 설명한다. 보통 두 가지 예시가 있었는데, 첫 번째는 추론은 맞았지만 정답이 틀린 경우이고, 두 번째는 모델이 정답을 고를 때 하나의 정답만 고르는 것이 아니라 여러 개의 정담을 고르는 경우이다. 

 

Table 3: example of incorrect answer

 

4. 2. Comparison with other baselines

 

다른 baseline과 비교를 해보면 Table 4와 같다. Table 4는 다른 prompting 방식을 사용하여 MultiArith와 GSM8K의 수행 능력을 나타낸다. Zero-shot과 Zero-shot CoT를 비교해 보면 확연한 차이가 나는 것을 알 수 있다. 물론 few-shot CoT보다는 성능이 낮지만, standard few-shot의 성능과 차이가 많이 나는 것을 보아 zero-shot CoT의 추론 능력이 뛰어남을 볼 수 있다. 

 

Table 4: other baselines

 

4. 3. Does model size matter for zero-shot reasoning?

 

본 논문은 zero-shot CoT도 model 크기에 영향을 받을지 실험하였다. Figure 4는 이에 대한 실험 결과를 보여준다. 확실히 standard zero-shot보다 zero-shot CoT가 model size에 영향을 많이 받는 것을 볼 수 있다. 모델이 커질수록, 특히 100B 이상의 모델일수록 performance gap이 크다. 이는 이전 few-shot CoT의 실험 결과와 비슷하다 

 

Figure 4: Model scale study with various types of models

 

4. 4. Error Analysis

 

zero-shot CoT의 error에는 어떤 error가 있는지 prompting과 output을 직접 조사하였다. 분석 결과 zero-shot CoT에서 많이 나타나는 오류는 2가지로, one unnecessary step errorreasoning is not started였다. 반대로 few-shot CoT는 zero-shot CoT가 나타내는 오류에는 강했지만, 3항 이상 연산이 나오면 틀리곤 하였다. 

 

Table 5: Error analysis

 

4. 5. How does prompt selection affect Zero-shot-CoT?

 

본 논문에서는 zero-shot CoT의 prompt에 성능 영향이 미치는지를 알아보고자 하였다. 본 논문의 introduction에서는 "Let's think step by step"의 한 가지 prompt만 이야기했다. 이외의 다른 prompt를 사용했을 때의 성능은 Table 6에서 나타낸다. 

 

Table 6:other zero-shot CoT prompts

 

세 가지 카테고리로 나누어 prompt를 생성하였는데, 이는 각각 instructive, misleading, irrelevant이다. 당연하게도 misleading과 irrelevant에서는 정확도가 20%도 못 미치는 결과를 나타낸다.