AI: PEFT/Fine-tuning – rank r
ㅁ PEFT/Fine-tuning
1. rank r
ㅇ 정의:
사전학습된 대규모 언어모델(LLM)에서 파라미터 효율적 미세조정(PEFT) 기법 중 Low-Rank Adaptation(LoRA)에서 사용되는 랭크 값으로, 업데이트할 가중치 행렬을 저차원(r)으로 분해하여 학습하는 방식의 차원을 의미함.
ㅇ 특징:
– r 값이 작을수록 학습 파라미터 수와 메모리 사용량이 줄어들어 효율적임.
– 너무 작은 r은 표현력 부족으로 성능 저하를 초래할 수 있음.
– r 값은 모델 크기, 데이터셋 규모, 목표 태스크 난이도에 따라 경험적으로 선택.
– LoRA에서 W ≈ W₀ + BA 형태로, B와 A의 차원이 r에 의해 결정됨.
ㅇ 적합한 경우:
– 리소스가 제한된 환경에서 LLM을 특정 태스크에 맞게 미세조정할 때.
– 전체 파라미터 업데이트가 불필요하고, 빠른 실험 반복이 필요한 경우.
– 다수의 태스크에 대해 별도 어댑터를 저장/교체하는 환경.
ㅇ 시험 함정:
– r 값이 크면 항상 좋은 성능을 보인다고 오해하기 쉬움(O)
– r 값이 LoRA의 학습률과 무관하다고 생각하는 경우(X)
– rank r은 SVD에서의 특이값 개수와 동일하다고 단정하는 경우(X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “LoRA에서 rank r은 학습 파라미터 수를 조절하는 핵심 하이퍼파라미터이다.” (O)
– “rank r이 작을수록 항상 성능이 향상된다.” (X)
– “rank r은 LoRA에서 추가 파라미터 행렬의 내적 차원을 나타낸다.” (O)
– “rank r 값은 학습률과 전혀 관련이 없다.” (X)
ㅁ 추가 학습 내용
추가 학습 정리
1. LoRA에서 rank r 선택 시, r 값과 모델 성능 간의 trade-off 곡선 이해 필요
– r이 작을수록 파라미터 수와 연산량이 줄어들어 메모리 사용이 적지만, 성능 저하 가능성 있음
– r이 클수록 모델의 표현력이 증가해 성능이 향상될 수 있으나, 메모리와 연산량이 증가
2. r 값 범위별 GPU 메모리 사용량 비교
– r = 1~8: 메모리 사용량이 낮아 효율적
– r ≥ 32: 메모리 사용량 급증, 특히 대형 모델에서 차이가 큼
3. scaling factor(α)의 영향 분석
– α는 LoRA에서 학습된 가중치의 기여도를 조절
– α 값이 크면 학습된 변화량이 크게 반영되어 학습 속도와 성능에 영향
– α 값이 작으면 변화량이 작아 안정적이지만 성능 향상 폭이 제한될 수 있음
4. PEFT 기법 간 성능 비교 (r 값 고정 시)
– LoRA: 적은 파라미터 추가로 효율적이며 성능 유지가 용이
– Prefix-tuning: 입력 프롬프트에 학습 가능한 토큰을 추가, 특정 작업에 유리
– Adapter-tuning: 중간 레이어에 작은 모듈 추가, 범용성 높음
5. 시험 주의사항
– r 값이 모델의 모든 레이어에 동일하게 적용되는지 여부를 묻는 함정 가능성 있음
– 실제 구현에서는 특정 레이어에만 LoRA를 적용하거나 r 값을 다르게 설정할 수 있음