콘텐츠로 이동

LLM pretraining은 결국 "앞 문맥을 보고 다음 토큰을 맞히는 일"을 아주 큰 규모로 반복하는 학습입니다. 하지만 이 한 문장 안에는 텍스트를 어떻게 자를지, 같은 연산 자원에서 모델과 데이터를 어떻게 키울지, 학습 상태를 어떤 숫자로 읽을지가 모두 들어 있습니다. 이 강의에서는 next-token prediction을 출발점으로 두고, tokenization, scaling law, perplexity가 왜 모두 연결되어 있는지 순서대로 설명합니다.

먼저 알아둘 말

  • pretraining: 대규모 일반 데이터로 모델의 기본 능력을 만드는 학습 단계다.
  • next-token prediction: 앞 토큰들을 보고 다음 토큰을 맞히는 목표다.
  • tokenization: 텍스트를 모델이 처리할 토큰 단위로 나누는 과정이다.
  • vocabulary: 모델이 다루는 토큰들의 사전이다.
  • scaling law: 모델 크기, 데이터 양, 연산량과 성능의 관계를 요약한 경험 법칙이다.
  • compute: 학습에 투입되는 연산 자원이다.
  • loss: 모델이 틀린 정도를 수치로 나타낸 값이다.
  • perplexity: 모델이 다음 토큰을 평균적으로 얼마나 헷갈리는지를 나타내는 지표다.

이 강의에서 답할 질문

  • pretraining은 정확히 어떤 확률 문제를 풀게 만드는가?
  • next-token prediction이 왜 언어 능력 학습으로 이어지는가?
  • tokenization은 왜 단순 전처리가 아닌가?
  • scaling law는 모델을 키우는 방식을 어떻게 바꾸었는가?
  • perplexity는 어떤 뜻으로 읽어야 하는가?

먼저 떠올릴 장면

  • "나는 오늘 학교에" 다음에 올 말을 맞히는 게임을 생각해 봅시다.
  • 사람은 문맥을 보고 "갔다", "왔다", "있다" 같은 후보를 떠올립니다.
  • LLM은 바로 이 게임을 엄청나게 큰 데이터와 모델로 반복하면서 언어의 연결 구조를 익힙니다.

생각의 순서

  1. 먼저 next-token prediction이 무엇을 학습시키는지 설명합니다.
  2. 그다음 텍스트를 어떤 토큰 단위로 자르는지가 왜 중요한지 봅니다.
  3. 이어서 모델 크기, 데이터, compute의 균형 문제로 넘어갑니다.
  4. 마지막으로 loss와 perplexity를 어떻게 읽어야 하는지 정리합니다.

본문

LLM pretraining의 기본 목표는 단순합니다. 앞쪽 토큰들이 주어졌을 때 실제 다음 토큰의 확률을 높이도록 학습하는 것입니다. 문장

$$ x_1, x_2, \dots, x_T $$

에 대해 모델은 보통 전체 문장의 확률을 다음처럼 조건부 확률의 곱으로 표현합니다.

$$ p(x_1, x_2, \dots, x_T) = \prod_{t=1}^{T} p(x_t \mid x_{<t}) $$

이 식의 뜻은 단순합니다. 문장을 한 번에 통째로 맞히는 것이 아니라, 각 위치에서 "이 앞 문맥 다음에는 무엇이 올까?"를 계속 묻는 것입니다.

학습에서는 실제 정답 토큰의 로그확률을 크게 만드는 방향으로 가므로, 손실은 보통 다음처럼 씁니다.

$$ L = -\sum_{t=1}^{T} \log p_\theta(x_t \mid x_{<t}) $$

이 식은 각 위치에서 정답 토큰을 얼마나 잘 맞혔는지에 대한 벌점을 누적한 것입니다. 즉 pretraining은 "다음 토큰 맞히기"를 수십억 번 반복하는 과정이라고 볼 수 있습니다.

그런데 왜 단순한 next-token prediction이 언어 능력으로 이어질까요? 이유는 다음 토큰을 맞히려면 단순한 단어 암기가 아니라 문법, 문맥, 상식적 연결, 긴 거리 의존성까지 함께 써야 하기 때문입니다. 대명사의 지시 대상, 문장의 시제, 문단의 주제 흐름, 코드의 괄호 짝까지 모두 다음 토큰 예측 문제 안에 들어 있습니다. 그래서 이 목표 하나가 매우 많은 언어 구조를 함께 학습시키게 됩니다.

여기서 바로 tokenization 문제가 들어옵니다. 모델은 글자를 직접 읽지 않고 토큰을 읽습니다. 즉 텍스트를 어떻게 자르느냐가 모델이 보는 세계의 기본 단위를 결정합니다.

같은 문장이라도 더 잘게 토큰화하면 시퀀스 길이는 길어지고, 각 토큰은 더 작은 의미 단위를 담게 됩니다. 반대로 더 크게 토큰화하면 시퀀스는 짧아지지만 vocabulary가 커지고, 드문 토큰이 늘어날 수 있습니다. 예를 들어 희귀한 단어를 글자 수준에 가깝게 쪼개면 사전 문제는 줄지만 문맥 길이가 길어집니다. 반대로 긴 문자열을 통째로 토큰으로 잡으면 문맥 길이는 줄어들지만 모델이 익혀야 할 사전은 커집니다.

그래서 tokenization은 단순 전처리가 아닙니다. 모델이 무엇을 하나의 단위로 보고, 한 문장에서 얼마나 긴 의존성을 처리해야 하며, 어떤 통계를 더 자주 보게 되는지를 함께 결정합니다. 같은 모델이라도 tokenization이 달라지면 학습 난이도와 효율이 바뀌는 이유가 여기에 있습니다.

다음으로 scaling law를 봐야 합니다. 모델을 키우면 성능이 좋아지긴 하지만, 아무렇게나 키우면 비효율이 생깁니다. 경험적으로 모델 크기, 데이터 양, compute가 함께 균형 있게 증가할 때 성능이 비교적 예측 가능한 방향으로 좋아지는 패턴이 관찰되었습니다. 이것이 scaling law의 핵심입니다.

즉 중요한 질문은 "파라미터를 더 늘릴까?" 하나가 아닙니다. 같은 compute를 쓸 때 모델을 키우는 것이 좋은지, 데이터를 더 늘리는 것이 좋은지, 둘을 어느 비율로 맞출지가 더 중요합니다. 현대 LLM 설계가 단순히 큰 모델 경쟁이 아니라 데이터와 연산 예산의 균형 설계가 된 이유가 여기에 있습니다.

perplexity는 이런 pretraining 상태를 읽는 대표 지표입니다. 직관적으로는 "모델이 다음 토큰을 얼마나 덜 헷갈리는가"를 보여 줍니다. perplexity가 낮을수록 모델은 평균적으로 더 적은 후보 사이에서 정답에 확신을 가지는 셈입니다. 즉 다음 토큰 예측이 더 날카롭고 안정적이라는 뜻입니다.

물론 perplexity가 낮다고 모든 downstream 성능이 자동으로 좋아지는 것은 아닙니다. 하지만 pretraining의 기본 언어 모델링 능력을 읽는 데는 여전히 매우 중요합니다. loss와 perplexity는 모델이 언어의 통계를 얼마나 잘 붙잡고 있는지를 보여 주는 기본 계기판이라고 생각하면 됩니다.

결국 LLM pretraining은 하나의 손실식만 보는 문제가 아닙니다. 어떤 토큰 단위를 쓸지, 같은 compute에서 모델과 데이터를 어떻게 나눌지, loss와 perplexity를 어떻게 읽을지를 함께 설계해야 합니다. 그래서 pretraining은 단순한 대규모 반복 학습이면서도 동시에 정교한 시스템 설계 문제입니다.

예제

  1. 다음 토큰 예측의 의미 문제: 모델이 prefix를 보고 최대화하려는 것은 무엇인가? 풀이: 실제 다음 토큰에 대한 조건부 확률이다. 해설: pretraining은 각 위치에서 "정답 다음 토큰"의 확률을 높이는 반복 학습이다.

  2. tokenization의 영향 문제: 같은 문장을 더 잘게 토큰화하면 무엇이 달라질 수 있는가? 풀이: 시퀀스 길이는 길어지고, 각 토큰이 담는 의미 단위는 더 작아질 수 있다. 해설: 모델이 보는 입력 구조 자체가 달라지므로 학습 난이도와 패턴 학습 방식도 함께 변한다.

  3. scaling의 균형 문제: 모델 파라미터만 크게 늘리고 데이터는 거의 늘리지 않으면 어떤 문제가 생길 수 있는가? 풀이: 충분한 데이터를 보지 못해 큰 모델의 표현 능력을 효율적으로 활용하지 못할 수 있다. 해설: scaling law는 단순히 "크게 만들기"보다 "균형 있게 키우기"를 강조한다.

스스로 점검

연습 문제

  1. next-token prediction의 학습 목표를 식과 함께 설명하라.
  2. tokenization이 모델 성능과 효율에 영향을 주는 이유를 설명하라.
  3. scaling law가 실무에서 왜 중요한지 말하라.
  4. perplexity를 자연어로 풀어 설명하라.

복습 질문

  1. pretraining은 어떤 확률을 반복해서 학습하는가?
  2. 토큰 단위가 바뀌면 무엇이 함께 바뀌는가?
  3. scaling law는 어떤 균형 문제를 다루는가?

체크포인트

  1. LLM pretraining의 기본 손실을 읽을 수 있다.
  2. tokenization이 왜 중요한 설계 선택인지 설명할 수 있다.
  3. scaling law의 실무적 의미를 이해한다.
  4. perplexity를 단순 숫자가 아닌 예측 난이도로 해석할 수 있다.