주제: 5-2 추론 강화 (CoT / Self-Consistency / DeepSeek-R1)
문제 설정
대형 언어 모델은 다음 목표로 학습됩니다.
즉 다음 토큰을 예측하도록 학습되지만 복잡한 문제 해결에는 다음 문제가 발생합니다.
- 논리적 추론 실패
- 계산 오류
- 중간 reasoning 부족
이를 개선하기 위해 등장한 방법이 Reasoning Enhancement 기법입니다.
직관 비유
- 기존 LLM -> 바로 답 말함
- Reasoning LLM -> 생각 과정을 먼저 전개
즉 step-by-step reasoning을 유도합니다.
1. Chain-of-Thought (CoT)
Chain-of-Thought는 모델이 중간 추론 단계를 생성하도록 유도하는 방법입니다.
예:
Q: Tom has 3 apples and buys 2 more. How many apples?
Reasoning:
Tom has 3 apples.
He buys 2 more.
3 + 2 = 5.
Answer: 5
수식 관점
기존:
CoT:
기호 의미
- reasoning : 중간 추론 단계
왜 필요한가
모델이 복잡한 문제를 단계적으로 해결하도록 합니다.
주의점
프롬프트 설계가 중요합니다.
2. Few-shot CoT
CoT는 예시를 통해 더 잘 작동합니다.
Example1:
Q: ...
Reasoning: ...
Answer: ...
Example2:
Q: ...
Reasoning: ...
Answer: ...
New question:
모델은 reasoning 패턴을 학습합니다.
왜 중요한가
In-context learning과 결합됩니다.
3. Self-Consistency
Self-Consistency는 여러 reasoning 경로를 생성하고 가장 일관된 답을 선택합니다.
아이디어
- 여러 CoT 샘플 생성
- 최종 답 majority voting
수식:
최종 답:
기호 의미
- y_i : i번째 reasoning 결과
왜 필요한가
잘못된 reasoning 경로를 평균적으로 제거합니다.
주의점
추론 비용이 증가합니다.
4. Tree of Thought 확장
추론을 탐색 문제로 볼 수 있습니다.
thought1
├ thought2
│ ├ answer1
│ └ answer2
└ thought3
즉 reasoning을 탐색 트리로 확장합니다.
왜 중요한가
복잡한 문제 해결 능력이 향상됩니다.
5. DeepSeek-R1
DeepSeek-R1은 reasoning 능력을 강화한 모델입니다.
핵심 아이디어:
- reasoning 중심 학습
- reinforcement learning 기반 reasoning 개선
훈련 목표
기호 의미
- R : reasoning quality reward
왜 중요한가
단순 next-token prediction을 넘어 reasoning 능력을 강화합니다.
6. Reasoning RL 구조
prompt
↓
reasoning generation
↓
answer
↓
reward evaluation
↓
policy update
즉 reasoning 과정 자체를 강화합니다.
7. CoT vs Self-Consistency vs R1
| 방법 | 핵심 아이디어 |
|---|---|
| CoT | step-by-step reasoning |
| Self-Consistency | multiple reasoning sampling |
| DeepSeek-R1 | reasoning RL training |
8. Reasoning 강화 흐름
CoT (prompting)
↓
Self-consistency (sampling)
↓
RL reasoning training (R1)
즉 reasoning 능력은 다음 단계로 발전했습니다.
- prompt engineering
- sampling 전략
- training objective
코드-수식 연결
| 개념 | 코드 | 설명 |
|---|---|---|
| CoT prompting | "Let's think step by step" |
reasoning 유도 |
| sampling | temperature, top_p |
다양한 reasoning 생성 |
| majority vote | collections.Counter() |
Self-consistency |
자주 하는 오해 5개
- CoT는 모델 구조를 변경한다고 생각한다
- Self-consistency는 항상 정확도를 높인다고 생각한다
- Reasoning 모델은 일반 LLM과 완전히 다르다고 생각한다
- DeepSeek-R1은 단순 CoT 모델이라고 생각한다
- Reasoning은 prompt만으로 해결된다고 생각한다
체크리스트 (스스로 설명 가능해야 하는 질문)
- Chain-of-Thought prompting은 어떤 아이디어인가?
- 왜 reasoning step이 정확도를 높이는가?
- Self-consistency는 어떤 방식으로 동작하는가?
- DeepSeek-R1은 기존 CoT와 무엇이 다른가?
- Reasoning 강화는 어떤 방향으로 발전하고 있는가?