Fine-tuning (deep learning) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

파인튜닝 (영어: Fine-tuning), 세밀 조정이라고도 불리며, 이는 머신러닝에서의 전이 학습(transfer learning) 기법으로, 사전 학습된 모델(pre-trained model)의 매개변수를 새로운 특정 과제에 맞게 적응시키는 방법입니다. 모델을 처음부터 학습시키는 것은 방대한 양의 데이터와 계산 자원을 필요로 하지만, 파인튜닝은 이미 모델의 가중치에 인코딩된 지식을 활용하여 특정 목적에 맞게 '조정'할 수 있게 해줍니다.

이 접근 방식은 딥러닝 분야, 특히 대형 언어 모델(LLM) 및 컴퓨터 비전 모델을 다룰 때 사실상의 표준이 되었습니다.

개념

파인튜닝 과정은 두 가지 주요 단계로 나눌 수 있습니다:

1. 사전 학습 (Pre-training): 모델(예: BERT 또는 GPT)은 매우 크고 일반적인 데이터셋(예: 전체 인터넷)에서 자기 지도 학습 과제(예: 다음 단어 예측)를 사용하여 학습됩니다. 이 단계에서 모델은 일반적인 패턴, 구문, 의미론, 세계 지식을 습득합니다.

2. 파인튜닝 (Fine-tuning): 사전 학습된 모델을 기반으로 삼고, 목표 과제에 특화된 소규모의 레이블링된 데이터셋에서 가중치를 미세 조정합니다.

핵심 아이디어는 사전 학습 단계에서 획득한 지식이 범용적이며, 더 좁은 범위의 다양한 다른 과제들을 해결하는 데 성공적으로 전이될 수 있다는 것입니다.

파인튜닝 과정

일반적인 파인튜닝 과정은 다음 단계들을 포함합니다:

1. 사전 학습 모델 선택: 기본 능력이 목표 과제에 적합한 모델을 선택합니다(예: 텍스트 이해 과제에는 BERT, 생성 과제에는 GPT).

2. 아키텍처 적응: 사전 학습된 모델에 목표 과제에 특화된 새로운 '헤드(head)' 레이어를 추가합니다. 예를 들어:

  • 텍스트 분류의 경우, softmax 함수를 가진 단순한 완전 연결 레이어를 추가합니다.
  • 개체명 인식 (NER)의 경우, 각 token의 출력에 분류기를 추가합니다.

3. 목표 데이터셋에서의 학습: 전체 모델(또는 일부)이 새로운 레이블링된 데이터셋에서 학습됩니다. 이 단계에서는 사전 학습된 레이어의 가중치를 포함한 모델의 가중치가 새로운 과제에서 손실 함수를 최소화하기 위해 경사 하강법으로 업데이트됩니다. 4. 낮은 학습률 사용: 파인튜닝 시에는 사전 학습 때보다 훨씬 낮은 학습률을 사용하는 것이 일반적입니다. 이는 모델의 가중치에 이미 인코딩된 유용한 지식을 '파괴'하지 않고 신중하게 조정하기 위함입니다.

파인튜닝의 유형

전체 파인튜닝 (Full Fine-tuning)

  • 원리: 사전 학습된 모델의 모든 매개변수를 새로운 '헤드' 레이어와 함께 업데이트합니다.
  • 장점: 전체 모델이 새로운 과제에 적응하므로 잠재적으로 최상의 성능을 제공합니다.
  • 단점: 모든 매개변수에 대한 기울기를 저장하고 업데이트해야 하므로 상당한 계산 자원과 메모리가 필요합니다. 모델이 사전 학습 중에 획득한 일반적인 지식을 '잊어버리는' 파국적 망각(catastrophic forgetting)의 위험이 있습니다.

매개변수 효율적 파인튜닝 (Parameter-Efficient Fine-Tuning, PEFT)

이는 파인튜닝 시 계산 비용을 줄이는 것을 목표로 하는 방법들의 집합입니다. 핵심 아이디어는 사전 학습된 모델의 대부분의 매개변수를 고정(freeze)하고 소수의 새로운 또는 선택된 기존 매개변수만 학습시키는 것입니다.

  • PEFT 방법의 예시:
    • 어댑터 (Adapters): Transformer 아키텍처 내에 소규모의 추가적인 어댑터 레이어를 삽입하고 해당 레이어만 학습시킵니다.
    • LoRA (Low-Rank Adaptation): 전체 가중치 행렬을 업데이트하는 대신, LoRA는 저순위(low-rank) 업데이트를 학습합니다. 이를 통해 학습 가능한 매개변수 수를 수천 배 줄일 수 있습니다.
    • 프롬프트 튜닝 (Prompt Tuning): 입력 데이터에 학습 가능한 벡터-'프롬프트'를 추가하여 과제 해결을 위해 조정하며, 모델 자체는 고정된 상태를 유지합니다.
  • PEFT의 장점:
    • 효율성: 메모리 및 계산 요구사항을 크게 줄입니다.
    • 모듈성: 각 과제에 대한 소규모의 적응된 가중치 세트만 저장하여 하나의 사전 학습 모델을 여러 과제에 쉽게 적응시킬 수 있습니다.

지시 튜닝 (Instruction Tuning)

이는 자연어 지시를 따르는 LLM의 능력을 향상시키기 위한 특수한 유형의 파인튜닝입니다.

  • 작동 원리: 모델은 '지시 — 원하는 출력' 쌍으로 구성된 데이터셋에서 파인튜닝됩니다.
  • 목적: 지시 형태로 설명될 수 있는 새롭고 이전에 본 적 없는 과제에 대한 모델의 일반화 능력을 향상시킵니다. InstructGPT 및 FLAN-T5와 같은 모델들이 이 접근 방식의 대표적인 예입니다.

참고 문헌

  • Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
  • Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
  • Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
  • Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
  • Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
  • Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.

같이 보기

  • 대형 언어 모델
  • BERT
  • GPT