자연어처리(NLP)에서 사전학습(Pre-training)과 미세조정(Fine-tuning)은 이제 표준 절차가 되었죠. 그런데 미세조정 단계에서 손실 함수(Loss function)를 꼭 하나만 써야 할까요?
이번 글에서는 GPT 논문 "Improving Language Understanding by Generative Pre-Training"을 바탕으로,
지도학습 손실(supervised loss)과 언어모델링 손실(language modeling loss)의 차이를 비교하고,
두 손실을 함께 쓰는 이유를 명확하게 설명해보겠습니다.
딥러닝에서 손실 함수는 모델이 얼마나 틀렸는지를 수치로 평가하는 기준입니다.
훈련의 목표는 이 손실을 줄이는 것이죠.
입력과 정답이 쌍으로 주어졌을 때, 모델이 정답을 잘 맞히도록 학습시키는 방식입니다.
대표적인 분류(classification) 문제에 해당하죠.
입력 문장: "The movie was great!"
정답 레이블: "positive"
모델은 문장을 보고 "positive"일 확률을 softmax로 계산하고,
이 확률이 높아지도록 log likelihood를 최대화합니다.
요약
다음 단어를 예측하는 형태의 손실로, 사전학습 단계에서 주로 사용됩니다.
정답 레이블이 따로 없어도, 텍스트 자체에서 학습할 수 있다는 장점이 있죠.
"The cat sat on the ___" → 정답: "mat"
모델은 "mat"
이 나올 확률을 예측하며,
이 확률이 높아지도록 -log P("mat")
을 최소화합니다.
요약
논문에서는 fine-tuning 시 지도학습 손실(L₂) + 언어모델링 손실(L₁)을 함께 사용하는 것이 성능을 높인다고 보고합니다.
지도학습 손실만 사용하면:
특정 태스크에만 과적합될 가능성 있음
언어모델링 손실을 보조로 쓰면:
언어의 일반 문맥 정보가 유지됨
학습 수렴 속도도 빨라짐
는 두 손실 간의 균형을 조절하는 하이퍼파라미터입니다.
손실 종류 | 비유 |
---|---|
언어모델링 손실 | 아이가 책을 많이 읽으며 언어 감각을 기르는 과정 |
지도학습 손실 | 시험 문제 유형을 반복 학습하는 과정 |
둘 다 사용할 때 | 독해력도 높고, 문제 풀이도 잘하는 학생이 됨! |
구분 | 지도학습 손실 () | 언어모델링 손실 () |
---|---|---|
목적 | 정답 맞히기 | 다음 단어 예측 |
입력 | 입력 + 정답 라벨 | 단순 텍스트 시퀀스 |
사용 시점 | Fine-tuning | Pre-training + 보조 목적 |
예시 | 감성 분류 | 문장 생성 |
장점 | Task 특화 | 문맥 강화, 일반화 도움 |
언어모델을 fine-tuning 할 때 단순히 task용 손실 하나만 쓰는 게 정답은 아닙니다.
언어모델링 손실을 보조로 같이 쓰면, 모델이 언어적 감각을 유지한 채 더 빠르고 정확하게 태스크를 학습할 수 있습니다.
앞으로 언어모델을 fine-tune할 때, 손실 함수 구성도 전략적으로 선택해보시길 추천합니다.