Post

Lecture 14: Reasoning

Lecture 14: Reasoning

bookmark

강의 자료 정리

Reasoning. 추론이란?

  • “이미 알고 있는 정보를 단서로 삼아 몰랐던 사실을 알아내는 과정”
  • 정보 사이의 연결고리를 찾아서 논리적으로 사고하는 능력
  • 참고

    bookmark

  • second letter concatenation

    image.png

    • 첫번째 단어의 두번째 글자 + 두번째 단어의 두번째 글자를 합치는 규칙
    • 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을 학습시킴

        image.png

        • 그랬더니 단순히 답을 내지 않고 자연어로 된 논리적 설명을 먼저 뱉어내게 되었음 (빨간색 글씨 참조)
      • **2021, Nye et al.**
        • 💡 핵심 아이디어: “모델에게 연습장을 쥐어주는 것”
          • 모델이 답을 내기 전에 라는 태그를 열고 그 안에 중간 계산 과정을 글로 써내려간 다음 태그를 닫고 답을 내게 함
        • 그 결과 few-shot, fine-tuning 상황 모두에서 성능이 비약적으로 향상
        • 앞선 연구들이 자연어 풀이 과정을 학습시켰다면, 이 연구는 명시적인 scratchpad라는 작업공간을 명시함으로써 더 기계적인 연산 능력을 끌어올림
  • **Chain-of-Thought Prompting (NIPS 2022)**
    • “chain of thought prompting elicits reasoning in large language models”
    • 구글 리서치의 jason wei et al.
    • 💡핵심 아이디어: “가르치지 말고, 그냥 예시만 보여줘라”
      • 어떻게 잘 학습할까가 아닌, 프롬프트에 예시를 몇개 넣어주면 모델이 알아서 따라한다는 것
    • 수학 문제 뿐 아니라 상식, 논리 등 모든 영역에서 모델의 숨겨진 추론 능력을 “elicit” 이끌어낸다는 것 (학습없이!)
  • Summary
    1. training with intermediate steps
      • 모델을 처음부터 학습할 때 중간 과정을 포함해서 학습시킴
    2. fine-tuning with intermediate steps
      • 잘 학습된 모델에 fine-tuning함
    3. prompting with intermediate steps
      • 모델 훈련 없이, 질문할 때 힌트를 줌 (few shot) - 그런데, 만약 우리가 보여줄 예시 (few-shot)이 없으면 어떡할까?

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 외에도 이 추론을 유도하는 여러 자연어 프롬프트에 대해서 실험을 해봄
  • Self-consistency
    • 모델이 잘못된 추론을 할 수도 있음 → 가장 확률이 높은 답변 하나만 생성하기 때문에, 그 하나의 답이 틀리면 끝임
    • 여러 질문을 해서 서로 다른 추론 경로를 생성하도록 시킴
    • majority voting을 통해 최종 응답을 결정함
    • zero-shot이 흥미롭기는 하지만, few-shot보다는 성능이 좀 떨어짐
  • Analogical Prompting
    • 💡핵심 아이디어: “**너가 직접 예시를 만들고 그걸 참고해서 문제를 풀어라**
    • few-shot이 성능이 좋지만 직접 예시를 만들기는 귀찮으니 모델을 시키는 것
    • 2024, ICLR, Michihiro et al.
      • “Large Language Models as Analogical Reasoners”

        image.png

      • 스스로 예제를 생성하고, 원래 문제를 품
      • 예시를 보면, 관련된 3개의 예제를 recall하고, 원래의 문제로 돌아가서 풀라고 함 (gpt3.5-turbo)
      • zero-shot cot보다 성능이 더 좋고, few-shot과 비슷하거나 더 좋은 결과를 냄
      • 하지만, 모델의 scale에 영향을 받음: 모델의 scale이 클 때만 효과가 있음
  • Summary
    1. 중간 단계를 텍스트로 명시적으로 출력하게 하는 것은 llm의 추론 능력을 이끌어내는 데 중요함
    2. 초기에는 인간이 일일이 예시를 주었어야 했지만 (few-shot cot), 잘 모델을 프롬프팅하면 스스로 step-by-step으로 예시를 만들어서 문제를 풀게 됨
    3. 하지만, 이 방법은 모델이 충분히 크고 능력이 있어야 내재된 추론 능력이 발현됨

    → “**test-time scaling**”과 연결됨

Understanding CoT Prompting

  • CoT decoding
    • greedy 방식으로 top-1 토큰을 뱉어내게 하면 틀리는데,
    • top-k paths들을 살펴보니, 제대로 된 추론 과정을 거쳐 정답을 맞히는 경로가 있었음!
    • 별도의 생각해보라는 명령 “없이도”, 이미 모델 내에 내재된 추론 능력이 존재함
  • Pause Token
    • 💡핵심 아이디어: “바로 답하지 말고, 생각하고 답해라”
    • 모델 훈련/추론 과정에라는 의미 없는 토큰을 강제로 집어넣음
    • 모델: (질문) → <pause> <pause> <pause> (이 시간 동안 내부 연산 수행) → (답변)
    • 이렇게 시간을 더 줬더니 수학문제, 상식문제 점수가 오름

      image.png

  • Structure Matters
    • 모델은 추론의 “내용”을 배우는걸까, “형식”을 배우는걸까?
    • cot 데이터를 학습시킬 때 내용/구조를 각각 망치고 학습시켜봄
      • 내용 - 풀이 과정의 숫자, 정답을 망침
      • 구조 - 순서를 섞거나 삭제함
    • 결과: 내용이 틀린 데이터로 학습하면 성능이 크게 저하되지 않음
      • 오히려 순서가 섞인 데이터로 학습하면 성능이 떨어짐

    → 모델은 학습하는 지식 그 자체보다는 논리적인 흐름을 학습함 : **구조가 중요함!!!**

  • Summary
    • CoT 프롬프팅에 대한 논의
      • “어떤 프롬프트를 써야하지?” → **“언어 모델 안에 내재된 추론 능력을 어떻게 하면 최대한 잘 끌어낼 수 있을까?”**
      • CoT decoding : 여러가지 추론 경로를 탐색함으로써 더 유연하고 강력하게 답을 생성해냄
      • Pause tokens: 모델에게 내부적으로 멈춰서 생각하게 만드는 것만으로도 더 신중하고 단계적인 추론 회로를 만들 수 있음
      • 구조의 중요성: 추론 단계의 내용 자체가 아니라 모델이 사고방식을 조직하는 구조가 더 중요함
    • 현재 진행중인 연구들은 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

        image.png

      • 기존 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”을 학습하는데 사용됨

2. 도구를 쓰는 장인들: ReAct & ToolFormer

  • ReAct: Reasoning and Acting
    • ICLR, 2023
    • 생각하고 행동하라
    • 생각 → 행동 → 관찰 → 다시 생각의 루프를 돔

    image.png

  • Toolformer
    • NIPS, 2023
    • 모델이 텍스트를 생성하다가, 계산이나 팩트 체크가 필요하면 스스로 “api 호출”을 하도록 학습함
    • 스스로 이 타이밍에는 도구가 필요하다고 판단해서 적절한 도구를 꺼내 쓰는 법을 배움

      image.png

  • 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
    • 2025
      • Pixel Reasoner: Incentivizing Pixel-Space Reasoning with Curiosity-Driven Reinforcement Learning
        • 강화학습을 이용한 방법
        • 픽셀 공간에서 직접 행동하며 추론함
          • ex. 안보이니까 확대, search하는 등 행동함
  • 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.