LLM 추론 원리: AI는 정말 생각하는 걸까?

언제부터인가 ChatGPT와 Claude 등의 AI 에게 질문을 하면 마치 사람이 생각하는 것처럼 어떤 일을 하고 있는지 표시 된다. 예를들어 수학 문제를 풀게 하면 답을 내기 전까지 “먼저 조건을 정리해 보겠습니다.”, “…이런 식으로 변형하고 있습니다”, “답안을 정리하고 있습니다” 이런 식으로 답을 하는 것을 볼 수 있다.
마치 사람이 생각하는 것처럼 보인다. 어쩔때는 내가 생각하지도 못한 부분까지 검토하는 것 같아 놀랍기도하다.
많은 사람들 요즘 무감각하게 사용하고 있다. 하지만 정말 놀랄 만한 결과가 나올때는 머릿속에 “아 얘는 정말 생각하는 걸까?”라는 생각이 떠오른다.
이 질문에 대한 가장 정확한 답은 다음과 같다. 앞서 몇개의 트랜스포머와 관련된 포스팅에 이야기 한것처럼 LLM은 인간처럼 생각하지는 않지만, 생각하는 것처럼 보이는 계산 과정을 수행한다.
그리고 오늘날 AI 업계에서 말하는 LLM 추론 원리(LLM Reasoning)는 대부분 이 계산 과정을 어떻게 만들고 개선하는지에 관한 이야기다.
LLM 추론 원리 핵심은 Chain-of-Thought(CoT)
이제 우리는 잊어버렸지만 초기 언어 모델들은 질문을 받으면 곧바로 답을 생성했다. 개인적인 기억에는 아마도 OpenAI에서 발표한 추론이 가능한 첫번째 모델이 O1 이었던 것으로 기억한다. 당시 ChatGPT는 생각의 사슬이라는 Chain-of-Thought(CoT)이라는 개념을 소개했다.
모델에게 입력된 프롬프트에 대한 답을 곧바로 생성 하지 말고 중간 과정을 설명하게 한다. 그리고 이렇게 생성된 중간 과정을 다시 프롬프트에 추가한다. 이런식으로 몇단계를 반복하다 보면 원래 입력한 프롬프트가 단순하다고 하더라도 내용이 풍부하게 된다.
이제는 입력 자체가 상세하고 내용이 풍부 해졌으므로 최종으로 선택을 해야 하는 토큰의 배열이 정확해 지게 된다.즉, 성능이 크게 향상된다. 이러한 중간 사고 과정을 Chain-of-Thought(CoT)라고 부른다. 오늘날 ChatGPT, Claude, Gemini, DeepSeek-R1 같은 최신 AI 모델들의 추론 능력은 대부분 CoT를 기반으로 구현된다.

왜 중간 과정을 쓰면 성능이 좋아질까?
CoT의 본질은 문제를 여러 개의 작은 문제로 분해하는 것이다.
“입력 → 정답” 대신 “입력 → 중간 단계 → 중간 단계 → 정답” 이라는 구조를 만들기 때문이다. 이 중간 단계에서 추가되는 토큰은 문제오 연관이 있는 정보일수도 있다. 혹은 모델이 답을 해야 하는 문제와 비슷한 성격을 가진 전략일 수도 있다. 사용자가 단순한 프롬프트를 입력했다 하더라도 모델은 당시 사용자의 의도와 맥락에 맞는 토큰 들을 추가하여 최종 출력 에서는 문제의 답에 가장 근접한 토큰 들에 대한 선택확률을 높게 계산해 내게 된다.
이런 중간과정을 추론(Reasoning)이라 부른다. 최근 각광을 받고 있는 AI 반도체로 인하여 “추론”이라는 단어가 널리 회자되고 있다. 이 글에서 다루고 있는 추론은 영어로 “Reasoning”에 해댱 하는 개념이다. 다른 개념은 “Inference”라고 하는 단어가 있다. 이 두가지의 차이는 다른 글로 써보는 것도 좋을 것 같다.
이 모두는 결국 추가 계산이다. Reasoning은 Inference의 반대 개념이 아니다. 오히려 추론은 Inference 내부에서 수행되는 추가 계산이다. 최근 OpenAI o3, DeepSeek-R1과 같은 Reasoning Model이 뛰어난 성능을 보이는 이유도 여기에 있다.

AI는 실제로 어떻게 추론을 배우는가?
예를 들어 다음 문제를 생각해 보자.
어떤 수의 3배에 5를 더하면 20이다. 그 수는 얼마인가?
이 문제를 입력으로 받은 모델은 아래 시도 1 과 시도 2를 생성하도록 훈련받는다.
- 시도 1: 20에서 5를 빼면 15, 15를 3으로 나누면 5 → 정답
- 시도 2: 20을 3으로 나누면 6.67, 여기에 5를 더하면 11.67 → 오답
이 모델을 훈련시키는 다른 모델의 검증기는 정답이면 1점, 오답이면 0점을 준다.
이것이 RLVR(Reinforcement Learning with Verifiable Rewards)의 핵심 아이디어다. 이른바 “강화학습”이라고 하는 별도의 기계학습의 방법론이 사용된다.
AI를 다루는 논문들이나 블로그들을 보다 보면 이른바 “관찰”한다는 표현이 자주 등장한다.
제법 “Old-school”인 나는 이런 표현이 마음에 들지 않는다. 나에게는 소프트웨어는 이른바 입력이 결정되어 있으면 출력이 정한대로 결정되고 이런 동작은 분석가능해야 하기 때문이다.
그러나 최근 소프트웨어의 발전 방향은 이런 분석의 여지를 주지 않는것 같다. 수십조개의 파라미터들이 그러한 값을 가질때 정확히 동작한다는 것을 어떻게 해석적으로 분석할 수 있을까?
대규모 언어모델에서 Reasoning 동작을 개발하던 사람들은 한가지 놀랄만한 발견을 한다. CoT를 강화학습으로 발전시키던 중 이른바 모델 스스로 “자기검증”을 한다는 것을 발견한 것이다. 스스로 만든 중간 생각의 토큰들에서 이른바 “이렇게 검증 해보자”라는 의미들이 발견되었다는 점이다.
자기검증(Self-Verification)은 어떻게 출현할까?
강화학습이 진행되면 모델은 정답으로 이어지는 행동 패턴을 선호하게 된다.
- 다시 계산해 보자
- 다른 방법으로 검산해 보자
같은 패턴이 정답률을 높이면 점점 더 자주 등장 하게 된다. Transformer는 결국 다음 토큰 예측기이며 LLM의 본질은 현재까지 생성된 텍스트를 보고 다음 토큰을 예측하는 함수다.
여기에서 사용된 강화학습은 확률 분포를 수정한다.
정답으로 이어진 토큰 시퀀스의 확률을 높이고, 오답으로 이어진 토큰 시퀀스의 확률을 낮춘다. 즉 모델은 규칙을 저장하는 것이 아니라 특정 추론 패턴이 생성될 확률을 높인다.
그 외의 것들
강화학습은 Transformer 모델 내부 구조를 바꾸는 것인가?
강화학습은 Transformer 외부에 새로운 모듈을 붙이는 것이 아니라 Transformer 자체의 가중치, 즉 우리가 말하는 수십조개의 파라미터 값들을 수정한다.
그렇다면 추론 능력 향상을 위한 강화학습은 새로운 능력을 만드는 것일까?
많은 연구자들은 강화학습이 새로운 능력을 만드는 것이 아니라 사전학습 과정에서 형성된 잠재 능력을 더 잘 활용하게 만든다고 보는 견해가 많다고 한다.
계산 비용 증가
긴 CoT는 연산에 더 많은 비용이 든다. 더 좋은 결과를 내는 모델일수록 비용이 비싸진다.

마치며
Chain-of-Thought는 문제를 여러 단계로 분해하여 해결하게 만들고, 강화학습은 정답에 도달하는 데 유리한 사고 패턴을 강화한다. 바로 이것이 LLM 추론의 기본 원리이다.
최근 Reasoning Model의 발전은 모델 크기 경쟁 이라기보다 추론 과정 자체를 최적화하는 방향으로 진행되고 있다.
LLM 개발이 기본 업이 아니고 여기 저기에서 주워들은 이야기들을 정리하다 보니 엄밀한 표현이 아닐 수도 있겠다. LLM 모델을 사용하시는 분들이 혹시라도 LLM 추론 원리에 대해서 궁금하신 경우 이렇게 해석을 하는 방식도 있구나정도로 읽어 주시면 고맙겠다.
![A logo representing a calm, happy Sweden countryside village with only blue color palette [and has a minimalist and modern style] [incorporating elements of nature] [with a touch of Scandinavian design] [that reflects a sense of community]](https://i0.wp.com/raonstad.com/wp-content/uploads/2024/03/img-rsVXmvlyKd0umO7b2rMmaUnI.png?fit=1024%2C1024&ssl=1)