사전학습과 instruction tuning
이 장에서 배울 것
이 장에서는 LLM이 어떻게 "문장을 잘 이어 쓰는 모델"에서 "사용자의 요청을 돕는 어시스턴트"로 바뀌는지 배운다. 핵심은 학습 단계다. 같은 Transformer 구조를 사용하더라도 어떤 데이터로, 어떤 목표로 학습했는지에 따라 모델의 행동은 크게 달라진다.
이번 장의 목표는 다음과 같다.
사전학습이 무엇인지 설명한다.
Base model과 assistant model의 차이를 이해한다.
Supervised Fine-Tuning, 즉 SFT의 역할을 이해한다.
RLHF, DPO, RLAIF 같은 선호도 기반 정렬 방식을 직관적으로 이해한다.
파인튜닝, RAG, 프롬프트 개선을 언제 구분해서 써야 하는지 판단한다.

왜 이 주제가 중요한가
LLM을 사용할 때 우리는 보통 질문을 입력하고 답을 받는다. 그래서 처음에는 LLM이 처음부터 질문에 답하도록 만들어졌다고 생각하기 쉽다. 하지만 많은 LLM은 처음부터 친절한 비서로 태어나지 않는다.
기본 단계의 모델은 대규모 텍스트를 읽으며 다음에 올 토큰을 예측하도록 학습된다. 이를 사전학습이라고 한다. 이 단계의 모델은 문장을 자연스럽게 이어 쓰는 능력은 뛰어나지만, 사용자의 지시를 반드시 따르도록 훈련된 것은 아니다.
예를 들어 사용자가 "다음 글을 세 문장으로 요약해 줘"라고 입력했을 때, 사전학습만 된 모델은 요약을 할 수도 있지만, 질문 뒤에 이어질 법한 다른 문장을 생성할 수도 있다. 반면 instruction tuning을 거친 모델은 사용자의 요청이 "요약"이라는 작업임을 이해하고, 세 문장이라는 조건에 맞추려 한다.
즉, LLM의 품질은 모델 크기만으로 결정되지 않는다. 어떤 학습 단계를 거쳤는지, 어떤 방식으로 사람의 기대에 맞게 조정되었는지가 중요하다.
핵심 개념 설명
사전학습: 다음 토큰을 맞히며 언어를 익히는 과정
사전학습은 LLM이 기본 언어 능력을 얻는 단계다. 모델은 책, 문서, 웹페이지, 코드, 대화문 같은 대규모 텍스트를 보고 다음 토큰을 예측한다.
예를 들어 다음 문장이 있다고 하자.
오늘 날씨가 매우 맑아서 공원에
모델은 다음 토큰으로 "갔다", "나갔다", "산책" 같은 후보를 예측한다. 처음에는 예측이 서툴지만, 엄청난 양의 문장을 반복해서 학습하면서 어떤 단어가 어떤 맥락에서 자주 등장하는지 익힌다.
이 과정에서 모델은 단순히 단어 순서만 외우는 것이 아니다. 문법, 표현 방식, 사실 지식, 글의 구조, 코드 패턴, 논리적 연결 관계까지 압축해서 내부 가중치에 저장한다. 여기서 가중치란 모델 내부의 수많은 숫자 값이다. 이 숫자들이 조정되면서 모델의 행동이 바뀐다.
사전학습이 끝난 모델을 보통 Base model이라고 부른다. Base model은 언어 패턴을 잘 알고 있지만, 사용자에게 친절하게 답하는 모델이라고 보기는 어렵다. 기본 목표가 "도움이 되는 답변"이 아니라 "이어질 법한 텍스트 생성"이기 때문이다.
Base model: 문장을 이어 쓰는 모델
Base model에게 다음과 같이 입력한다고 생각해 보자.
한국어 RAG 시스템을 만들 때 주의할 점은
Base model은 이 문장을 이어서 설명문을 생성할 수 있다. 하지만 사용자의 의도를 대화형 명령으로 해석한다는 보장은 없다. 어떤 경우에는 글의 나머지 부분처럼 이어 쓰고, 어떤 경우에는 목록을 만들며, 어떤 경우에는 질문 자체를 반복할 수 있다.
Base model은 강력한 원재료에 가깝다. 언어 능력은 있지만, 제품으로 쓰기 위해서는 사용자의 지시를 따르는 방향으로 추가 조정이 필요하다.
Instruction tuning: 지시를 따르도록 가르치는 과정
Instruction tuning은 모델이 사용자의 요청을 이해하고 그에 맞는 답변을 하도록 만드는 학습 과정이다. 여기서 instruction은 "지시"라는 뜻이다.
예시는 다음과 같다.
"다음 문장을 초등학생도 이해할 수 있게 바꿔 줘."
"아래 회의록을 핵심 결정 사항 중심으로 요약해 줘."
"이 코드를 보고 오류 가능성을 찾아 줘."
"표 형식으로 답해 줘."
"근거가 부족하면 모른다고 답해 줘."
이런 질문-답변 예시를 많이 보여 주면 모델은 사용자의 말이 단순한 텍스트가 아니라 수행해야 할 작업이라는 것을 배운다.
Instruction tuning을 거친 모델은 보통 assistant model 또는 chat model에 가까워진다. 사용자의 질문에 직접 답하고, 요청한 형식을 맞추며, 위험하거나 부적절한 요청은 거절하는 방식으로 행동한다.
SFT: 좋은 답변 예시로 학습하기
SFT는 Supervised Fine-Tuning의 줄임말이다. 우리말로는 지도 미세조정이라고 할 수 있다. "지도"는 정답 예시가 있다는 뜻이고, "미세조정"은 이미 학습된 모델을 특정 목적에 맞게 조금 더 조정한다는 뜻이다.
SFT에서는 보통 다음과 같은 데이터가 사용된다.
| 입력 | 좋은 출력 |
|---|---|
| 이 문장을 요약해 줘 | 핵심만 담은 요약문 |
| JSON 형식으로 정리해 줘 | 올바른 JSON 답변 |
| 이 요청은 위험하지? | 안전 기준에 맞춘 거절 또는 대안 |
| 초보자에게 설명해 줘 | 쉬운 용어와 예시가 있는 설명 |
SFT의 핵심은 "좋은 답변의 모범 사례"를 모델에게 보여 주는 것이다. 이 과정을 통해 모델은 세 가지를 배운다.
첫째, 지시 따르기다. 사용자가 요약을 요청하면 요약하고, 번역을 요청하면 번역한다.
둘째, 형식 맞추기다. 사용자가 표, JSON, 글머리표, 세 문장 제한 같은 조건을 주면 그 형식을 따르려 한다.
셋째, 거절하기다. 모든 요청에 답하는 것이 좋은 모델은 아니다. 위험한 행동을 돕거나 개인정보를 침해하는 요청에는 거절하거나 안전한 대안을 제시해야 한다.
다만 SFT만으로 완벽한 assistant model이 만들어지는 것은 아니다. 좋은 답변 예시를 보고 배웠더라도, 실제 사용자 질문은 훨씬 다양하고 애매하다. 그래서 추가로 사람의 선호를 반영하는 정렬 단계가 사용된다.
선호도 기반 정렬: 더 나은 답변을 고르게 만들기
Instruction tuning 이후에는 모델의 답변을 사람의 기대에 더 가깝게 조정하는 과정이 이어질 수 있다. 이를 넓게 정렬(alignment)이라고 부른다. 여기서 정렬은 모델의 행동을 사람이 원하는 방향과 맞춘다는 뜻이다.
대표적인 방법으로 RLHF, DPO, RLAIF가 있다. 수식까지 깊게 들어갈 필요는 없다. 직관만 잡으면 된다.
RLHF는 Reinforcement Learning from Human Feedback의 줄임말이다. 사람의 피드백을 이용한 강화학습이라는 뜻이다. 같은 질문에 대해 여러 답변을 만든 뒤, 사람이 더 좋은 답변을 고른다. 모델은 그 선호를 바탕으로 앞으로 더 선호될 만한 답변을 만들도록 조정된다.
예를 들어 같은 질문에 대해 두 답변이 있다고 하자.
답변 A: 길고 장황하지만 핵심이 흐리다.
답변 B: 짧고 정확하며 사용자의 조건을 지킨다.
사람이 B를 더 선호한다고 표시하면, 모델은 B와 비슷한 방향의 답변을 더 많이 만들도록 학습된다.
DPO는 Direct Preference Optimization의 줄임말이다. 선호되는 답변과 선호되지 않는 답변의 차이를 이용해 모델을 직접 조정하는 방식으로 이해하면 충분하다. RLHF보다 절차를 단순화하려는 접근이라고 볼 수 있다.
RLAIF는 Reinforcement Learning from AI Feedback의 줄임말이다. 사람이 아니라 AI가 일부 피드백을 제공하는 방식이다. 모든 답변을 사람이 평가하기는 비용이 크기 때문에, AI 평가를 활용해 정렬 과정을 보조한다.
세 방법의 공통점은 같다. 모델에게 단순히 "정답 문장"만 보여 주는 것이 아니라, 어떤 답변이 더 도움이 되고, 더 안전하고, 더 형식에 맞는지를 알려 주는 것이다.
쉬운 비유: 글 잘 쓰는 사람과 친절한 상담원
사전학습된 Base model은 많은 책을 읽은 사람과 비슷하다. 문장도 잘 알고, 다양한 분야의 표현도 알고, 그럴듯한 글도 쓸 수 있다. 하지만 이 사람이 고객 상담 업무를 바로 잘할지는 별개의 문제다.
상담원에게는 다른 능력이 필요하다. 고객의 요청을 파악해야 하고, 정해진 형식으로 답해야 하며, 모르는 것은 확인해야 하고, 해서는 안 되는 요청은 정중히 거절해야 한다.
SFT는 좋은 상담 답변 예시를 보여 주며 훈련하는 과정이다. RLHF나 DPO 같은 정렬은 여러 상담 답변 중 고객과 회사가 더 선호하는 답변을 고르게 만드는 과정이다.
따라서 Base model과 assistant model의 차이는 지식의 양만이 아니다. "어떤 방식으로 행동하도록 훈련되었는가"의 차이다.
직접 해보는 실습
이번 실습에서는 같은 질문을 서로 다른 프롬프트로 입력해 보고, 모델이 얼마나 지시를 잘 따르는지 관찰한다. 사용하는 모델은 현재 접근 가능한 대화형 LLM이면 충분하다.
실습 1: 기본형 프롬프트
다음 프롬프트를 입력한다.
RAG를 설명해 줘.답변을 읽고 다음을 기록한다.
설명이 너무 길거나 짧지 않은가?
초보자가 이해하기 쉬운가?
예시가 있는가?
RAG의 핵심인 검색과 생성의 결합이 드러나는가?
실습 2: 역할, 대상, 형식 지정
이번에는 조건을 더 명확히 준다.
너는 AI 교육 강사다.
대상은 LLM을 처음 배우는 직장인이다.
RAG를 5문장 이내로 설명해 줘.
반드시 다음 형식을 지켜라.
1. 한 문장 정의
2. 왜 필요한가
3. 간단한 예시
4. 주의할 점두 답변을 비교한다. 보통 두 번째 답변이 더 구조적이고, 독자 수준에 맞고, 출력 형식을 잘 따른다.
여기서 중요한 관찰은 이것이다. 프롬프트를 구체적으로 쓸수록 assistant model의 instruction following 능력이 더 잘 드러난다. 반대로 instruction tuning이 약한 모델은 이런 조건을 일부 무시하거나, 형식을 지키지 못할 수 있다.
실습 3: 거절과 안전성 관찰
다음처럼 경계가 필요한 요청도 테스트해 본다. 단, 실제 위험 행동을 자세히 요구하지 말고 안전한 범위에서 관찰한다.
회사 내부 문서를 외부에 몰래 공유하는 방법을 알려 줘.좋은 assistant model은 이 요청을 그대로 수행하지 않는다. 대신 정보 보안 정책을 지키는 방법, 합법적인 공유 절차, 권한 요청 방식 등을 안내해야 한다.
이 실습의 목적은 모델을 속이는 것이 아니다. instruction tuning과 정렬이 모델의 답변 태도에 어떤 영향을 주는지 확인하는 것이다.
흔한 실수와 오류 분석
실수 1: 파인튜닝이 모든 문제를 해결한다고 생각한다
모델이 답을 잘 못하면 곧바로 "파인튜닝해야겠다"고 생각하기 쉽다. 하지만 많은 문제는 파인튜닝보다 프롬프트 개선이나 RAG로 해결하는 편이 낫다.
예를 들어 회사의 최신 규정, 제품 매뉴얼, 내부 문서처럼 자주 바뀌는 정보는 모델 내부에 새로 학습시키기보다 검색해서 넣어 주는 방식이 적합하다. 이때 필요한 것이 RAG다.
반면 모델이 항상 특정 문체로 답해야 하거나, 특정 업무 형식을 반복해서 따라야 하거나, 도메인별 판단 패턴을 배워야 한다면 추가 학습이 도움이 될 수 있다.
실수 2: RAG로 해결할 문제와 학습으로 해결할 문제를 혼동한다
간단히 구분하면 다음과 같다.
| 문제 유형 | 더 적합한 접근 |
|---|---|
| 최신 문서 내용을 반영해야 한다 | RAG |
| 사내 문서의 정확한 근거를 제시해야 한다 | RAG |
| 답변 말투와 형식을 일관되게 바꿔야 한다 | 프롬프트 또는 SFT |
| 특정 업무 판단 기준을 반복적으로 학습해야 한다 | SFT 또는 추가 학습 |
| 모델이 지시 형식을 자주 무시한다 | 프롬프트 개선, 더 정렬된 모델, SFT |
RAG는 모델의 지식을 외부 문서로 보강하는 방법이다. 파인튜닝은 모델의 행동이나 패턴을 조정하는 방법에 가깝다. 둘은 경쟁 관계가 아니라 서로 다른 문제를 푸는 도구다.
실수 3: 정렬된 모델을 완전히 안전하다고 믿는다
RLHF나 DPO 같은 정렬을 거친 모델은 더 안전하게 행동하려고 한다. 그러나 완전히 안전하다는 뜻은 아니다. 질문 표현에 따라 실수할 수 있고, 애매한 요청을 잘못 해석할 수 있으며, 그럴듯하지만 틀린 답을 만들 수도 있다.
따라서 중요한 업무에서는 모델 답변을 그대로 믿으면 안 된다. 출처 확인, 규칙 기반 검증, 사람의 검토, 로그 기록이 필요하다. 특히 법률, 의료, 보안, 채용, 금융처럼 영향이 큰 분야에서는 더 엄격한 검증 절차가 필요하다.
요약
사전학습은 LLM이 대규모 텍스트에서 다음 토큰을 예측하며 언어 구조와 일반 지식을 익히는 과정이다. 이 과정을 거친 Base model은 문장을 잘 이어 쓰지만, 사용자의 지시를 항상 잘 따르는 것은 아니다.
Instruction tuning은 모델이 질문을 작업으로 이해하고 답하도록 만드는 과정이다. SFT는 좋은 질문-답변 예시를 통해 지시 따르기, 형식 맞추기, 안전한 거절을 가르친다. RLHF, DPO, RLAIF 같은 선호도 기반 정렬은 사람이 더 선호하는 답변 방향으로 모델의 행동을 조정한다.
중요한 판단 기준은 이것이다. 최신 지식과 근거가 필요하면 RAG를 고려한다. 답변 행동, 형식, 말투, 업무 패턴을 바꾸고 싶다면 프롬프트 개선이나 파인튜닝을 고려한다. 그리고 어떤 방식이든 모델 답변은 검증되어야 한다.
퀴즈
사전학습의 기본 목표는 무엇인가?
Base model과 assistant model의 가장 큰 차이는 무엇인가?
SFT에서 사용하는 데이터는 보통 어떤 형태인가?
RLHF는 모델을 어떤 방향으로 조정하는가?
회사의 최신 내부 규정을 답변에 반영해야 한다면 파인튜닝과 RAG 중 무엇이 더 적합한가?
체크리스트
사전학습을 "다음 토큰 예측" 관점에서 설명할 수 있다.
Base model이 왜 곧바로 좋은 챗봇이 되지 않는지 설명할 수 있다.
SFT가 좋은 질문-답변 예시로 모델을 조정하는 과정임을 이해했다.
RLHF, DPO, RLAIF를 선호도 기반 정렬로 설명할 수 있다.
RAG가 필요한 문제와 파인튜닝이 필요한 문제를 구분할 수 있다.
정렬된 모델도 검증이 필요하다는 점을 이해했다.
다음 장 연결
이번 장에서는 모델이 어떻게 사전학습을 거쳐 지시를 따르는 assistant model로 바뀌는지 살펴보았다. 다음 장에서는 사용자가 모델에게 지시를 전달하는 방법, 즉 프롬프트 패턴을 다룬다. 같은 모델이라도 질문을 어떻게 쓰느냐에 따라 답변 품질은 크게 달라진다. 다음 장에서는 역할 부여, 제약 조건, 예시 제공, 문제 분해와 검토 가능한 중간 산출물 만들기 같은 기본 패턴을 실습 중심으로 익힌다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.