LLM을 '다음 토큰 예측기'로 보는 건 잘못된 사고방식이다
LLM을 단순한 '다음 토큰 예측기'로 이해하는 것은 사전학습(pre-training)만 설명하는 불완전한 모델이라는 주장입니다. 검증 가능한 보상 기반 강화학습(RLVR)을 통한 후속학습(post-training)은 모델이 기존 학습 데이터를 모방하는 것을 넘어, 스스로 생성한 새로운 시퀀스의 결과로부터 학습하게 만듭니다. 체스 엔진 비유를 통해 '기존 데이터의 다음 수를 예측하는 것'과 '이기는 수를 선택하는 것'의 차이를 설명합니다.
LLM을 엄격히 '다음 토큰 예측기'로 생각하는 것을 멈춰라
엄밀히 말해 "LLM은 다음 토큰 예측기(next-token predictor)다"라는 말은 틀린 것이 아니지만, 불완전하다. 이는 훌륭한 영차 근사(zeroth-order approximation)이며, 실제 근거에 기반한다. 트랜스포머 기반 언어 모델은 토큰을 자기회귀적(autoregressive)으로 생성한다:
while not done:
tokens.append(model.sample_next_token(tokens))
이것은 분명 다음 토큰 예측기라고 부를 만한 형태를 하고 있다. 사전학습(pre-training) 동안 모델은 반복적으로 이전 토큰들을 받아들이고, 그 뒤에 실제로 이어진 토큰을 살펴보며, 그 토큰이 다음에 샘플링될 가능성을 높인다. 개념적으로 사전학습 루프는 다음과 같다:
for tokens in training_data:
for position in range(1, len(tokens)):
prior_tokens = tokens[:position]
actual_next_token = tokens[position]
model.make_more_likely(actual_next_token, after=prior_tokens)
물론 make_more_likely는 여기서 막대한 작업을 수행한다. 내부적으로는 손실 함수(loss function), 그래디언트(gradient), 파라미터 업데이트가 있지만, 이 글에서는 그것들의 종합적인 효과만 중요하다. 즉, 실제로 다음에 왔던 토큰이 더 likely해진다는 것이다. 결정적으로, 모든 actual_next_token은 학습 데이터에 존재하는 기존 시퀀스에서 온다.
베이스 모델(base model) 또한 다음 토큰 예측기처럼 행동한다고 하는 것이 공정할 것이다. 베이스 모델은 학습 데이터에서 나타나는 대로 다음 토큰을 예측하도록 학습되었기 때문이다.
하지만 우리가 사용하는 LLM은 단순한 베이스 모델이 아니다. 이들은 후속학습(post-training)을 거쳤으며, 현대적 후속학습의 핵심 부분은 검증 가능한 보상 기반 강화학습(RLVR, reinforcement learning with verifiable rewards)이다.
사전학습 동안 모델은 학습 데이터에 이미 존재하는 시퀀스로만 학습한다. 반면 RLVR 동안 모델은 새로운 시퀀스를 생성하며 탐색(explore)하고, 그 결과로부터 학습한다. 개념적으로 RLVR 학습 루프는 다음과 같다:
for task in training_tasks:
for explored_tokens in model.explore(task):
reward = evaluate_outcome(task, explored_tokens)
for position in range(len(explored_tokens)):
prior_tokens = task + explored_tokens[:position]
explored_next_token = explored_tokens[position]
model.make_more_likely(explored_next_token,
after=prior_tokens,
according_to=reward)
make_more_likely는 두 루프에서 같은 종류의 작업을 수행하지만, 근본적으로 다른 이유에서다. 사전학습에서는 그 토큰이 학습 데이터에 나타났기 때문에 actual_next_token을 더 likely하게 만든다. 반면 RLVR에서는 그 토큰을 포함한 탐색된 시퀀스가 높은 보상을 얻었기 때문에 explored_next_token을 더 likely하게 만든다.
따라서 후속학습을 거친 LLM은 여전히 한 번에 토큰 하나씩 생성한다는 점에서 다음 토큰 예측기의 형태를 갖고 있지만, 더 이상 기존 텍스트를 예측하는 것만으로 학습하지 않는다. 자신의 탐색을 통해 만들어진 새로운 시퀀스로부터도 학습한다.
체스 비유
체스 엔진은 이 구분을 더 쉽게 보여준다. 두 개의 체스 시스템을 상상해 보라.
첫 번째는 거대한 그랜드마스터 기보 데이터베이스로 학습된 시스템이다. 그랜드마스터들이 다양한 보드 상황에 어떻게 대응하는지에 있는 패턴을 학습한다. 새로운 포지션이 주어지면, 그랜드마스터가 가장 likely하게 다음에 둘 수를 예측한다. 이것이 '다음 수 예측기(next-move predictor)'다.
두 번째는 가능한 모든 게임을 탐색한 이상화된 체스 엔진이다. 그 철저한 탐색으로부터 모든 가능한 보드 포지션에서의 승리 확률을 알고 있다. 포지션이 주어지면 승리 확률을 가장 높이는 수를 선택한다. 첫 번째 시스템과 달리, 그랜드마스터가 이미 둔 게임만으로 학습하지 않는다. 자신의 탐색이 생성한 게임으로부터도 학습한다.
두 번째 시스템을 "다음 수 예측기"라고 부르는 것은 이상할 것이다. 이것은 데이터셋에 어떤 수가 다음에 나타났는지 예측하려는 것이 아니다. 이기는 수를 선택하려는 것이다.
맺음말
이 글에서 다루지 않았지만, 다른 후속학습 기법들도 중요하다. 예를 들어 인간 피드백 기반 강화학습(RLHF, reinforcement learning from human feedback)은 모델이 사전학습 데이터 전체를 모방하는 것에서 벗어나 유용한 어시스턴트를 시뮬레이션하는 방향으로 이동시킨다. 그리고