AI: PEFT/Fine-tuning 초기화/설정

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

1. A 행렬

ㅇ 정의:
– LoRA(Low-Rank Adaptation)에서 저차원 근사화를 위해 사용되는 가중치 행렬 중 하나로, 입력 특성을 저차원 잠재 공간으로 투영하는 역할.

ㅇ 특징:
– 초기값은 일반적으로 정규분포 또는 Xavier 초기화 사용.
– 학습 시 B 행렬과 함께 곱해져 원래 가중치 변화량을 구성.

ㅇ 적합한 경우:
– 대규모 언어모델 파라미터 효율적 미세조정 시.

ㅇ 시험 함정:
– A 행렬이 출력 차원을 원래 차원으로 복원한다고 착각하는 경우 (실제 복원은 B 행렬).

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “LoRA의 A 행렬은 입력을 저차원으로 투영하는 역할을 한다.”
– X: “A 행렬은 저차원에서 원래 차원으로 복원하는 역할을 한다.”

1.1 A 행렬 초기화 기법

ㅇ 정의:
– A 행렬의 학습 안정성을 위해 초기값을 설정하는 방법.

ㅇ 특징:
– Xavier, He 초기화 등 사용.
– 작은 값으로 초기화하여 학습 초기에 과도한 변화 방지.

ㅇ 적합한 경우:
– 학습률이 상대적으로 큰 경우.

ㅇ 시험 함정:
– 무작위 큰 값 초기화 시 발산 위험.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “A 행렬은 작은 값으로 초기화하여 학습 안정성을 높인다.”
– X: “A 행렬은 무작위 큰 값으로 초기화해야 한다.”

2. B 행렬

ㅇ 정의:
– LoRA에서 저차원 표현을 원래 차원으로 복원하는 가중치 행렬.

ㅇ 특징:
– A 행렬과 쌍으로 작동.
– 초기값은 일반적으로 0으로 설정하여 학습 시작 시 원래 모델 출력에 영향 없음.

ㅇ 적합한 경우:
– 원본 모델 성능 유지하며 점진적 학습 필요 시.

ㅇ 시험 함정:
– B 행렬이 입력을 저차원으로 투영한다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “B 행렬은 저차원 표현을 원래 차원으로 복원한다.”
– X: “B 행렬은 입력을 저차원으로 투영한다.”

2.1 B 행렬 초기화 기법

ㅇ 정의:
– B 행렬의 초기값을 설정하는 방법.

ㅇ 특징:
– 0 초기화가 일반적.
– 학습 초기에 모델 출력 변화 최소화.

ㅇ 적합한 경우:
– 원본 모델의 초기 성능 유지 필요 시.

ㅇ 시험 함정:
– 0 초기화가 학습 불가능하다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “B 행렬은 0으로 초기화하여 초기 출력 변화를 최소화한다.”
– X: “B 행렬은 항상 큰 무작위 값으로 초기화해야 한다.”

3. 학습률

ㅇ 정의:
– 모델의 파라미터 업데이트 크기를 조절하는 하이퍼파라미터.

ㅇ 특징:
– LoRA 등 PEFT에서는 원본 모델과 어댑터 파라미터에 다른 학습률 적용 가능.
– 너무 크면 발산, 너무 작으면 수렴 속도 저하.

ㅇ 적합한 경우:
– 적절한 학습률 스케줄링으로 안정적 수렴 필요 시.

ㅇ 시험 함정:
– 학습률이 크면 항상 빠르게 수렴한다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “학습률이 너무 크면 발산 위험이 있다.”
– X: “학습률이 크면 항상 빠르게 수렴한다.”

3.1 학습률 스케줄링

ㅇ 정의:
– 학습 진행에 따라 학습률을 동적으로 조정하는 방법.

ㅇ 특징:
– Warmup, Cosine decay, Step decay 등 다양.
– 초기 과적합 방지 및 안정적 학습 유도.

ㅇ 적합한 경우:
– 대규모 파라미터 학습 시.

ㅇ 시험 함정:
– 스케줄링이 항상 성능 향상 보장한다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Warmup은 초기 학습률을 점진적으로 증가시킨다.”
– X: “Warmup은 초기 학습률을 급격히 감소시킨다.”

4. 적용 layer 선택

ㅇ 정의:
– PEFT/Fine-tuning 시 어댑터나 LoRA를 적용할 레이어를 선택하는 과정.

ㅇ 특징:
– 모든 레이어에 적용하지 않고 성능-효율 절충.
– 주로 Transformer의 attention projection layer에 적용.

ㅇ 적합한 경우:
– 메모리 절약 및 특정 기능 강화 필요 시.

ㅇ 시험 함정:
– 모든 레이어에 적용해야만 효과 있다고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “LoRA는 주로 attention projection layer에 적용한다.”
– X: “LoRA는 모든 레이어에 적용해야만 효과가 있다.”

4.1 레이어 선택 전략

ㅇ 정의:
– 적용 레이어를 선택하는 기준과 방법.

ㅇ 특징:
– 상위 레이어 중심, 하위 레이어 중심, 혼합 전략 가능.
– 작업 특성에 따라 선택.

ㅇ 적합한 경우:
– 특정 태스크에서 일부 계층만 조정해도 성능 확보 가능할 때.

ㅇ 시험 함정:
– 상위 레이어만 조정하면 항상 성능이 향상된다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “레이어 선택은 태스크 특성에 따라 달라진다.”
– X: “항상 상위 레이어만 조정하는 것이 최적이다.”

ㅁ 추가 학습 내용

학습 정리

1. LoRA의 랭크(rank) 하이퍼파라미터
– 랭크 값이 높을수록 모델의 표현력이 증가하여 성능 향상 가능성이 있으나, 메모리 사용량과 연산량이 증가함.
– 랭크 값이 낮으면 메모리 절약과 연산 효율성은 높아지지만, 표현력이 제한되어 성능 저하 가능성이 있음.

2. PEFT에서 어댑터 방식과 LoRA 방식의 초기화 차이
– 어댑터 방식은 주로 작은 추가 네트워크(모듈)를 랜덤 초기화하여 기존 모델에 삽입.
– LoRA 방식은 특정 가중치 행렬을 저랭크 분해하여 추가 파라미터를 학습하며, 초기화 시 저랭크 행렬을 주로 작은 값으로 설정.

3. 학습률, weight decay, optimizer 종류의 상호작용
– 학습률은 파라미터 업데이트 크기를 조절하며, weight decay는 과적합 방지를 위해 가중치 크기를 규제.
– AdamW는 weight decay를 올바르게 분리 적용하는 특징이 있고, Adafactor는 메모리 효율성이 높아 대규모 모델 학습에 유리.
– 학습률과 weight decay 설정은 optimizer 특성과 함께 최적화 성능에 큰 영향을 미침.

4. 적용 layer 선택 시 self-attention과 feed-forward layer 비교
– self-attention layer에 적용 시 모델의 관계 추론 능력에 직접적인 영향을 미침.
– feed-forward layer에 적용 시 토큰별 비선형 변환 및 표현 확장에 영향을 줌.
– 어느 layer에 적용하느냐에 따라 성능 향상 패턴과 효율성이 달라짐.

5. Fine-tuning 초기화 시 random seed 고정의 재현성 확보
– random seed를 고정하면 데이터 셔플, 파라미터 초기화, 연산 순서 등에서 발생하는 무작위성을 통제하여 재현성 있는 결과 확보 가능.

6. PEFT 기법에서 mixed precision training과 gradient checkpointing 활용 차이
– mixed precision training은 메모리 사용량 감소와 연산 속도 향상을 제공하나, 일부 경우 수치 안정성 이슈 발생 가능.
– gradient checkpointing은 메모리 절약을 위해 중간 계산 결과를 저장하지 않고 필요 시 재계산하며, 연산 속도는 느려질 수 있음.
– 두 기법의 활용 여부에 따라 학습 안정성과 자원 효율성이 달라짐.

답글 남기기

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

*
*