Fine-Tuning란 무엇인가요?

Fine-tuning is the process of further training a pre-trained machine learning model on a smaller, task-specific dataset to adapt its behavior for a particular use case. It adjusts the model's internal parameters so it produces more accurate, relevant, or stylistically aligned outputs than the base model alone.

파인튜닝이란 이미 대규모 데이터 말뭉치 — 흔히 GPT나 LLaMA 계열의 대규모 언어 모델 — 로 학습된 모델을 가져와 더 작고 신중히 선별된 데이터셋으로 학습을 이어가는 것을 말합니다. 목표는 모델의 행동을 더 좁은 범위로 유도하는 것입니다. 예를 들어 의료 질문에 답하게 하거나, 특정한 브랜드 어조로 글을 쓰게 하거나, 특정 프레임워크의 코드를 생성하게 하거나, 구조화된 출력 형식을 안정적으로 따르게 하는 것이죠.

처음부터 학습하는 것과 달리, 파인튜닝은 무작위 가중치가 아니라 이미 학습된 표현에서 출발합니다. 문법, 추론, 세계 지식과 같은 핵심 학습은 이미 완료된 상태이므로, 파인튜닝은 일반적으로 훨씬 적은 데이터와 컴퓨팅으로 목표 작업에서 의미 있는 개선을 이끌어낼 수 있습니다.

파인튜닝의 작동 원리

실무에서 엔지니어들은 모델이 보여주길 원하는 행동을 대표하는 예시 입력과 기대 출력으로 구성된 데이터셋을 준비합니다. 고객 지원 어시스턴트라면 수백에서 수천 건의 과거 티켓 처리 사례가 될 수 있고, 코드 리뷰 도구라면 풀 리퀘스트와 리뷰어 코멘트의 쌍이 될 수 있습니다. 그런 다음 사전 학습된 모델은 이 데이터셋에 대해 추가 학습 패스를 수행하고, 표준 그래디언트 기반 최적화를 통해 가중치가 갱신되어 예측 출력과 목표 출력 사이의 손실이 줄어들게 됩니다.

간단한 비유를 들어보겠습니다. 범용 파운데이션 모델을 모든 교과서를 읽어 본 의사 인턴이라고 상상해 보세요. 파인튜닝은 그들을 방사선과 전문의로 만들어 주는 레지던시 과정입니다. 기본적으로 가진 지식은 그대로 유지되지만, 일상적인 의사 결정은 한 도메인에 날카롭게 집중됩니다.

왜 중요한가

파인튜닝은 팀이 범용 모델을 신뢰할 수 있는 제품 구성 요소로 전환할 때 사용하는 핵심 수단입니다. 틈새 작업의 정확도를 높이고, 사내 문체를 강제하며, 정의된 범위에서 환각을 줄이고, 도구 사용 패턴을 가르치며, 안전 및 컴플라이언스 요구 사항에 맞게 출력을 정렬할 수 있습니다. 독점 데이터나 도메인 전문 지식을 보유한 조직에게는 프롬프트에만 의존하지 않고 그 지식을 모델 자체에 내장할 수 있는 방법을 제공합니다.

경제적 가치도 큽니다. 더 작은 파인튜닝된 오픈 모델이 특정 워크플로에서 훨씬 큰 범용 모델의 품질에 필적하는 경우가 많아, 대규모 추론 시 비용을 절감할 수 있습니다.

주요 유형

  • 지도 파인튜닝(SFT): 레이블된 입력–출력 쌍으로 학습하여 특정 기술이나 형식을 가르치는 방식.
  • 지시 튜닝: 다양한 작업에서 자연어 지시를 따르도록 모델을 학습시키는 SFT의 광범위한 형태.
  • 매개변수 효율적 파인튜닝(예: LoRA, QLoRA): 대부분의 가중치를 고정하고 작은 어댑터 층만 학습하여 컴퓨팅과 저장 비용을 절감하는 방식.
  • 인간 피드백 기반 강화 학습(RLHF): 인간의 선호도 순위를 활용해 지도 학습 사례를 넘어 모델을 추가로 정렬하는 방식.
  • 사전 학습 계속 이어가기: 작업별 SFT에 앞서 원시 도메인 텍스트로 비지도 파인튜닝을 수행해 어휘와 지식을 주입하는 방식.

파인튜닝은 프롬프트와 검색만으로는 품질 기준을 안정적으로 충족할 수 없거나, 지연 시간이나 비용 때문에 매우 큰 모델을 사용할 수 없거나, 원하는 동작이 베이스 모델이 거의 접하지 못한 패턴에 의존할 때 가장 유용합니다. 이해하기 쉬운 개요는 Hugging Face의 학습 문서를, 지시 따르기 모델의 원조가 된 레시피는 FLAN 논문을 참고하세요.

Frequently Asked Questions

How is fine-tuning different from prompt engineering?
Prompt engineering steers a model's behavior at inference time by changing only the input text, without altering the model itself. Fine-tuning actually updates the model's weights by running additional training on a curated dataset. Prompting is faster and cheaper; fine-tuning is more powerful when the desired behavior must be applied consistently across many queries or when it depends on patterns the base model doesn't reliably produce.
How much data do you need to fine-tune a model?
It depends on the task and the method. Full fine-tuning of a large model can require thousands to tens of thousands of high-quality examples. Parameter-efficient methods like LoRA can produce useful results with a few hundred well-chosen examples, especially when the base model already has strong general capabilities. Data quality consistently matters more than raw quantity.
What is LoRA fine-tuning?
LoRA (Low-Rank Adaptation) is a parameter-efficient fine-tuning method that freezes the original model weights and trains only small, low-rank matrices added to each layer. This typically reduces the trainable parameters by more than 90%, making fine-tuning feasible on a single GPU and producing adapters that are only a few megabytes in size.
Does fine-tuning make a model forget what it already knows?
It can. Known as catastrophic forgetting, this happens when fine-tuning on a narrow dataset overwrites earlier capabilities. Practitioners mitigate it by mixing in general-domain data, using a low learning rate, limiting training epochs, and evaluating the model on both the new task and a broader benchmark suite before deployment.