AI: PEFT/Fine-tuning

ㅁ PEFT/Fine-tuning

ㅇ 정의:
사전 학습된 대규모 언어 모델(LLM)이나 딥러닝 모델을 전체 파라미터가 아닌 일부만 조정하여 새로운 태스크에 맞게 적응시키는 기법.

ㅇ 특징:
전체 파라미터 업데이트 대비 메모리와 연산량이 절감되며, 원본 모델의 성능을 유지하면서 빠른 학습이 가능함.

ㅇ 적합한 경우:
리소스 제약 환경, 다수의 태스크에 대해 빠르게 모델을 맞춰야 하는 상황, 데이터가 제한적인 경우.

ㅇ 시험 함정:
PEFT는 항상 성능이 떨어진다고 오해하기 쉬움. 실제로는 적절한 기법 선택 시 풀 파인튜닝과 유사하거나 더 나은 성능을 낼 수 있음.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “PEFT는 일부 파라미터만 학습하여 메모리 사용량을 줄인다.”
X: “PEFT는 항상 전체 파라미터를 업데이트한다.”

================================

1. LoRA

ㅇ 정의:
Low-Rank Adaptation의 약자로, 사전 학습된 가중치에 저랭크 행렬을 추가하여 일부 파라미터만 학습하는 기법.

ㅇ 특징:
원본 가중치는 고정하고, 추가된 저랭크 행렬만 학습하여 메모리 사용량과 계산량을 줄임.

ㅇ 적합한 경우:
대규모 모델을 소규모 GPU에서 파인튜닝해야 하는 경우, 다수 태스크를 효율적으로 학습해야 하는 경우.

ㅇ 시험 함정:
LoRA가 원본 가중치를 수정한다고 착각하는 경우가 있음. 실제로는 원본은 고정됨.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “LoRA는 저랭크 행렬을 추가하여 일부 파라미터만 학습한다.”
X: “LoRA는 전체 가중치를 모두 학습한다.”

1.1 Low-rank Adaptation

ㅇ 정의:
고차원 행렬을 저차원(랭크 r)으로 근사하여 학습 파라미터 수를 줄이는 방법.

ㅇ 특징:
랭크 r 값에 따라 모델 성능과 효율성이 결정되며, 작은 r은 효율은 높지만 표현력이 제한될 수 있음.

ㅇ 적합한 경우:
메모리 제약이 심한 환경, 빠른 실험 반복이 필요한 경우.

ㅇ 시험 함정:
랭크 r이 높을수록 항상 좋은 것은 아님. 과적합 가능성 존재.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Low-rank Adaptation은 랭크 r을 조정하여 효율성과 성능을 균형 맞춘다.”
X: “Low-rank Adaptation은 랭크 r이 클수록 무조건 성능이 향상된다.”

1.2 rank r

ㅇ 정의:
저랭크 근사에서 사용하는 행렬의 랭크 값.

ㅇ 특징:
랭크 r이 작을수록 파라미터 수 감소 및 효율성 증가, 너무 작으면 성능 저하.

ㅇ 적합한 경우:
하드웨어 제약이 크고, 약간의 성능 저하를 감수할 수 있는 경우.

ㅇ 시험 함정:
r=1이면 항상 최적이라고 생각하는 오류.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “rank r은 모델 효율성과 성능을 조절하는 하이퍼파라미터다.”
X: “rank r은 성능에 영향을 주지 않는다.”

================================

2. Adapter Layers

ㅇ 정의:
사전 학습된 모델의 각 층 사이에 작은 모듈(어댑터)을 삽입하여 해당 모듈만 학습하는 기법.

ㅇ 특징:
원본 모델은 그대로 두고, 어댑터 모듈 파라미터만 업데이트하여 빠른 전이학습이 가능.

ㅇ 적합한 경우:
다양한 태스크를 하나의 모델에서 지원해야 하는 멀티태스크 환경.

ㅇ 시험 함정:
어댑터 모듈이 원본 모델의 모든 파라미터를 대체한다고 생각하는 오류.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Adapter Layers는 원본 가중치는 고정하고 어댑터 모듈만 학습한다.”
X: “Adapter Layers는 원본 가중치를 모두 교체한다.”

================================

3. Prefix Tuning

ㅇ 정의:
입력 시퀀스 앞에 학습 가능한 프리픽스 벡터를 추가하여 모델 출력을 조정하는 기법.

ㅇ 특징:
모델 구조 변경 없이 프리픽스 벡터만 학습, 메모리 효율적.

ㅇ 적합한 경우:
언어 생성 태스크, 대규모 모델에서 빠른 파인튜닝.

ㅇ 시험 함정:
프리픽스가 입력 토큰을 대체한다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Prefix Tuning은 입력 앞에 학습 가능한 프리픽스를 추가한다.”
X: “Prefix Tuning은 입력 토큰을 삭제하고 프리픽스로 대체한다.”

================================

4. BitFit

ㅇ 정의:
모델의 바이어스 항만 학습하는 파라미터 효율적 파인튜닝 기법.

ㅇ 특징:
학습 파라미터 수가 매우 적어 메모리 요구량이 최소화됨.

ㅇ 적합한 경우:
극도로 제한된 리소스 환경, 빠른 프로토타이핑.

ㅇ 시험 함정:
바이어스만 학습해도 항상 성능이 유지된다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “BitFit은 바이어스 파라미터만 학습한다.”
X: “BitFit은 가중치와 바이어스를 모두 학습한다.”

================================

5. Parameter-efficient Fine-tuning

ㅇ 정의:
모델 전체가 아닌 일부 파라미터만 업데이트하여 효율적으로 새로운 태스크에 적응시키는 기법들의 총칭.

ㅇ 특징:
연산량과 메모리 사용량 감소, 원본 모델 재사용성 높음.

ㅇ 적합한 경우:
다수의 태스크를 하나의 모델로 운용, 클라우드 비용 절감.

ㅇ 시험 함정:
PEFT가 풀 파인튜닝보다 항상 성능이 떨어진다고 단정.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Parameter-efficient Fine-tuning은 일부 파라미터만 학습한다.”
X: “Parameter-efficient Fine-tuning은 모든 파라미터를 학습한다.”

ㅁ 추가 학습 내용

LoRA와 Adapter Layers의 메모리 사용량 및 학습 속도 비교
– LoRA는 모델의 특정 가중치 행렬을 저랭크 행렬로 분해하여 학습하므로 전체 파라미터 업데이트 비율이 낮아 메모리 사용량이 적고 학습 속도가 빠르다.
– Adapter Layers는 기존 네트워크 층 사이에 작은 모듈을 삽입하여 학습하는 방식으로, LoRA보다 메모리 사용량이 다소 많고 학습 속도도 상대적으로 느릴 수 있다.

Prefix Tuning과 Prompt Tuning의 차이
– Prefix Tuning은 모델의 입력 시퀀스 앞에 학습 가능한 가상 토큰 시퀀스를 붙여서 전체 Transformer 블록 내부의 Key/Value에 영향을 주는 방식이다.
– Prompt Tuning은 임베딩 레벨에서 학습 가능한 토큰을 추가하는 방식으로, 주로 입력 임베딩 단계에서만 조정이 이루어진다. Prefix Tuning은 더 깊은 레이어에 영향, Prompt Tuning은 주로 입력 부분에만 영향.

BitFit의 성능 한계와 적용 사례
– BitFit은 Transformer의 bias 항목만 학습하는 초경량 미세조정 방식으로, 파라미터 업데이트 비율이 매우 낮아 메모리와 연산 비용이 최소화된다.
– 그러나 bias만 조정하므로 복잡한 도메인 적응이나 대규모 의미 변화에는 한계가 있다.
– 적용 사례: 리소스 제약이 큰 환경에서의 빠른 파인튜닝, 모바일·엣지 디바이스 모델 업데이트.

PEFT 기법별 파라미터 비율(%)
– LoRA: 약 0.1%~2%
– Adapter: 약 1%~5%
– Prefix Tuning: 약 0.1%~1%
– Prompt Tuning: 약 0.01%~0.1%
– BitFit: 약 0.01% 이하

LoRA의 랭크 r 선택 가이드라인
– r 값이 클수록 표현력이 높아지지만 파라미터 수와 연산량이 증가한다.
– 일반적으로 4~16 범위에서 시작하여, 데이터셋 크기와 태스크 복잡도에 따라 조정한다.

Adapter 병렬/직렬 삽입 방식
– 직렬 삽입: 기존 레이어 출력 뒤에 어댑터를 순차적으로 연결
– 병렬 삽입: 기존 레이어와 어댑터를 병렬로 두고 출력을 합산
– 병렬 방식은 원본 모델 표현을 유지하면서 보정, 직렬 방식은 더 강하게 변형 가능

Prefix Tuning의 시퀀스 길이 영향
– Prefix 길이가 길수록 모델에 부여되는 조건 정보가 풍부해지지만, 메모리 사용량과 연산량이 증가
– 길이가 너무 길면 학습 난이도와 추론 지연이 증가할 수 있음

각 기법의 대표 논문명과 연도
– LoRA: “LoRA: Low-Rank Adaptation of Large Language Models”, 2021
– Adapter: “Parameter-Efficient Transfer Learning for NLP”, 2019
– Prefix Tuning: “The Power of Scale: Parameter-Efficient Adaptation for Pretrained Language Models”, 2021
– Prompt Tuning: “The Power of Scale: Parameter-Efficient Adaptation for Pretrained Language Models”, 2021
– BitFit: “BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models”, 2021

실제 산업 적용 사례
– ChatGPT 플러그인 최적화: 특정 도메인 질의응답 성능 향상을 위해 LoRA나 Prefix Tuning 활용
– 기업 내 사내 문서 검색, 고객 상담 챗봇, 음성 비서 등에서 경량화된 PEFT 기법 사용

PEFT와 양자화 병행 시 효과
– 메모리 절감과 추론 속도 향상 효과가 시너지로 발생
– 양자화로 모델 크기를 줄이고, PEFT로 적은 파라미터만 학습하여 자원 효율성을 극대화
– 특히 대규모 모델을 엣지 디바이스나 제한된 서버 환경에서 활용할 때 유용

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*