AI: PEFT/Fine-tuning 초기화/설정 – B 행렬

ㅁ PEFT/Fine-tuning 초기화/설정

ㅇ 정의:
사전 학습된 대규모 언어모델(LLM)에서 파라미터 효율적 미세조정(PEFT) 기법 중 LoRA(Low-Rank Adaptation)에서 사용되는 B 행렬은 저랭크 분해의 두 번째 행렬로, A 행렬과 곱해져 원래 모델 가중치 변경분을 형성한다.

ㅇ 특징:
– 일반적으로 작은 크기의 행렬로 초기화되며, 학습 시 업데이트되는 주된 대상.
– A 행렬은 고정 또는 부분 학습이 가능하지만, B 행렬은 주로 학습 대상.
– 초기값을 0 또는 작은 난수로 설정해 안정적인 학습을 유도.

ㅇ 적합한 경우:
– 전체 모델 파라미터를 학습하기 어려운 자원 제약 환경.
– 특정 다운스트림 태스크에 맞춰 빠르게 적응해야 하는 경우.

ㅇ 시험 함정:
– B 행렬이 원래 모델의 모든 파라미터를 대체한다고 오해하기 쉬움 (실제로는 변경분만 반영).
– A, B 행렬 모두 동일하게 초기화한다고 착각할 수 있음.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “LoRA에서 B 행렬은 주로 학습 대상이며, 초기값을 작게 설정한다.”
– X: “B 행렬은 원래 모델의 모든 가중치를 직접 저장한다.”

ㅁ 추가 학습 내용

B 행렬 초기화 전략은 모델의 학습 안정성과 수렴 속도에 중요한 영향을 미친다.
0 초기화의 장점은 학습 초기에 원래 가중치에 영향을 주지 않아 안정적인 시작이 가능하다는 점이며, 단점은 학습이 시작되기 전까지 변화가 없으므로 초기 탐색이 느릴 수 있다는 것이다.
난수 초기화의 장점은 학습 초기에 다양한 방향으로 탐색이 가능해 빠른 수렴을 유도할 수 있다는 점이며, 단점은 초기 가중치 변화로 인해 불안정한 학습이 발생할 수 있다는 것이다.

LoRA에서 랭크(rank) 값은 B 행렬의 크기에 직접적인 영향을 준다. 랭크가 높을수록 B 행렬의 파라미터 수가 많아지고, 표현력은 증가하지만 연산량과 메모리 사용량도 늘어난다.
A 행렬과 B 행렬의 곱으로 생성되는 델타 가중치(delta weight)는 원래 모델 가중치에 추가되는 보정값으로, 학습 과정에서 특정 방향으로 가중치를 조정하는 역할을 한다. 이는 저랭크 근사 방식으로 원래 가중치 공간의 일부만을 효율적으로 학습하는 수학적 의미를 가진다.

시험에서는 ‘B 행렬은 항상 0으로 초기화된다’와 같은 절대적 표현이 함정으로 출제될 수 있으며, 실제로는 구현체에 따라 0 초기화 또는 난수 초기화를 선택할 수 있음을 기억해야 한다.

답글 남기기

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

*
*