본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2024-1] 박태호 - Chain-of-Thought Reasoning Without Prompting

by 호호불면은 2024. 5. 11.

 

https://arxiv.org/abs/2402.10200

 

Chain-of-Thought Reasoning Without Prompting

In enhancing the reasoning capabilities of large language models (LLMs), prior research primarily focuses on specific prompting techniques such as few-shot or zero-shot chain-of-thought (CoT) prompting. These methods, while effective, often involve manuall

arxiv.org


Abstract

  • LLM의 decoding 과정에서 CoT path를 찾음으로써 프롬프트 없이 효과적을 추론할 수 있다
  • decoding path에 CoT path 가 존재할 경우, 답변에 대한 신뢰도가 높아짐
  • 다양한 reasoning benchmark에서 뛰어난 성능을 보임

 

 

Introduction

기존의 LLM은 다양하고 복잡한 Reasoning Benchmarks에서 성능을 입증

 

Chain-of-Thought (CoT)

  • Chain-of-Thought (CoT)는 LLM의 추론을 유도하는 일반적인 방법
  • 문제 해결의 중간 단계를 프롬프트로 제공해 Reasoning Path를 전달
  • 결과적으로 LLM의 Reasoning Ability 향상

일반적으로 LLM의 Reasoning Ability를 향상 시키기 위해서는 Prompt 기법을 활용한

  1. Intermediate step의 예시를 보여주는 few-shot prompting
  2. Intermediate step을 지시하는 zero-shot prompting 등의 방법을 사용

 

CoT Decoding

  • LLM의 추론 능력을 프롬프트 없이 효과적으로 만들 수 있을까? 에 대한 질문에서 시작
  • Decoding 과정에 CoT를 적용하는 것으로 LLM의 reasoning ability를 향상 시킬 수 있는 방법을 제시

 

 

Chain-of-Thought (CoT) Decoding

  • 프롬프트 없이 LLM에 내제된 Reasoning Ability를 이끌어내는 방법
  • 답을 도출하는 Decoding process에만 집중하는 방법론
  • 기존의 Greedy decoding 대신, Top-k decoding 방식을 적용
Decoding
추론 과정에 따른 Context를 입력으로 받아 사용자가 이해할 수 있는 단어로 변환하는 과정

Greedy decoding
특정 시점에서 가장 확률이 높은 후보를 다음 토큰으로 선택
시간 상에서 복잡하지 않다는 장점
최종 정확도가 높지 않다는 단점 (1등과 2등의 차이가 적다면 2등 후보가 정답일 가능성도 있음)

Top-k decoding
확률이 높은 k개의 토큰들만 한정해 샘플링

 

CoT Decoding

  • Top-k decoding 방식을 적용한 모습
  • top-1 : Greedy decoding : 추론 과정이 없고 정답도 아님
  • top-2~5 : Top-k decoding : 추론 과정이 있고 2, 4는 정답
  • 논리적인 추론 과정을 거쳐 최종 정답에서 더 높은 신뢰도를 얻음

 

  • 이 결과를 생각해보면 프롬프트 없이 LLM 내제적으로 추론 가능
  •  reasoning path와 유사한 CoT Decoding Path를 찾으면 됨

 

The Presence of CoT Paths during Decoding (경로 존재하는지)

Various Task에 따른 Greedy path와 Top-k path

  • 해당 모델의 신뢰도를 파란 글씨로 표시
  • Greedy path에 비해 Top-k path가 더 높은 신뢰도를 가짐
  • Greedy path에 reasoning path 없지만, Top-k path에서는 대부분 reasoning path 존재
  • 사전 학습 시 간단한 질문에 대해서만 학습이 수행되어 복잡한 질문에도 간단히 처리
  • direct-answer 프롬프트가 reasoning task에서 성능이 낮음
  • 답안의 길이가 긴 경우, 추론 과정이 길어질 수 있으므로 CoT 포함 확률이 높아짐

=> 그래서 reasoning path가 존재하는 Top-k decoding을 사용하여 CoT path를 찾은 것

 

 

CoT-Decoding for Extracting CoT Paths (경로를 어떻게 찾을 건지)

  • CoT Decoding이란?
    • LLM decoding의 다양한 reasoning 중에서 CoT path를 추출하는 것
      (다양한 디코딩 답안 중에서 CoT로 삼을 수 있는 path를 찾아서 뽑는 것)
    • CoT path가 non CoT path에 비해 항상 가장 좋은 답변을 내지는 않음
    • 하지만 답변의 전반적인 신뢰도는 높음
  • decoding 단계별  Branching 방식
    1. 현재 토큰이 다음 decoding 단계의 토큰으로 연결되는 경우, 최종적인 answer에 도달할 가능성 높음
    2. 초기 Branching이 이후 토큰들에 영향을 많이 미침
    3. Task마다 적절한  Branching Point가 다름
    4. 이를 통해 다양한 decoding path가 생성됨
  • CoT path 선정 기준 

확률 차이 평균 계산식

  • 확률 차이 평균 계산
    • decoding t 시점에서 상위 두 개 토큰의 확률 차이의 평균
    • Ex. 답이 "60"인 경우, "6"과 "0"에 대한 각 확률 차이의 평균
    • 높은 값을 가질수록 CoT path
  • 휴리스틱 방법
    • decoding path의 답변이 긴 경우가 유리
    • path가 길어 CoT path가 포함될 확률이 높음
    • 수학 추론 문제에서만 유의미한 효과가 있고, 다른 과제에서는 일반적으로 적용하기 어려움
  • 가중 집계 방법을 통해 해당 decoding의 CoT path를 채택
  • 답을 식별하는 과정에서
    • 가장 마지막 값을 최종 답안으로 사용 시, 정확도가 낮음
    • 프롬프트를 통해 "So the answer is" 문구 뒤에 답안이 나오도록 설정 시, 모델 자체의 신뢰도는 확인 불가
    • open-ended인 경우, 답안 상위 토큰 간의 계산으로 answer을 판단하는 것이 정확하지 않다는 한계가 있음
    • 향후 새로운 계산 방법 필요하다 지적

 

 

Experiments

Experiment Setup

  • 본 논문에서 사용한 Reasoning Benchmarks
    1. GSM8K
      초등학교 수준 수학 문제로 수학적 추론 & 문제 해결 능력 측정
    2. Year Parity
      유명인의 이름을 랜덤으로 제공해 해당 인물이 태어난 연도를 even, odd 추론
    3. Coin Flip
      Coin을 여러 차례 뒤집은 후 현재 상태 추론
  • Input format
    • Question-Answer (QA)
  • Top-k의 k=10으로 고정
  • Model
    1. PaLM-2 families : "So the answer is" 이후를 answer로 간주
    2. Mistral-7B : 마지막 숫자 혹은 선택지를 최종 answer로 간주
    3. 주로 pre-trained에 초점을 맞추지만, Instruction tuned를 사용한 실험도 포함

 

Mathematical Reasoning Tasks

  • GSM8K 벤티마크와 MultiArith 벤치마크 사용
  • 모든 사이즈에서 CoT-decoding 이 greedy보다 우수한 성능을 보임
  • CoT-decoding 사용 시 Pre-trained 모델과 Instruction-tuned 모델 간 성능 격차 감소

 

Natural Language Reasoning Tasks

  • Year Parity 벤치마크 사용
  • 대부분의 경우 CoT-decoding이 정확한 CoT path를 찾았으며, 찾은 CoT path가 높은 성능을 보임
  • 모델이 작은 경우(Small) 성능 향상이 크지 않음

 

Symbolic Reasoning Tasks

  • Coin Flip 벤치마크 사용
  • Task가 어려울수록(회차가 늘어날수록) CoT-decoding의 성능 감소
  • 즉, CoT-decoding보다 CoT 프롬프트 기법이 더 효과적일 수 있음
  • Task 복잡성으로 인해 스스로 reasoning path 형성하기 어려움 -> 프롬프팅으로 path 유도하는 것이 효과적

 

Compared to CoT Prompting

  • CoT-decoding을 통해 얻은 path와 Greedy, Few-shot CoT(프롬프트) path를 비교
  • 전반적으로 디코딩을 통해 얻은 path는 프롬프트를 사용하는 방식보다 자유로운 형식을 나타냄
  • 그에 대한 원인으로 프롬프트를 통한 제약을 가하지 않았기 때문으로 판단
  • 기존 문제 해결과는 다른 방식으로 접근하기도 함

 

Results across Model Families

  • Mistral-7B-v0.1(pre-trained), Mistral-7B-Instruct-v0.1(Instruction-tuned) 2가지로 수행
  • 모든 경우에서 CoT-decoding의 성능이 높음

 

 

Conclusion and Discussion

  • CoT 프롬프트를 사용하지 않고 디코딩 과정에서 CoT reasoning path를 찾는 CoT-decoding 방식 제안
  • CoT-decoding 방법은 최종 answer의 신뢰도 증가와 상관관계가 있음
  • 디코딩 경로를 탐색하는 데 추가비용이 발생하므로, 모든 토큰에서 분기를 탐색해 경로를 찾는 경우 너무 비싸짐
    -> 때문에 추후 적절한 효율을 고려하여 branching 시점을 선택하는 연구가 진행되면 좋을 것