sol’s blog

Transfer Learning

sol-commits
 

전이학습

  • 현실에서는 레이블이 적고 데이터 도메인이 자주 바뀜
    • → 매번 처음부터 큰 모델을 학습하기 어려움

  • 해결책
    • source task 에서 대규모 데이터로 프리트레이닝을 해줌
    • target task 에서 적은 레이블로 파인튜닝
    • → 일반화가 좋아지고 샘플 효율성이 올라감

       

pretraining ↔ fine tunning

  • pretraining
    • : 언어, 이미지처럼 자기지도학습으로 좋은 표현(피처 추출기)을 먼저 만들기

  • fine tuning
    • : target task의 작은 레이블 데이터로 헤드(출력부) 혹은 전체를 미세 조정

      : source-target 입력 형태/통계가 유사할수록 전이가 잘 된다

 

파인튜닝 방식 3종

  1. HEAD 만 학습(Feature Extractor 고정)
  1. full finetuning(모든 파라미터 업데이트)
  1. PEFT(Parameter-Efficient Fine-Tuning)
 

PEFT

PEFT = 적게 고쳐서 많이 얻기
  1. Addition-based: 새 모듈을 추가해서 그 작은 부분만 학습
  1. Specification-based: 원래 파라미터 중 일부만 선별해 학습
  1. Reparameterization-based: 저랭크 근사(LoRA) 등으로 변화를 압축 학습
 
  1. Adapter - Addition 계열의 대표주자
      • Transformer 블록 사이에 작은 모듈을 추가하고 그 부분만 학습하는 기법(순차적으로 삽입해 그 부분만 학습)
      • 태스크별로 Adapter만 교체 가능 → 다중 태스크 운영 효율적
      • 새로운 지식은 Adapter에 선택적으로 주입되어 기존의 일반적 지식은 보존됨
      • BUT, LoRA와 달리 Adapter는 최종적으로 원래 모델에 완전히 병합할 수 없음
  1. prompt / prefix 튜닝 - Addition 계열
  1. LoRA(Low-Rank Adaptation) - Reparameterization 계열
      • 아이디어: 가중치 변화량을 저랭크로 근사
      • 효과: 학습 파라미터 수·메모리 대폭⬇️, 성능은 풀 튜닝 근접
Callout icon'

PEFT

  • 장점: 저장 공간 절약, 메모리 사용량 절약, 연산량 절약, 그리고 성능 손실 최소화
Callout icon'

LoRA는 최종적으로 원래 모델에 병합 가능, Adapter를 병합 불가능

 

Multi-Task Learning, MTL

  • 여러 태스크를 동시에 학습하면서 샘플 효율성 향상과 오버피팅 방지 효과를 얻을 수 잇음
  • 태스크 간 지식을 공유하면서 정규화 효과도 생김
 

Continual Learning

  • 시간이 지나면서 새로운 태스크들이 순차적으로 주어지고, 과거 데이터에 다시 접근할 수 없는 상황에서 학습을 이어가는 방식
  • 핵심 과제
    • Stability : 과거 지식을 잊지 않고 유지하는 것
    • Plasticity : 새로운 지식을 빠르게 받아들이는 것

추천 글

BlogPro logo
Made with BlogPro

태그