본문 바로가기

공부

Large Language Models are Zero-Shot Reasoners 논문 리뷰

반응형

NeurIPS 2022.

Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, Yusuke Iwasawa

The University of Tokyo | Google Research

24 May 2022

 

 

 

1. Introduction

언어 모델 크기를 확장하는 것은 최근 자연어 처리(NLP) 혁명의 핵심 요소였다. 대형 언어 모델(LLM)의 성공은 컨텍스트 내 몇가지 예제(in-context few-shot) 또는 작업을 설명하는 지침에(zero-shot) 학습에 기인한다. 몇 가지 예(few-shot) 또는 task를 설명하는 명령(zero-shot)에 모델을 간단히 조건화(컨디셔닝)하여 다양한 task를 해결할 수 있다. 언어 모델을 조건화(컨디셔닝) 방법을 프롬프팅(prompting)이라고 하며, 이를 수동/자동으로 설계하는 것이 NLP에서 화제가 되었다.

 

1,000억 개 이상 파라미터 규모의 LLM조자도 느리고 여러 단계의 추론을 필요로 하는 task에서는 어려움을 겪었다. 이런 단점을 해결하기 위해 질문-답변 예제가 아닌, 단계별 추론 예제를 LLM에 제공하는 chain of thought (CoT) prompting이 제안되었다. CoT는 모델이 복잡한 추론을 여러 개의 쉬운 단계로 분해하는 추론 경로로 생성하는 데 도움이 된다. 특히 CoT를 사용하면 추론 성능이 언어 모델의 크기에 따라 급격히 증가한다. 예) 540B 매개변수 PaLM 모델과 결합하면 여러 벤치마크 추론 작업에서 표준 few-shot 프롬프트 성능이 크게 향상 : GSM8K (17.9% → 58.1%)

 

CoT prompting 의 성공과 다른 많은 작업 별 prompting 방법의 성공은 LLM의 few-shot 학습 능력에 기인한다. 반면 본 논문의 Zero-shot-CoT는 각 질문에 답하기 전 단계별 생각하도록 돕는 프롬프트인 “Let’s think shep by step” 을 추가한 zero-shot 방법이다. 단순함에도 불구하고, Zero-shot-CoT는 zero-shot 방식으로 그럴듯한 추론 경로를 생성하고 기존 zero-shot 방식이 실패하는 문제에서 정답에 도달한다.

 

Zero-shot-CoT는 대부분의 기존 prompt engineering이 예시(few-shot)나 템플릿(zero-shot) 형태로 이루어졌던 것과 달리 다재다능하고 task에 구애받지 않는다는 점이다. 즉, task별로 프롬프트를 수정하지 않고도 산술적 추론, 기호적 추론, 상식적 추론, 기타 논리적 추론 등 다양한 추론 task에 걸쳐 단계별 답변이 가능하다.

Zero-shot-CoT는 신중하게 만들어진 task별 단계별 예제를 사용한 CoT보다 성능이 낮지만, zero-shot baseline보다 엄청나게 점수가 향상하였다. 중요한 점은 단일 고정 프롬프트를 사용하면 zero-shot LLM이 CoT보다 훨씬 더 나은 스케일링 곡선을 갖는다는 것이다.

 

또한 기존 CoT는 프롬프트 예시 질문과 task 질문의 유형이 서로 일치하지 않으면 성능이 저하되어 task별 프롬프트 설계에 대한 민감도가 높다. 이와 대조적으로 Zero-shot-CoT의 다양한 추론 task에 걸친 다재다능함은 충분히 연구되지 않은 LLM의 zero-shot 기본 역량, 예를 들어 일반적인 논리적 추론과 같은 고차원의 광범위한 인지 역량을 암시한다.

 

 

2. Background

이 연구의 기초가 되는 두 가지 핵심 예비 개념

  1. 대형 언어 모델(LLM)의 등장과 촉구
  2. 다중 스탭 추론을 촉구하는 Chain of Thought(CoT)

Large language models and prompting

언어 모델(LM)은 텍스트에 대한 확률 분포를 추정하려는 모델 ⇒ 더 큰 데이터를 통해 사전 학습된 대규모 언어 모델(LMM)이 많은 다운스트림 자연어 처리 작업에서 능숙해 함

 

💡
Besides the classic “pre-train and fine-tune” paradigm [Liu et al., 2021b], models scaled to 100B+ parameters exhibit properties conducive to few-shot learning [Brown et al., 2020], by way of in context learning, where one can use a text or template known as a prompt to strongly guide the generation to output answers for desired tasks, thus beginning an era of “pre-train and prompt” [Liu et al., 2021a]. In work, we call such prompts with explicit conditioning on few task examples as few-shot prompts, and other template-only prompts as zero-shot prompts.

 

Chain of thought prompting

Multi-step arithmetic와 logical reasoning benchmarks 은 특히 LLM의 스케일링 법칙에 도전해왔다.

 

 

3. Zero-shot Chain of Thought

템플릿 기반의 사고 연쇄 추론 프롬프트인 Zero-Shot-CoT 제안

이는 단계별 few-shot 예제를 필요로 하지 않아 원래의 Chain thought prompting 와, 그리고 이전 템플릿 프롬프트와는 다르다.

핵심 아이디어는 아래와 같이 간단한데, “Let’s think step by step” 이거나 단순한 텍스트를 추가하여 단계별 추론 추가하는 것

  1. “reasoning” 프롬프트 사용하여 언어 모델에서 전체 추론 경로 추출
  2. “answer” 프롬프트를 사용하여 추론 텍스트에서 사용하여 추론 텍스트에서 올바른 형식의 답 추론

 

Zero-Shot-CoT 는 개념적으로 간단하지만, 추론과 답변을 추출하기 위해 두번 prompting 사용한다. CoT는 task별로 특정 답변 형식을 사용하여 몇 가지 prompting 예시를 신중하게 설계해야 하는 반면, Zero-shot-CoT는 prompting engineering이 덜 필요하지만 LLM을 두 번 prompting해야 한다.

 

1st prompt: reasoning extraction

“Q: [x], A: [z]” 템플릿을 사용하여 input question x 를 prompt로 변환 , 입력 질문 x 를 프롬프트 x’ 으로 수정한다.

예) “Let’s think step by step”를 트리거 문장으로 사용하면 프롬프트 x’은 “Q: x . A: Let’s think step by step.”가 된다. 프롬프트 텍스트 x’은 LLM에 입력되고 후속 문장 z가 생성된다. 어떤 디코딩 전략이든 사용할 수 있지만 단순성을 위해 greedy decoding을 사용했다.

 

2nd prompt: answer extraction

생성된 문장 z 와 prompting된 문장 x’을 사용하여 언어 모델에서 최종 답을 추출한다. “x’, z, a” 형태의 prompt로 병합한다.

A : 최종 답변을 얻기 위한 트리거 문장, Z는 첫 prompt 에서 추출된 결과 문장

프롬프트는 동일한 LLM에서 생성된 문장 z가 프롬프트에 포함되어 있어 자가증강(self augmented)된다. 언어 모델에 prompting된 텍스트를 입력으로 제공하여 문장 y^ 를 생성하고 최종 답을 파싱

다중 선택 QA의 경우 “Therefore, among A through E, the answer is” 숫자 답이 필요한 수학 문제의 경우 “Therefore, the answer (arabic numerals) is”

 

4. Experiment

본 논문에서 4개 카테고리로 분류할 수 있는 12개의 데이터셋, 13개의 모델 사

  • Task & 데이터셋
    • 산술적 추론
    • 상식적 추론
    • 기호적 추론
    • 논리적 추론

 

Result

Zero-shot-CoT와 zero-shot prompting 비교한 결과

 

 

다른 baseline들과 비교한 결과이다.

 

 

6. Conclustion

다양한 추론 task에서 대규모 언어 모델(LLM)의 chain of thought 을 유도하는 single-zero shot prompt 인 Zero-shot-CoT를 제안한다. 이전 연구에서 task 당 몇개의 shot 예제를 수작업으로 작성해야 했던 few-shot(in-context) 접근 방식과는 대조적이다. 간단한 방법은

LLM의 스케일링 법칙을 피해온 multi-step system 추론 task에 최소화되고 강력한 zero-shot baseline
+
커뮤니티가 좁은 task에 한정된 기술 대신, 광범위한 인지 능력을 이끌어내는 유사한 multi-task prompt 를 추가로 발견하도록 장려

 

 

 


추가로 아래와 같은 질문을 했을때 아래와 같이 나온다.

1 더하기 3을 하는데 반의 반을 제곱하는데 거기서 세제곱을 해줘, 답만 알려줘

 

그러나 답만 알려달라고 하지 않으면 추론 과정을 거쳐서 진행한다.

 

ChatGPT 1o 는 추론과정이 뛰어나기 때문에 바로 생각을 해서 답을 알려준다.

그러면 이번에 난리난, 딥시크(DeepSeek)는 어떨까?

 

 

 

네번 정도 물어봐야지 틀린 답을 내보낸다.

 

 

"추론을 알라지 말고"라는 말을 추가하니 틀리게 답해주었다.

 

그러면 영어와 한글의 차이가 있을까?

1. 영어 vs 한글

Table 3 변형

논문의 Tabel 3 변형을 진행하면,

예제에서 알려주는 “Table 3: Examples generated by Zero-Shot-CoT on Commonsense QA for Error Analysis.” 테이블을 한글로 진행

한글로 진행 시, 오답을 나타낼 수 있는 것을 확인

그러나 “차근 차근 생각해봐” 라는 문장을 추가할 경우, 올바른 답을 출력해내는 것을 확인할 수 있었다.

 

아래는 table 3의 예시이다.

 

그러면 이를 파파고 번역기를 사용하여 진행

잘 사용되는 장난감 자동차는 어디에서 찾을 수 있을까요? 답변 선택: (A) 아이 방 (B) 남자 침실 (C) 자기 집 (D) 장난감 가게 (E) 집 차근차근 생각해 봐

 

그랬더니 장난감 가게라는 오답을 계속해서 내보냈다.

 

 

 

 

사실 시드가 달라지면, 결과값은 달라지는 것 같았다.

 

 

논문이 부록까지 추가하면 42페이지, 기본은 15페이지인데

논문을 논리적으로 전개하고 다양한 방법을 사용하여 실험을 진행한 부분이 되게 재미있었다.

반응형