Insights·2026-08-31

베이스 모델은 왜 그대로 못 쓰는가 — 프리트레인과 포스트트레인

프리트레인이 끝난 모델은 아직 제품이 아니다. 그때까지 배운 것은 다음에 올 토큰으로 무엇이 자연스러운가 하나뿐이라, 질문을 던지면 답하는 대신 질문을 이어서 쓴다. 여기에 질의응답 형식과 지시 준수를 가르치는 추가 훈련이 붙어야 우리가 쓰는 모델이 된다. 그 단계가 포스트트레인이고, 프리트레인을 할 수 있는 곳은 소수인데 세상에 모델이 많은 이유가 바로 이 단계에 있다.

이어지는 글모델은 어떻게 학습하는가 — 파라미터와 가중치의 정체
베이스 모델에 없는 것은 눈치 — 프리트레인은 규모로, 포스트트레인은 정성으로라는 요약 도식

학습이 끝났는데 쓸 수가 없다

앞 편에서 파라미터를 조금씩 고쳐 가며 학습을 마쳤다. 가중치가 최적화된 모델 하나가 손에 들어왔다.

그런데 이 모델에 질문을 던지면 답하지 않는다. 대신 질문을 이어서 쓴다. '한국의 수도는 어디인가요?'라고 넣으면 '그리고 일본의 수도는 어디인가요? 중국의 수도는...' 하는 식으로 비슷한 문장을 계속 만들어 낸다.

고장이 아니다. 정확히 배운 대로 하고 있는 것이다. 이 모델이 훈련받은 것은 딱 하나, 앞을 보고 다음에 올 토큰으로 무엇이 자연스러운가였다. 질문 뒤에 답이 온다는 것은 배운 적이 없다.

이 상태의 모델을 베이스 모델이라 부르고, 여기까지의 과정을 프리트레인이라고 한다. '프리'가 붙은 것은 아직 앞 단계라는 뜻이다.

베이스 모델에 없는 것 — 눈치

베이스 모델에 없는 것을 한 단어로 하면 눈치다. 상황에 맞게 행동하는 감각이 없다.

코딩 도구로 쓴다고 해 보자. 그러면 다음에 올 코드 한 조각을 잘 맞히는 것만으로는 부족하다. 에러 로그를 주면 무엇이 문제인지 짚어 주고, 고친 코드를 규격에 맞게 돌려주고, 설명이 필요한 자리에서는 설명해야 한다.

보고서를 쓰게 한다면 또 다른 형식이 필요하다. 요약이 앞에 오고, 근거가 뒤따르고, 길이가 요청에 맞아야 한다.

이런 것들은 전부 '자연스러운 다음 토큰'과는 다른 층위의 요구다. 그래서 추가 훈련이 필요하고, 그 단계를 포스트트레인이라고 부른다. 사람으로 치면 사회화에 가깝다.

파인튜닝 — 콘솔을 다시 만들지 않는다

파인튜닝의 두 방식 비교. 가중치 전체 재조정과 LoRA 같은 확장 모듈 방식.

포스트트레인의 대표적인 방법이 파인튜닝이다. 여기서 중요한 것은 프리트레인을 처음부터 다시 하지 않는다는 점이다.

앞 편의 DJ 콘솔 비유를 이어 보자. 이미 잘 맞춰 놓은 콘솔이 있다. 파인튜닝은 그 콘솔을 버리고 새로 만드는 것이 아니라, 있는 콘솔을 조금 더 손보는 일이다.

손보는 방식은 크게 둘로 갈린다. 하나는 기존 가중치 전체를 다시 조금씩 조정하는 것이다. 다른 하나는 원래 가중치는 그대로 두고 작은 확장 모듈을 덧붙여 그 안에서만 값을 학습시키는 것이다. 뒤쪽이 훨씬 싸고, LoRA 같은 이름으로 불린다.

덧붙이는 모듈의 크기는 원래 모델에 비하면 아주 작다. 700억 개짜리 모델 옆에 붙는 것이 수백만 개 수준일 수 있다. 그림으로 그리면 머리카락 굵기로도 안 보일 비율이다. 그런데도 모델의 행동은 눈에 띄게 달라진다.

재료도 규모가 다르다

파인튜닝에 쓰는 데이터는 프리트레인 데이터와 성격이 다르다. 인터넷 글을 긁어모으는 것이 아니라 '이렇게 물으면 이렇게 답한다'는 문답 세트를 만든다.

이건 사람 손이 많이 간다. 좋은 답이 무엇인지 사람이 정해 줘야 하기 때문이다. 그래서 양이 수십만에서 수백만 건 정도가 된다.

큰 숫자처럼 들리지만 프리트레인에 들어간 글의 양에 비하면 아주 작다. 여기가 포인트다. 앞 단계는 규모로 밀어붙이고, 뒤 단계는 정성으로 다듬는다.

파인튜닝만 있는 것도 아니다. 좋은 답과 나쁜 답을 비교해 가며 방향을 잡아 주는 강화학습 계열의 방법도 함께 쓰인다. 그쪽은 문답 세트 대신 무엇을 잘한 것으로 칠지를 설계한다.

loss — 학습은 틀린 정도를 줄이는 게임

여기서 학습 전반을 관통하는 개념 하나를 짚고 가자. 한 번 학습했을 때 얼마나 틀렸는지를 수치로 나타낸 것을 loss라고 한다.

학습이란 결국 이 loss를 최소화하는 게임이다. 반복 횟수를 가로축에, loss를 세로축에 놓고 그래프를 그리면 처음에는 가파르게 떨어지다가 점점 완만해지고, 어느 순간부터는 더 내려가지 않는다.

학습을 멈추는 지점이 대개 거기다. '너무 틀렸으니 처음부터 다시' 같은 것이 아니라 '더 해 봐야 안 내려간다'가 종료 신호다.

그리고 loss가 0이 되는 일은 없다. 정답을 100% 맞히는 상태는 오지 않고, 근사치로 다가갈 뿐이다. AI 결과에 100%가 없다는 말이 여기서 나온다.

자주 엉키는 것 — 토큰 수와 파라미터 수는 무관하다

토큰과 파라미터와 컨텍스트 한도가 서로 다른 축임을 보여 주는 도식.

'파라미터가 많으면 토큰을 더 많이 다룰 수 있나요'라는 질문을 자주 받는다. 둘은 서로 다른 축이다.

세탁기로 비유하면 토큰은 세탁물이고 파라미터는 세탁 코스다. 오늘 넣을 옷의 양과 코스 설정의 가짓수는 별개의 이야기다.

토큰은 학습하고 처리할 재료이고, 파라미터는 그 재료를 어떤 설정으로 다룰지를 정하는 손잡이다. 파라미터가 많다고 한 번에 넣을 수 있는 글이 길어지지 않는다. 그 길이는 컨텍스트 한도라는 별도의 값이 정한다.

덧붙여 라벨링이라는 말도 자주 섞인다. 라벨링은 주로 이미지 인식처럼 사람이 정답을 하나하나 달아 주는 데이터셋을 만들 때 쓰는 말이다. 프리트레인은 글 자체가 정답을 품고 있어 그 작업이 필요 없다.

모델이 이렇게 많은 이유

프리트레인은 아무나 못 한다. 대규모 연산 자원을 몇 달 단위로 돌려야 하는 일이라 실제로 할 수 있는 곳이 많지 않다.

그런데 세상에는 모델이 아주 많다. 이 두 사실이 어긋나 보이는데, 답이 포스트트레인에 있다.

이 단계는 레시피의 영역이다. 어떤 문답 세트를 쓸지, 어떤 것을 잘한 것으로 칠지, 어떤 순서로 훈련할지에 따라 결과가 달라진다. 같은 베이스 모델에서 출발해도 여기가 다르면 성격이 다른 모델이 나온다.

벤치마크 점수가 모델마다 들쑥날쑥한 이유도 이것이다. 코딩에서 앞서는 모델과 문서 요약에서 앞서는 모델이 갈리는 것은 대개 프리트레인 규모가 아니라 이 레시피의 차이다.

실무에서 모델을 고를 때 파라미터 수만 보면 안 되는 이유가 여기 있다. 하려는 일과 비슷한 과제의 벤치마크를 봐야 한다.

여기까지가 학습이다

코퍼스를 모아 토큰으로 바꾸고, 다음 토큰 맞히기로 파라미터를 다듬고, 포스트트레인으로 눈치를 가르쳤다. 이제 서비스할 수 있는 모델이 나왔고, 채팅 화면에 붙이면 우리가 쓰는 그 도구가 된다.

그런데 지금까지 본 것은 전부 학습이다. 모델을 만드는 이야기였다.

다음 편부터는 완전히 다른 이야기가 시작된다. 다 만들어진 모델이 우리 질문을 받아 답을 만들어 내는 과정, 즉 추론이다. 이 둘을 섞으면 대화가 어긋나므로 확실히 갈라 두는 편이 좋다. 학습은 모델을 바꾸는 일이고, 추론은 바뀐 적 없는 모델을 쓰는 일이다.