사전학습은 웹 문서·책·코드 같은 방대한 텍스트로 '다음 단어 맞히기'를 반복시켜 LLM에 언어 패턴과 지식을 익히게 하는 첫 단계이자 가장 비싼 단계다. 수천 장의 GPU가 필요해 대부분은 직접 하지 않고, 그 결과물인 베이스 모델을 골라 쓰거나 추가 학습의 출발점으로 삼는다.
| 단계 | 하는 일 | 결과물 |
|---|---|---|
| 사전학습 | 방대한 텍스트로 다음 단어 맞히기 | 베이스 모델 |
| 사후학습 | 지시 따르기, 선호 반영, 추론 강화 | 대화용(Instruct) 모델 |
사전학습만 마친 베이스 모델은 책은 다 읽었지만 대화 예절은 배운 적 없는 사람과 같다. "한국의 수도는?"이라고 물으면 답하는 대신 "일본의 수도는?"처럼 문제집의 다음 줄을 이어 쓰기도 한다. 사람이 정답을 달아 줄 필요 없이 텍스트만 있으면 학습할 수 있어서 규모를 크게 키울 수 있다.
Hugging Face에 같은 모델이 Llama-3.1-8B와 Llama-3.1-8B-Instruct 두 가지로 올라와 있는 이유가 이 차이다.
| 하려는 일 | 고를 버전 |
|---|---|
| 챗봇·에이전트에 붙이기 | Instruct |
| 내 데이터로 추가 학습 | 베이스 |
| 특정 분야·언어 실력 키우기 | 베이스 + 지속 사전학습 |
지속 사전학습은 한국어 법률 문서처럼 특정 분야의 텍스트를 더 읽히는 방법이다. 새 데이터만 읽히면 원래 하던 일을 잊어버리기 때문에 일반 텍스트를 일부 섞어 준다.
모델이 특정 시점 이후의 라이브러리 버전을 모르는 지식 컷오프는 사전학습 데이터를 모은 시점 때문에 생긴다. 인기 프레임워크 코드는 잘 짜면서 사내 전용 DSL에 약한 것도 학습 데이터에 그 코드가 얼마나 있었느냐의 차이다.
모델이 아는 것은 대부분 이 단계에서 정해진다. 그래서 새로운 사실을 알려 주려면 파인튜닝보다 RAG로 관련 문서를 함께 넣어 주는 편이 효과적이다.
데이터는 양만큼 질이 중요하다. 중복을 지우고 교육적 가치가 높은 글만 골라 학습시키면 더 적은 데이터로도 성능이 오른다. 요즘은 작은 모델을 데이터에 비해 훨씬 오래 학습시키기도 하는데, 학습비가 더 들어도 서비스할 때 추론 비용이 싸지기 때문이다.
다만 공개된 고품질 텍스트가 바닥나고 있다. 같은 데이터를 4번 정도까지는 반복해 써도 되지만, 그보다 많이 반복하면 효과가 빠르게 줄어든다. 그래서 합성 데이터를 섞거나, 계산 자원을 사후학습 쪽으로 돌리는 흐름이 생겼다.
처음부터 사전학습을 돌리는 일은 드물다. 대부분은 공개된 베이스 모델을 출발점으로 삼아, 필요한 만큼만 더 읽히거나 가르친다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 사내 전용 모델 만들기 | 오픈 베이스 모델을 받아 내 데이터로 파인튜닝한다 |
| 특정 분야·언어 모델 | 한국어·법률·의료 텍스트로 지속 사전학습해 그 분야 실력을 키운다 |
| 글 이어쓰기·데이터 생성 | 베이스 모델에 앞부분을 주고 비슷한 형식의 글이나 합성 데이터를 이어 쓰게 한다 |
| 학습·연구용 실험 | 작은 모델을 처음부터 사전학습해 데이터와 학습 방식의 효과를 직접 확인한다 |