PEFT (Parameter-Efficient Fine-Tuning) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

파라미터 효율적 미세 조정 (영어: Parameter-Efficient Fine-Tuning, PEFT) — 대형 언어 모델(LLM)과 같은 대규모 사전 학습 모델을 최소한의 연산 및 자원 비용으로 특정 작업에 적응시키는 방법론의 총칭입니다. 모델의 모든 파라미터를 업데이트해야 하는 전통적인 완전 미세 조정 (full fine-tuning)과 달리, PEFT 방법론은 전체 가중치 중 극히 일부(전체의 1~5% 미만)만 수정하고 나머지 모델 부분은 변경하지 않은 채 "동결(frozen)" 상태로 유지하는 방식에 집중합니다[1].

이 접근 방식을 통해 메모리 요구량, 저장 공간, 학습 시간을 크게 줄일 수 있으며, 강력한 기반 모델(foundation model)의 적응 과정을 더욱 접근하기 쉽고 파국적 망각(catastrophic forgetting) 문제에 강건하게 만듭니다[2].

완전 미세 조정의 문제점

모든 파라미터를 업데이트하는 전통적인 완전 미세 조정 방식은 PEFT 개발의 촉매제가 된 여러 심각한 문제에 직면합니다:

  • 높은 연산 비용: 수천억 개의 파라미터를 업데이트하려면 막대한 연산 능력(고성능 GPU/TPU)과 대용량 비디오 메모리(VRAM)가 필요하여, 많은 연구자들이 비용 문제로 접근하기 어렵습니다.
  • 저장 비효율성: 새로운 작업마다 수 기가바이트에 달하는 모델의 전체 복사본을 저장해야 하므로 디스크 공간 요구량이 기하급수적으로 증가합니다.
  • 파국적 망각 (Catastrophic Forgetting): 모델이 새로운 데이터에 적응하면서 사전 학습 단계에서 습득한 일반 지식을 "망각"하여 다른 작업에서의 성능이 저하됩니다.
  • 과적합 위험 (Overfitting): 소규모 데이터셋으로 미세 조정할 때 수십억 개의 파라미터를 가진 모델은 일반화 패턴을 학습하는 대신 학습 예시를 "암기"하는 경향이 있습니다[2].

PEFT 방법론 분류 체계

PEFT 방법론은 모델 파라미터를 변경하는 방식에 따라 분류할 수 있습니다. 크게 세 가지 주요 범주가 존재합니다: 부가적(additive), 선택적(selective), 재파라미터화(reparameterization) 방식[3].

부가적 방법

이 방법들은 원래 모델의 모든 가중치를 동결하고, 새롭고 작은 학습 가능한 모듈을 추가합니다.

  • 어댑터 (Adapters): 가장 초기의 부가적 방법입니다. "병목(bottleneck)" 구조를 가진 소규모 신경망 모듈을 transformer 레이어 사이에 삽입하며, 이 어댑터의 가중치만 학습합니다[4].
  • 소프트 프롬프트 기반 방법 (Soft Prompts): 모델 가중치를 변경하는 대신, 입력 데이터에 학습 가능한 벡터("가상 token")를 추가하여 모델의 동작을 유도합니다. 주요 변형은 다음과 같습니다:
    • Prompt Tuning: 입력 embedding에만 학습 가능한 벡터를 추가합니다.
    • Prefix-Tuning: attention 메커니즘의 각 레이어에서 은닉 상태에 학습 가능한 벡터 접두사(prefix)를 추가하여 더 세밀한 제어를 가능하게 합니다[5].
    • P-Tuning v2: Prefix-Tuning 아이디어를 일반화하여 모델의 모든 레이어에 학습 가능한 프롬프트를 적용함으로써 완전 미세 조정에 필적하는 성능을 달성합니다[6].

선택적 방법

이 방법들은 새로운 파라미터를 추가하지 않고, 이미 존재하는 파라미터의 작은 부분집합을 선택하여 미세 조정합니다.

  • BitFit: 편향 벡터(bias terms)와 정규화 레이어 파라미터만 미세 조정하는 극도로 절약적인 방법으로, 전체 파라미터의 0.1% 미만만 업데이트합니다.
  • 차분 가지치기 (Diff Pruning): 학습 과정에서 어떤 가중치를 업데이트할지 동적으로 결정하기 위해 학습 가능한 마스크를 사용합니다[3].

재파라미터화 방법

이 범주는 모델 적응을 위한 가중치 변화가 낮은 "내재 랭크(intrinsic rank)"를 가진다는 가설에 기반합니다. 전체 크기의 가중치 행렬을 업데이트하는 대신, 이 방법들은 저랭크(low-rank) 표현을 업데이트합니다.

  • LoRA (Low-Rank Adaptation): 현재 가장 인기 있는 PEFT 방법입니다. 가중치 행렬 업데이트 `ΔW`를 두 개의 저랭크 행렬의 곱으로 근사할 수 있다고 가정합니다: `ΔW = BA`. 미세 조정 과정에서 원래 행렬 `W`는 동결되고, `A`와 `B`만 학습됩니다[7].
  • QLoRA: LoRA와 양자화(quantization) 기법을 결합하여 메모리 요구량을 더욱 줄이며, 단일 소비자용 GPU에서 650억 개의 파라미터를 가진 모델을 미세 조정할 수 있게 합니다[8].

성능 및 자원 비교

PEFT 방법론은 비용을 급격히 절감하면서도 완전 미세 조정에 필적하는 성능을 달성할 수 있습니다.

PEFT 방법론의 비교 성능 및 효율성
모델 방법 학습 가능한 파라미터 (%) 벤치마크 결과 (Avg. Accuracy) 출처
BERT-Large 완전 미세 조정 100% 80.4 (GLUE) [4]
BERT-Large Adapters 3.6% 80.0 (GLUE) [4]
LLaMA-7B LoRA 0.83% 74.7% [9]
LLaMA-7B DoRA (LoRA 변형) 0.84% 78.1% [9]

자원 절감 측면에서 PEFT의 주요 이점:

  • GPU 메모리 (VRAM): LLaMA 65B 모델의 경우 완전 미세 조정은 이론적으로 780GB 이상의 VRAM을 필요로 하는 반면, QLoRA는 48GB 미만의 VRAM을 가진 GPU에서 미세 조정을 가능하게 합니다[8].
  • 저장 용량: PEFT 후 저장되는 체크포인트는 기가바이트가 아닌 메가바이트 수준입니다. 이를 통해 완전 미세 조정된 모델 하나가 차지할 공간에 다양한 작업을 위한 수백 개의 "어댑터"를 저장할 수 있습니다.

적용 분야

원래 NLP를 위해 개발된 PEFT 방법론은 다양한 분야의 작업에 성공적으로 적용되었습니다:

  • 컴퓨터 비전 (CV) 및 멀티모달 모델 (VLM): Vision Transformer (ViT) 및 Segment Anything Model (SAM)과 같은 모델을 생의학 분야를 포함한 이미지 분할 작업에 적응시킵니다.
  • 코드 생성 및 분석: LLM을 특정 소프트웨어 프로젝트, 내부 API 또는 코드베이스의 특성에 맞게 조정합니다.
  • 생성 모델: LoRA 어댑터(Dreambooth 기법)를 사용하여 Stable Diffusion과 같은 이미지 생성 모델을 "스타일화"합니다.
  • 음성 합성: 특정 목소리, 억양 또는 감정 색조를 가진 음성을 생성하도록 모델을 적응시킵니다.

외부 링크

  • GitHub의 PEFT 라이브러리 저장소
  • Hugging Face의 공식 PEFT 라이브러리 문서

참고 문헌

  • Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
  • Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
  • Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
  • Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
  • Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
  • Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
  • Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
  • Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.

각주

  1. «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
  2. 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
  3. 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
  4. 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [4]
  5. Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
  6. Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
  7. Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
  8. 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
  9. 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]