[Paper Review] 2402 Chain-of-Thought Reasoning Without Prompting

Xuezhi Wang and Denny Zhou, Deep Mind
[Paper Review] 2402 Chain-of-Thought Reasoning Without Prompting

👨🏽‍💻 Title & Authors (Affiliation)

  • Chain-of-Thought Reasoning Without Prompting
  • Xuezhi Wang and Denny Zhou, Deep Mind
  • 24.02

✍🏼 요약

  • LLM이 답변을 생성 할 때, 최초 생성할 토큰을 Top-1이 아니라 확률이 낮은 Top-K를 쓰면 CoT 현상이 일어나면서, Reasoning 능력이 좋아지더라

🔒 Problem

  • LLM의 Reasoning 능력을 향상시키기 위해, 기존 연구에서는 Few-shot, Zero-shot Prompting을 사용했다.
  • 이는 효과적이긴 하지만, 일반적으로 Manual 한 방식이다(Best를 찾는게 어려움)
  • Original CoT의 예시
    • image

🔑 Main Ideas

  • LLM에게 Explicit 하게 CoT를 학습시키지 않아도, LLM 안에는 Implicit 하게 CoT Path가 내재되어 있지 않을까? -> 그걸 끄집어내 보자!
  • Greedy Decoding 대신, top-k의 토큰들을 활용하는 Decoding 방식을 통해서 내재된 CoT Path를 찾아보자.
  • image
    • 처음 생성되는 Token을 Top-K로 선택 했을 때의 실험 결과(K=0 -> 가장 확률이 높은 Token을 바로 선택)
    • PLM은 주로 바로 답을 말하는 경향이 있다. Pretraining 과정에서 CoT가 필요한 복잡한 문제를 풀어본 경험이 없기 때문
    • 그러나 Greedy Decoding을 안하면, PLM 스스로 CoT와 비슷한 효과를 내기도 한다.
  • CoT-Decoding for Extracting CoT Paths
    • image
    • 하지만 어떻게 유효한(정답이 맞는) CoT Path(K)를 찾을 것인가?
    • 흥미롭게도, 유효한 CoT의 경우 final answer을 생성해내는 과정에서 측정되는 confident가 매우 높게 나옴
      • Confident: probability disparity between the top and secondary tokens
        • image
      • where ${𝑥^1}_t$ and ${𝑥^2}_t$ represent the top two tokens at each decoding step 𝑡 in the 𝑘-th decoding path, chosen for their maximum post-softmax probabilities from the vocabulary, given $x_t$ being part of the answer tokens.
      • 만약 정답이 여러 token인 경우, Average를 구함. 즉, 정답이 “60” 이면, “6”과 “0”에 대한 값을 구한 뒤, 나누기 2
      • 정답이든 아니든 일단 모델이 최종적으로 답이라고 뱉은 토큰에 대해서 확도를 구하는 듯.
      • 위 식의 값(delta)이 크면 클 수록 유효한 CoT Path가 나타남.
  • 추가 고려사항
    • 그냥 길이에 따라서 유효하고 유효하지 않고 따질 수 없나? -> 길이로 판단 할 수 없는 예외 케이스가 많음
    • 모델이 뱉은 답변에서 무엇을 정답 Span으로 처리해서 Confident를 구할 것인가? -> 마지막 Numeric Value를 정답으로 하거나, “so the answer is” 토큰 다음에 나오는 토큰을 정답 token으로 처리.
    • 최초 말고 중간에 Top-K 샘플링을 적용 할 수 없나? -> 가능하나, 최초 토큰에 적용하는 것만큼 효율적일 수는 없음.
    • 처음 말고는 그 뒤로 쭉 Greedy Sampling을 하는데, 이 때 그냥 Temperature Sampling(0.7이라든가)을 적용 할 수 없나? -> 오답이 너무 많아져서 비효율적임.
  • Experiments
    • 모든 입력 Format은 다음과 같이 고정, “Q: [question]\nA:”
    • Default K는 10으로 함
    • 모델: PaLM2 X-Small, Small, Medium, Large, 그리고 Mistral-7B로 실험
    • 주로 프리트레인만 된 상태에서 실험하고, Instruction Tuned된 모델에 대해서도 실험

📈 Results

  • Mathmatical Reasoning Tasks
    • Grade-school math problems(GSM8K), multi-step arithmetic dataset(MultiArith),
    • image
    • IT 모델은 이미 CoT 데이터로 학습한 모델임에도 성능 향상이 있다.
    • image
  • Natural Language Reasoning Tasks
    • “year parity” : 유명한 인물이 태어난 년도가 짝수인지 홀수인지 묻는 문제. GPT4도 어려워 하는 문제(Acc 50%대). 그러나 많은 LLM들이 유명한 인물의 태어난 연도도 잘 알고, 주어진 연도가 홀수인지 짝수인지 잘 알고 있으나, 이 문제는 잘 못푼다.
      • 직접 100명의 유명인사를 찾아서 데이터셋을 만듦
    • image
  • Symbolic Reasoning Tasks
    • the Coin Flip task with 2,3,4 rounds of potential flips
    • Big-Bench-Hard 에서 2개 추출 : Web of lies, with 3,4,5 truth/lie statements, Multi-step arithmetic with various depth level 𝑑 and length 𝑙.
    • We also include two natural-language-based but synthetic tasks from Big-Bench, Sports Understanding and Object Counting, to probe model’s intrinsic abilities in solving synthetic tasks.
    • image
      • 1) Task가 어려워질 수록 효과가 적다.
        • 동전 던지기의 경우, 현재 동전의 상태를 Tracking해야 하는데, CoT Path로는 부족하다. 이런 문제는 Few-shot CoT Prompting이 훨씬 잘 먹힌다(현태 어떤 상태인지 물어보는 Prompt를 넣으면).
        • Multi-step Arithmetic의 경우, Left-to-Right 연산만으로는 못푸는데, CoT Path가 여기에 취약
      • 2) Synthetic Task에서 효과가 없다. 즉, Pretraining에서 보지못한 distribution의 task일 수록 잘 풀지 못한다.
  • CoT Prompting과의 비교
    • image

Limitations

  • CoT Prompting 처럼 Explicit 하게 문제를 해결하는데 도움이 되는 정보를 넣을 수없다.
  • 그래서 CoT Prompting 만큼 성능이 좋거나, 어려운 문제를 해결 할 수는 없다.
  • 작은 모델이나, 어려운 문제에서 효과 미미

✏️ Conclusion

  • Explicit 한 CoT Prompting 없이, 단순히 Decoding 시에 Top-K token을 활용하는 것 만으로도 Reasoning 성능을 높일 수 있다.
  • 다만 어려운 문제나, 작은 모델에서는 효과가 미미하다.

❔ Questions