주제: 5-2 추론 강화 (CoT / Self-Consistency / DeepSeek-R1)

분류: llm

타입: concept

난이도:

선수지식: 있음 — GPT, In-Context Learning, Sampling

문제 설정

대형 언어 모델은 다음 목표로 학습됩니다.

P(xt|x1,...,xt1)

즉 다음 토큰을 예측하도록 학습되지만 복잡한 문제 해결에는 다음 문제가 발생합니다.

이를 개선하기 위해 등장한 방법이 Reasoning Enhancement 기법입니다.

직관 비유

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

수식 관점

기존:

P(answer|question)

CoT:

P(answer,reasoning|question)

기호 의미

왜 필요한가

모델이 복잡한 문제를 단계적으로 해결하도록 합니다.

주의점

프롬프트 설계가 중요합니다.

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 경로를 생성하고 가장 일관된 답을 선택합니다.

아이디어

수식:

yi P(answer|reasoningi)

최종 답:

y*=argmaxcount(yi)

기호 의미

왜 필요한가

잘못된 reasoning 경로를 평균적으로 제거합니다.

주의점

추론 비용이 증가합니다.

4. Tree of Thought 확장

추론을 탐색 문제로 볼 수 있습니다.

thought1
 ├ thought2
 │  ├ answer1
 │  └ answer2
 └ thought3

즉 reasoning을 탐색 트리로 확장합니다.

왜 중요한가

복잡한 문제 해결 능력이 향상됩니다.

5. DeepSeek-R1

DeepSeek-R1은 reasoning 능력을 강화한 모델입니다.

핵심 아이디어:

훈련 목표

maximizeE[R(reasoning)]

기호 의미

왜 중요한가

단순 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 능력은 다음 단계로 발전했습니다.

코드-수식 연결

개념 코드 설명
CoT prompting "Let's think step by step" reasoning 유도
sampling temperature, top_p 다양한 reasoning 생성
majority vote collections.Counter() Self-consistency

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)