Chain-of-Thought 프롬프팅
"단계별로 생각해" - 간단한 한 마디로 추론 능력 향상시키기
학습 목표
이 강의에서 배울 내용
CoT란?
중간 추론 단계를 명시하는 프롬프팅 기법
Zero-shot CoT
"Let's think step by step"의 마법
Few-shot CoT
예시와 함께 추론 방법 보여주기
Self-Consistency
여러 경로로 추론하고 다수결
Chain-of-Thought란?
중간 추론 단계를 생성하도록 유도
💡 핵심 아이디어
Chain-of-Thought(CoT)는 LLM이 중간 추론 단계를 생성하도록 유도하는 프롬프팅 기법입니다. 복잡한 문제를 바로 답하는 대신, 단계별로 생각하면서 풀어나가게 합니다.
6개입니다.
⚠️ 어떻게 계산했는지 알 수 없고, 실수할 가능성 높음
따라서 답은 6개입니다.
Zero-shot CoT: 마법의 한 문장
예시 없이 한 문장만 추가
예시 없이 단 한 문장만 추가하면 추론 능력이 크게 향상됩니다:
영어
한국어
이 간단한 한 문장만 추가해도 수학, 논리, 상식 추론 문제에서 정확도가 크게 향상됩니다. 특히 대형 모델(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."
신중함 강조
Few-shot CoT: 예시로 보여주기
추론 과정이 담긴 예시 제공
추론 과정이 담긴 예시를 함께 제공하면 더 좋은 결과를 얻을 수 있습니다. 모델이 예시의 추론 패턴을 따라합니다.
카페에는 처음에 23개의 사과가 있었다.
점심을 만드는데 20개를 사용했으므로 23 - 20 = 3개.
6개를 더 샀으므로 3 + 6 = 9개.
정답: 9개
📊 2024 연구 결과
최근 연구에 따르면, 강력한 최신 모델들에서는 Few-shot 예시가 주로 출력 형식을 맞추는 역할을 하며, 추론 능력 자체를 크게 향상시키지 않을 수 있습니다. Zero-shot CoT만으로도 충분히 좋은 성능을 낼 수 있는 경우가 많습니다.
Self-Consistency: 여러 번 생각하고 다수결
독립적으로 여러 번 추론 후 투표
💡 핵심 아이디어
같은 문제에 대해 여러 번 독립적으로 추론하고, 가장 많이 나온 답을 선택합니다. 사람도 중요한 계산은 여러 번 확인하듯이!
Self-Consistency 작동 예시
문제: "상자에 빨간 공 3개, 파란 공 5개가 있다. 공의 총 개수는?"
빨간 공 3개 + 파란 공 5개
= 3 + 5 = 8개
전체 = 빨간 + 파란
= 3 + 5 = 8
(실수) 3 x 5 = 15...
아니, 3 + 5 = 8
(오류) 빨간x파란
= 3 x 5 = 15
덧셈 문제이므로
3 + 5 = 8개
성능 향상 효과
고급 CoT 기법들
더 발전된 추론 기법들
선형적 사고 대신 트리 구조로 여러 방향 탐색. 각 단계에서 여러 옵션을 평가하고 유망한 경로를 선택.
LLM이 스스로 문제에 적합한 추론 구조를 발견. 다양한 태스크에 자동으로 적응.
추론 과정을 코드로 표현. 수학 계산은 인터프리터가 실행하여 정확도 향상.
Dynamic Recursive CoT. 컨텍스트 희석 없이 동적으로 재귀적 추론.
언제 CoT를 사용해야 할까?
효과적인 상황과 그렇지 않은 상황
✅ 효과적인 경우
- 수학 문제 (산술, 대수, 문장제)
- 논리 추론 문제
- 다단계 계획 수립
- 복잡한 의사결정
- 코드 디버깅
⚠️ 덜 효과적인 경우
- 단순 사실 질문
- 창의적 글쓰기
- 번역
- 감정/감성 분석
- 요약 (단순한 경우)
- 모델 크기 중요: 작은 모델(~10B 이하)에서는 CoT 효과가 제한적
- 비용 고려: 긴 응답 = 더 많은 토큰 = 더 높은 비용
- Zero-shot 먼저: 간단한 프롬프트로 시작, 필요시 Few-shot 추가
- Self-Consistency: 중요한 결정에는 여러 번 샘플링하고 다수결
핵심 요약
- CoT는 중간 추론 단계를 생성하도록 유도하는 프롬프팅 기법 (Wei et al. 2022)
- Zero-shot CoT: "단계별로 생각해" 한 마디로 추론 능력 향상, 대형 모델에서 특히 효과적
- Few-shot CoT: 추론 과정이 담긴 예시 제공, 최신 모델에서는 형식 맞추기 역할
- Self-Consistency: 여러 번 추론 후 다수결로 정확도 10-20% 추가 향상
- 고급 기법: Tree of Thoughts, Self-Discover, Program-of-Thought 등
추론 모델의 핵심 기술들을 모두 배웠습니다! 다음 Part 6에서는 프롬프트 엔지니어링을 배웁니다. 지시문 작성법, 역할 부여, 구조화된 출력 등 LLM을 효과적으로 사용하는 실전 기법들을 알아봅니다.