Lecture 14: Reasoning
Lecture 14: Reasoning
강의 자료 정리
Reasoning. 추론이란?
- “이미 알고 있는 정보를 단서로 삼아 몰랐던 사실을 알아내는 과정”
- 정보 사이의 연결고리를 찾아서 논리적으로 사고하는 능력
참고
second letter concatenation
- 첫번째 단어의 두번째 글자 + 두번째 단어의 두번째 글자를 합치는 규칙
- 3번째 output은 “G**e**ewook K**i**m” → “ei”
- 최신 closed ai 모델들의 “추론 모드” - 규칙을 찾고 답을 도출해냄
- 단순히 답만 내놓는 것이 아니라, 주어진 예시를 분석하고, 규칙이 맞는지 검증해 보고, 규칙을 유도해서 답을 말함 → 규칙을 외우는게 아니라 상황에서 규칙을 스스로 알아냄
- Intermediate steps
- 전에는 모델에게 문제-정답 pair만을 주고 학습시켰음 → 모델이 문제를 “푸는 법”을 학습하지는 못함
- 그래서 모델에게 중간 풀이 과정을 학습하기 시작함
- **2017, Lin et al. (딥마인드)**
- 대수학 문제를 풀때, “왜냐하면”에 해당하는 rationale를 함께 생성하도록 모델을 훈련시킴
- **2021, openai & GSM8K**
- GSM8K: 초등 수학 수준의 문제 8,500개를 사람이 직접 풀이과정을 상세하게 적어 만든 데이터
- 이 데이터로 gpt-3을 학습시킴
- 그랬더니 단순히 답을 내지 않고 자연어로 된 논리적 설명을 먼저 뱉어내게 되었음 (빨간색 글씨 참조)
- **2021, Nye et al.**
- 💡 핵심 아이디어: “모델에게 연습장을 쥐어주는 것”
- 모델이 답을 내기 전에
라는 태그를 열고 그 안에 중간 계산 과정을 글로 써내려간 다음 태그를 닫고 답을 내게 함
- 모델이 답을 내기 전에
- 그 결과 few-shot, fine-tuning 상황 모두에서 성능이 비약적으로 향상
- 앞선 연구들이 자연어 풀이 과정을 학습시켰다면, 이 연구는 명시적인 scratchpad라는 작업공간을 명시함으로써 더 기계적인 연산 능력을 끌어올림
- 💡 핵심 아이디어: “모델에게 연습장을 쥐어주는 것”
- **2017, Lin et al. (딥마인드)**
- **Chain-of-Thought Prompting (NIPS 2022)**
- “chain of thought prompting elicits reasoning in large language models”
- 구글 리서치의 jason wei et al.
- 💡핵심 아이디어: “가르치지 말고, 그냥 예시만 보여줘라”
- 어떻게 잘 학습할까가 아닌, 프롬프트에 예시를 몇개 넣어주면 모델이 알아서 따라한다는 것
- 수학 문제 뿐 아니라 상식, 논리 등 모든 영역에서 모델의 숨겨진 추론 능력을 “elicit” 이끌어낸다는 것 (학습없이!)
- Summary
- training with intermediate steps
- 모델을 처음부터 학습할 때 중간 과정을 포함해서 학습시킴
- fine-tuning with intermediate steps
- 잘 학습된 모델에 fine-tuning함
- prompting with intermediate steps
- 모델 훈련 없이, 질문할 때 힌트를 줌 (few shot) - 그런데, 만약 우리가 보여줄 예시 (few-shot)이 없으면 어떡할까?
- training with intermediate steps
CoT Prompting
- Zero-shot CoT
- 2022, Kojima et al.
- “Large Language Models are Zero-Shot Reasoners”
- 복잡한 예시를 줄 필요 없이 “Let’s think step by step”라는 문장 하나만 붙여라
- 자세하게는,
- 1) reasoning extraction을 통해서 모델이 논리적 과정을 쭉 뱉어내게 함
- 2) answer extraction 단계에서는 앞선 응답 끝에 “therefore, the answer is…”라고 물어서 깔끔하게 답만 뽑아냄
- Let’s think step by step 외에도 이 추론을 유도하는 여러 자연어 프롬프트에 대해서 실험을 해봄
- 2022, Kojima et al.
- Self-consistency
- 모델이 잘못된 추론을 할 수도 있음 → 가장 확률이 높은 답변 하나만 생성하기 때문에, 그 하나의 답이 틀리면 끝임
- 여러 질문을 해서 서로 다른 추론 경로를 생성하도록 시킴
- majority voting을 통해 최종 응답을 결정함
- zero-shot이 흥미롭기는 하지만, few-shot보다는 성능이 좀 떨어짐
- Analogical Prompting
- 💡핵심 아이디어: “**너가 직접 예시를 만들고 그걸 참고해서 문제를 풀어라**”
- few-shot이 성능이 좋지만 직접 예시를 만들기는 귀찮으니 모델을 시키는 것
- 2024, ICLR, Michihiro et al.
- Summary
- 중간 단계를 텍스트로 명시적으로 출력하게 하는 것은 llm의 추론 능력을 이끌어내는 데 중요함
- 초기에는 인간이 일일이 예시를 주었어야 했지만 (few-shot cot), 잘 모델을 프롬프팅하면 스스로 step-by-step으로 예시를 만들어서 문제를 풀게 됨
- 하지만, 이 방법은 모델이 충분히 크고 능력이 있어야 내재된 추론 능력이 발현됨
→ “**test-time scaling**”과 연결됨
Understanding CoT Prompting
- CoT decoding
- greedy 방식으로 top-1 토큰을 뱉어내게 하면 틀리는데,
- top-k paths들을 살펴보니, 제대로 된 추론 과정을 거쳐 정답을 맞히는 경로가 있었음!
- 별도의 생각해보라는 명령 “없이도”, 이미 모델 내에 내재된 추론 능력이 존재함
- Pause Token
- Structure Matters
- 모델은 추론의 “내용”을 배우는걸까, “형식”을 배우는걸까?
- cot 데이터를 학습시킬 때 내용/구조를 각각 망치고 학습시켜봄
- 내용 - 풀이 과정의 숫자, 정답을 망침
- 구조 - 순서를 섞거나 삭제함
- 결과: 내용이 틀린 데이터로 학습하면 성능이 크게 저하되지 않음
- 오히려 순서가 섞인 데이터로 학습하면 성능이 떨어짐
→ 모델은 학습하는 지식 그 자체보다는 논리적인 흐름을 학습함 : **구조가 중요함!!!**
- Summary
- CoT 프롬프팅에 대한 논의
- “어떤 프롬프트를 써야하지?” → **“언어 모델 안에 내재된 추론 능력을 어떻게 하면 최대한 잘 끌어낼 수 있을까?”**
- CoT decoding : 여러가지 추론 경로를 탐색함으로써 더 유연하고 강력하게 답을 생성해냄
- Pause tokens: 모델에게 내부적으로 멈춰서 생각하게 만드는 것만으로도 더 신중하고 단계적인 추론 회로를 만들 수 있음
- 구조의 중요성: 추론 단계의 내용 자체가 아니라 모델이 사고방식을 조직하는 구조가 더 중요함
- 현재 진행중인 연구들은 cot가 효과적으로 작동하기 위한 원리와 전제 조건을 계속 탐색하는 중
- CoT 프롬프팅에 대한 논의
Toward Implementation of “Reasoning Model”
- 기존 모델을 어떻게 잘 유도할까가 아니라, 어떻게 처음부터 똑똑하게 추론하는 모델을 만들까?
- 스스로 생각하는 deep reasoning vs tool use 두 갈래로 나뉨
1. 스스로 생각하는 deep reasoning: OpenAI o1 & Deepseek-r1
- openAI o1
- “Learning to reason with LLMs”
- o1 모델은 기존 gpt-4o보다 수학, 물리, 화학 등 박사급 과학 문제에서 압도적인 성능 향상을 보여줌
- deepseek r1
- o1과 맞먹는 성능을 보여줌
- 강화학습을 통해 추론 능력을 극대화한 모델
- GRPO가 핵심
group relative policy optimization
- 기존 PPO
- 모델이 응답을 내면 value model이 답이 얼마나 좋은지 채점함
- 모델 크기가 큰 value model을 사용하기 때문에 학습 비용이 비싸고 무거움
- GRPO: value model 없이 자기들끼리 경쟁시킴
- group sampling: 질문 하나에 대해서 여러 답변을 생성하게 함
- reward computation: 그 중에서 상대적으로 더 잘한 답변에 점수를 줌
- 내 점수에서 평균을 빼고 표준편차로 나눔
- value model이 없어서 메모리를 아낄 수 있고, 그룹 내에서 상대적으로 더 나은 답을 찾아가므로 학습이 효율적임
- 내재된 추론 능력이 비약적으로 상승함
- 학습 데이터셋: nvidia/HelpSteer
- 구조: prompt / response / ratings
- ratings가 아주 디테일함: helpfulness, correctness, coherence, complexity, verbosity
- 이 데이터셋이 “reward model”을 학습하는데 사용됨
- 구조: prompt / response / ratings
2. 도구를 쓰는 장인들: ReAct & ToolFormer
- ReAct: Reasoning and Acting
- ICLR, 2023
- 생각하고 행동하라
- 생각 → 행동 → 관찰 → 다시 생각의 루프를 돔
- Toolformer
- Summary
- 산업 수준에서 robust한 추론 모드를 구현하기 위해서 **외부 도구와의 통합 (tool calling)**이 llm의 역량을 강화하는 핵심적인 개발 방향으로 부상함
- CoT 프롬프팅과 같은 고급 프롬프팅 기법들이 잘 작동하도록, llm 자체 내부에 내재적으로 강한 추론 능력을 구축하는 연구도 활발하게 연구되고 있음
- 복잡한 real world 과제 해결에 필요한 깊이 있는 추론 능력을 llm이 갖추도록 하기 위해서 grpo, preference alignment 같은 방법들이 탐구되고 있음
Extending Reasoning to the Vision Domain
- 멀티모달 추론으로의 확장
- 2024, NIPS spotlight
- Visual CoT: Advancing Multi-Modal Language Models with a Comprehensive Dataset and Benchmark for Chain-of-Thought Reasoning
- 기존 문제: 이미지를 쓱 보고 바로 답을 내서 환각이 심함
- 해결: 모델에게 질문을 던지면 바로 답하지 않음
- visual sampler: 이미지에서 중요한 부분이 어디인지 bounding box를 찍어서 확인함 (CoT BBox)
- reasoner: 그 부분을 근거로 추론함
- ablation study를 보면 cot를 붙인 것이 성능 향상의 핵심
- “어디를 봐야 할지 아는 것”이 중요함
- training detail
- 데이터셋: 약 376k의 시각적 추론 데이터를 모아서 학습함
- SFT만 사용, 강화학습 X
- Visual CoT: Advancing Multi-Modal Language Models with a Comprehensive Dataset and Benchmark for Chain-of-Thought Reasoning
- 2025
- Pixel Reasoner: Incentivizing Pixel-Space Reasoning with Curiosity-Driven Reinforcement Learning
- 강화학습을 이용한 방법
- 픽셀 공간에서 직접 행동하며 추론함
- ex. 안보이니까 확대, search하는 등 행동함
- Pixel Reasoner: Incentivizing Pixel-Space Reasoning with Curiosity-Driven Reinforcement Learning
- 2024, NIPS spotlight
- Summary
- CoT와 같은 기법들은 vision, multimodal AI에 성공적으로 적용됨
- Visual CoT는 모델이 이미지 기반의 작업들을 단계별로 해결할 수 있게 해서 다양한 벤치마크에서 정확도 향상
- Pixel Reasoner를 포함해서 고급 훈련 방식이 적용된 structured reasoning은 vision-language tasks에서 더 강력한 성능을 발휘할 수 있게 됌
This post is licensed under CC BY 4.0 by the author.





