Back to Blog
Fine-tuningFull Fine-tuningSFTSupervised Learning

0x08. Fine-tuning - 사전 학습 모델을 내 것으로

사전 학습된 LLM을 특정 작업에 맞게 조정하는 Fine-tuning 기법들을 정리한다.

GPT, LLaMA 같은 대규모 언어 모델(LLM)은 인터넷의 방대한 텍스트를 학습해 범용적인 언어 능력을 갖추고 있다. 그런데 이 모델에게 "우리 회사 고객 문의에 답변해줘"라고 하면 어떨까? 아마 그럴듯하지만 엉뚱한 답변을 내놓을 가능성이 높다.

사전 학습(Pre-training)은 언어 자체를 이해하는 단계이고, 파인튜닝(Fine-tuning)은 그 위에 특정 작업을 가르치는 단계다. 요리에 비유하면, 사전 학습은 기본 칼질과 불 조절을 익히는 과정이고, 파인튜닝은 특정 레시피를 연습하는 과정이다. 아무리 기본기가 좋아도 한식 조리법을 따로 배우지 않으면 김치찌개를 제대로 끓일 수 없다.

이 글에서는 Fine-tuning의 대표적인 두 가지 방식인 Full Fine-tuning과 **SFT(Supervised Fine-tuning)**를 정리한다.


Fine-tuning이란?

Fine-tuning은 사전 학습된 모델의 파라미터를 새로운 작업에 맞게 추가 학습시키는 과정이다.

사전 학습 모델은 "범용 지식"을 갖고 있고, Fine-tuning은 그 지식을 "특정 도메인"에 맞게 조율한다.

핵심은 처음부터 학습하는 것이 아니라, 이미 학습된 지식을 기반으로 효율적으로 새로운 능력을 부여한다는 점이다. 수십억 개의 파라미터를 처음부터 학습하려면 천문학적인 비용이 들지만, Fine-tuning은 상대적으로 적은 데이터와 연산으로도 원하는 성능을 달성할 수 있다.

Fine-tuning의 방식은 다양하지만, 크게 얼마나 많은 파라미터를 수정하느냐에 따라 나뉜다. 모든 파라미터를 수정하는 Full Fine-tuning부터, 일부만 수정하는 PEFT(Parameter-Efficient Fine-tuning)까지 스펙트럼이 넓다. 또한 어떤 형태의 데이터를 사용하느냐에 따라서도 구분되는데, 지도 학습 기반의 SFT가 대표적이다.


Full Fine-tuning

Full Fine-tuning은 이름 그대로 사전 학습된 모델의 모든 파라미터를 재학습하는 방식이다.

작동 원리

새로운 작업 데이터셋을 사용하여 모델의 전체 레이어(layer)의 가중치(weight)를 업데이트한다. 이때 중요한 점은 **작은 학습률(small learning rate)**을 사용한다는 것이다.

왜 작은 학습률을 쓸까? 사전 학습에서 이미 좋은 위치에 도달한 파라미터들을 크게 움직이면, 기존에 학습한 유용한 지식까지 망가질 수 있기 때문이다. 마치 잘 조율된 피아노를 미세하게 재조율하는 것과 같다. 큰 폭으로 건드리면 전체 음이 틀어진다.

장점

최적의 성능(Optimal Performance): 모든 파라미터를 자유롭게 조정하므로, 새로운 작업에 대해 **가장 높은 정확도(High Accuracy)**를 달성할 수 있다. 모델이 가진 표현력을 제한 없이 활용하기 때문에, 파라미터 일부만 조정하는 방식보다 이론적으로 더 나은 결과를 낼 수 있다.

단점

Full Fine-tuning이 항상 최선은 아니다. 오히려 실무에서는 단점이 무시할 수 없을 만큼 크다.

높은 컴퓨팅 자원(High Computing Resources): 수십억~수천억 개의 파라미터를 모두 업데이트해야 하므로, 고성능 GPU가 다수 필요하다. GPT-3 규모(1750억 파라미터)의 모델을 Full Fine-tuning하려면 수백 GB의 GPU 메모리가 필요하다.

치명적 망각(Catastrophic Forgetting): 가장 큰 위험 요소다. 새로운 작업에 집중하여 학습하다 보면, 이전에 학습한 범용 지식을 잊어버리는 현상이 발생한다. 예를 들어, 의료 데이터로 Fine-tuning한 모델이 일반적인 대화 능력을 상실하는 경우가 이에 해당한다.

느린 학습 속도(Slow Training): 전체 파라미터를 업데이트하므로 학습 시간이 길다. 역전파(Backpropagation) 과정에서 모든 레이어의 기울기(gradient)를 계산해야 하기 때문이다.

큰 저장 공간(Storage Space): 각 작업마다 전체 모델의 복사본을 별도로 저장해야 한다. 10가지 작업에 Fine-tuning하면 10개의 전체 모델을 보관해야 하므로, 저장 비용이 선형적으로 증가한다.


SFT (Supervised Fine-tuning)

SFT는 지도 학습(Supervised Learning) 방식으로 Fine-tuning하는 기법이다. 명확한 입출력 쌍을 제공하여 모델이 "이런 입력에는 이렇게 응답해야 한다"를 직접 학습하게 한다.

데이터셋 구조

SFT의 핵심은 (프롬프트, 이상적인 응답) 쌍으로 구성된 데이터셋이다.

[입력] "이 리뷰의 감정을 분석해줘: 배송이 너무 느려서 실망했어요"
[출력] "부정적 (배송 속도에 대한 불만)"

[입력] "다음 문장을 영어로 번역해줘: 오늘 날씨가 좋다"
[출력] "The weather is nice today."

모델은 이 쌍들을 학습하면서, 주어진 프롬프트에 대해 이상적인 응답 패턴을 익힌다. 사전 학습이 "언어를 이해하는 법"을 가르쳤다면, SFT는 "이 형식으로 대답하는 법"을 가르치는 셈이다.

장점

직관적(Intuitive): 원하는 입출력을 직접 보여주는 방식이므로, 개념적으로 이해하기 쉽고 구현도 비교적 단순하다. "이 질문에는 이렇게 대답해"라는 명확한 시그널을 모델에 제공하는 것이다.

작업 성능 향상(Improves Task Performance): 특정 작업에 대한 고품질 데이터를 학습하면, 해당 작업의 성능이 눈에 띄게 향상된다. 감정 분석, 요약, 번역 등 명확한 정답이 있는 작업에서 특히 효과적이다.

단점

데이터셋 구축 비용(Dataset Construction Cost): SFT의 가장 큰 병목이다. 고품질의 (프롬프트, 응답) 쌍을 대량으로 만들려면, 도메인 전문가의 수작업이 필요하다. 의료, 법률 같은 전문 분야에서는 데이터 한 건을 만드는 데도 상당한 시간과 비용이 들 수 있다.

제한적 일반화(Limited Generalization): 학습 데이터에 포함된 패턴에는 강하지만, 학습 데이터 분포를 벗어난 입력에는 성능이 급격히 떨어질 수 있다. 고객 문의 응답으로만 학습한 모델은 기술 문서 작성에는 약할 수 있다.

치명적 망각 위험(Catastrophic Forgetting Risk): Full Fine-tuning과 마찬가지로, 특정 작업에 과도하게 최적화되면 범용적인 언어 능력이 저하될 수 있다. 이 문제는 Fine-tuning 방식을 불문하고 공통적으로 나타나는 도전 과제다.


Full Fine-tuning vs SFT

두 기법은 서로 다른 축에서 Fine-tuning을 분류한 것이다.

구분Full Fine-tuningSFT
분류 기준수정하는 파라미터의 범위학습 데이터의 형태
핵심모든 파라미터를 업데이트(입력, 출력) 쌍으로 지도 학습
관계SFT를 Full Fine-tuning으로 수행 가능Full/PEFT 어느 방식이든 적용 가능
주요 과제컴퓨팅 비용, 저장 공간데이터셋 구축 비용
공통 위험Catastrophic ForgettingCatastrophic Forgetting

중요한 점은 이 둘이 상호 배타적이지 않다는 것이다. SFT는 학습 방법론(지도 학습 기반)이고, Full Fine-tuning은 학습 범위(전체 파라미터)다. 따라서 "SFT를 Full Fine-tuning 방식으로 수행한다"는 표현이 성립한다. 반대로 SFT를 LoRA 같은 PEFT 방식으로 수행할 수도 있다.


Catastrophic Forgetting: 공통된 적

두 기법 모두에서 반복적으로 등장하는 **치명적 망각(Catastrophic Forgetting)**은 Fine-tuning에서 가장 중요한 도전 과제 중 하나다.

이 현상은 신경망이 새로운 정보를 학습할 때, 이전에 학습한 정보를 급격히 잊어버리는 것을 의미한다. 영어를 잘하던 사람이 프랑스어만 집중 학습하다가 영어 실력이 떨어지는 것과 비슷하다.

이를 완화하기 위한 대표적인 전략들이 있다.

  • 정규화(Regularization): 파라미터 변화량에 제약을 두어 기존 지식 보존
  • 데이터 혼합(Data Mixing): 새 작업 데이터에 기존 학습 데이터를 섞어서 함께 학습
  • PEFT 기법 활용: LoRA, Adapter 등 일부 파라미터만 수정하여 기존 지식 손상 최소화

정리

Fine-tuning은 사전 학습된 모델을 특정 작업에 맞게 조정하는 핵심 과정이다.

  • Full Fine-tuning은 모든 파라미터를 수정하여 최고 성능을 추구하지만, 비용과 망각의 위험이 크다
  • SFT는 (프롬프트, 응답) 쌍으로 직관적으로 학습시키지만, 데이터 구축이 병목이 된다
  • 두 기법은 서로 다른 분류 축에 있으며, 조합하여 사용할 수 있다
  • Catastrophic Forgetting은 어떤 Fine-tuning이든 고려해야 할 공통 과제다

실무에서는 Full Fine-tuning의 비용 문제를 해결하기 위해 LoRA, QLoRA 같은 PEFT 기법이 널리 사용되고 있다. 다음 글에서는 이러한 효율적 Fine-tuning 기법들을 다뤄본다.