PART 5 · 강의 3/3

Chain-of-Thought 프롬프팅

"단계별로 생각해" - 간단한 한 마디로 추론 능력 향상시키기

01

학습 목표

이 강의에서 배울 내용

💭

CoT란?

중간 추론 단계를 명시하는 프롬프팅 기법

0️⃣

Zero-shot CoT

"Let's think step by step"의 마법

📝

Few-shot CoT

예시와 함께 추론 방법 보여주기

🎯

Self-Consistency

여러 경로로 추론하고 다수결

02

Chain-of-Thought란?

중간 추론 단계를 생성하도록 유도

💡 핵심 아이디어

Chain-of-Thought(CoT)는 LLM이 중간 추론 단계를 생성하도록 유도하는 프롬프팅 기법입니다. 복잡한 문제를 바로 답하는 대신, 단계별로 생각하면서 풀어나가게 합니다.

일반적인 응답
질문
철수는 사과 5개를 가지고 있었다. 영희에게 2개를 주고, 상점에서 3개를 더 샀다. 철수는 사과가 몇 개인가?
답변

6개입니다.

⚠️ 어떻게 계산했는지 알 수 없고, 실수할 가능성 높음

CoT 응답
질문
철수는 사과 5개를 가지고 있었다. 영희에게 2개를 주고, 상점에서 3개를 더 샀다. 철수는 사과가 몇 개인가? 단계별로 생각해보자.
답변
1
처음에 철수는 5개를 가지고 있었다.
2
영희에게 2개를 줬으니: 5 - 2 = 3개
3
상점에서 3개를 더 샀으니: 3 + 3 = 6개

따라서 답은 6개입니다.

03

Zero-shot CoT: 마법의 한 문장

예시 없이 한 문장만 추가

예시 없이 단 한 문장만 추가하면 추론 능력이 크게 향상됩니다:

영어

"Let's think step by step."

한국어

"단계별로 생각해보자."
🔬 Kojima et al. (2022)의 발견

이 간단한 한 문장만 추가해도 수학, 논리, 상식 추론 문제에서 정확도가 크게 향상됩니다. 특히 대형 모델(100B+ 파라미터)에서 효과가 두드러집니다.

다양한 Zero-shot CoT 프롬프트

"Let's think step by step."

가장 기본적이고 효과적

"Let's work this out in a step by step way to be sure we have the right answer."

더 신중한 검토 유도

"First, let me understand the problem. Then, I'll solve it step by step."

문제 이해 단계 추가

"Think carefully and explain your reasoning."

신중함 강조

04

Few-shot CoT: 예시로 보여주기

추론 과정이 담긴 예시 제공

추론 과정이 담긴 예시를 함께 제공하면 더 좋은 결과를 얻을 수 있습니다. 모델이 예시의 추론 패턴을 따라합니다.

프롬프트
Q: 로저는 테니스 공 5개를 가지고 있다. 테니스 공 2캔을 더 샀다. 각 캔에는 3개의 공이 들어있다. 그는 지금 공을 몇 개 가지고 있나? A: 로저는 처음에 5개의 공을 가지고 있었다. 2캔의 테니스 공을 샀고, 각 캔에 3개씩 들어있으므로 2 * 3 = 6개. 총 5 + 6 = 11개. 정답: 11개 Q: 카페에 23개의 사과가 있었다. 점심을 만드는데 20개를 사용하고, 6개를 더 샀다면, 지금 사과가 몇 개 있나? A:
모델 응답

카페에는 처음에 23개의 사과가 있었다.
점심을 만드는데 20개를 사용했으므로 23 - 20 = 3개.
6개를 더 샀으므로 3 + 6 = 9개.
정답: 9개

📊 2024 연구 결과

최근 연구에 따르면, 강력한 최신 모델들에서는 Few-shot 예시가 주로 출력 형식을 맞추는 역할을 하며, 추론 능력 자체를 크게 향상시키지 않을 수 있습니다. Zero-shot CoT만으로도 충분히 좋은 성능을 낼 수 있는 경우가 많습니다.

05

Self-Consistency: 여러 번 생각하고 다수결

독립적으로 여러 번 추론 후 투표

💡 핵심 아이디어

같은 문제에 대해 여러 번 독립적으로 추론하고, 가장 많이 나온 답을 선택합니다. 사람도 중요한 계산은 여러 번 확인하듯이!

Self-Consistency 작동 예시

문제: "상자에 빨간 공 3개, 파란 공 5개가 있다. 공의 총 개수는?"

경로 1

빨간 공 3개 + 파란 공 5개
= 3 + 5 = 8개

8
경로 2

전체 = 빨간 + 파란
= 3 + 5 = 8

8
경로 3

(실수) 3 x 5 = 15...
아니, 3 + 5 = 8

8
경로 4

(오류) 빨간x파란
= 3 x 5 = 15

15
경로 5

덧셈 문제이므로
3 + 5 = 8개

8
다수결 결과
8 (4표) vs 15 (1표)
→ 정답: 8

성능 향상 효과

GSM8K
CoT: 56%
+ Self-Consistency
74% (+17.9%)
AQuA
CoT: 35%
+ Self-Consistency
47% (+12.2%)
06

고급 CoT 기법들

더 발전된 추론 기법들

🔍
Self-Discover
2024

LLM이 스스로 문제에 적합한 추론 구조를 발견. 다양한 태스크에 자동으로 적응.

📊
Program-of-Thought
2023

추론 과정을 코드로 표현. 수학 계산은 인터프리터가 실행하여 정확도 향상.

🔁
DR-CoT
2024-2025

Dynamic Recursive CoT. 컨텍스트 희석 없이 동적으로 재귀적 추론.

07

언제 CoT를 사용해야 할까?

효과적인 상황과 그렇지 않은 상황

✅ 효과적인 경우

  • 수학 문제 (산술, 대수, 문장제)
  • 논리 추론 문제
  • 다단계 계획 수립
  • 복잡한 의사결정
  • 코드 디버깅

⚠️ 덜 효과적인 경우

  • 단순 사실 질문
  • 창의적 글쓰기
  • 번역
  • 감정/감성 분석
  • 요약 (단순한 경우)
💡 실무 팁
  • 모델 크기 중요: 작은 모델(~10B 이하)에서는 CoT 효과가 제한적
  • 비용 고려: 긴 응답 = 더 많은 토큰 = 더 높은 비용
  • Zero-shot 먼저: 간단한 프롬프트로 시작, 필요시 Few-shot 추가
  • Self-Consistency: 중요한 결정에는 여러 번 샘플링하고 다수결
SUMMARY

핵심 요약

  • CoT는 중간 추론 단계를 생성하도록 유도하는 프롬프팅 기법 (Wei et al. 2022)
  • Zero-shot CoT: "단계별로 생각해" 한 마디로 추론 능력 향상, 대형 모델에서 특히 효과적
  • Few-shot CoT: 추론 과정이 담긴 예시 제공, 최신 모델에서는 형식 맞추기 역할
  • Self-Consistency: 여러 번 추론 후 다수결로 정확도 10-20% 추가 향상
  • 고급 기법: Tree of Thoughts, Self-Discover, Program-of-Thought 등
🎉 Part 5 완료!

추론 모델의 핵심 기술들을 모두 배웠습니다! 다음 Part 6에서는 프롬프트 엔지니어링을 배웁니다. 지시문 작성법, 역할 부여, 구조화된 출력 등 LLM을 효과적으로 사용하는 실전 기법들을 알아봅니다.

REF

참고 자료