DeepLearing/NLP(FineTuning)

[논문리뷰]LORA VS FULL FINE-TUNING:AN ILLUSION OF EQUIVALENCE

notdecidedyet 2024. 11. 27. 23:39

 

0 Abstract

  • Low-Rank Adaptation (LoRA) : 학습 가능한 파라미터 수를 극도로 줄이면서도 다양한 작업에서 full fine-tuning 모델과 동일한 성능을 보임
  • 그러나 두 방법이 유사한 성능을 보인다고 하더라도, 이들이 학습한 솔루션은 정말 동일한가???
    • 본 연구에서는 모델의 weight matrix를 스펙트럼 속성(spectral properties)의 관점에서 분석하여, 다양한 미세조정 방법이 사전학습된 모델을 어떻게 변화시키는지 연구한다.
    • Full Fine-Tuning과 LoRA가 각기 다른 구조의 singular value decomposition(SVD)을 가진 weight matrix를 생성한다는 것을 발견
    • Fine-Tuning된 모델이 downstream task의 분포 밖에서 각기 다른 일반화 행동을 보임을 확인

구체적으로:

  1. LoRA로 학습된 weight matrix는 intruder dimensions라고 불리는 새로운 고순위 singular vector를 포함하는 반면, Full Fine-Tuning에서는 이러한 현상이 나타나지 않음
  2. LoRA 모델은 Full Fine-Tuning과 동일한 성능을 달성하더라도, 사전학습 분포를 모델링하는 데 더 취약하며, 여러 작업을 연속적으로 학습할 때 취약함.
  3. 높은 rank LoRA 모델은 Full Fine-Tuning과 유사한 행동을 보이며, 동일한 작업에서 유사한 성능을 보임.

결론 :

  • LoRA와 Full Fine-Tuning이 Fine-Tuned된 분포에서 동일한 성능을 보이더라도, 각기 다른 파라미터 공간을 탐색함.
  • LoRA로 Fine-Tuning된 모델에서 intruder dimensions가 왜 나타나는지, 이러한 차원을 최소화하는 방법은 무엇인지에 대해 논의

1. Introduction

더보기

본격적으로 시작하기에 앞서...

Recap 'SVD'
Singular Vector Decomposition에 대해서 복습해보자.

어떠한 메트릭스 W는 SVD라는 것을 수행할 수 있음.

  • W = UΣ$V^T$
    • U : W의 Row 공간에 해당하며, 모델의 입력 데이터를 변환하는 주요 방향을 나타냄
    • V : Column 공간에 해당하면, 출력 데이터 변환의 주요 축을 정의
    • Σ : 중요도가 높은 순으로 정렬되어있으며, 중요 방향(vector)에 가중을 줌
  • Fine Tuning은 비싸서, 효율성 높은 방법들이 많이 연구되었음.
  • LoRA와 같은 PEFT방법은 파라미터 수를 줄이며 Full FineTuning과 유사한 성능을 보이는 것으로 밝혀짐.
    • 근데 과연 성능이 같다고 하더라도, FullFineTuning과 PEFT는 진정으로 동일한가??
    • 이 논문에서 다양한 FineTuning방법을 적용하고, Weight이 어떻게 변화하는지 SVD를 사용해 스펙트럼 관점에서 이해하려고 노력함. 이를 통해 LoRA와 FullFineTuning이 구조적으로 서로 다른것을 보이며, down stream task의 Out of distribution에서 각기 다른 행동을 보이는것을 확인함
  • PeFT와 같은 parameterization의 효과성을 입증하는 연구
    • intrinsic dimenstion hypothesis(2018) : Finetuning을 통해 학습된 update는 본질적으로 낮은 Intrinsic rank를 갖는다고 가정하여, LoRA가 full fine tuning과 근사적으로 동등한 해결책을 찾을 수 있다고 제안
      Intrinsic rank : 실제 fine-tuning 과정에서 의미 있는 변화가 일어나는 것은 더 낮은 차원의 부분공간일 수 있다는 것
      -> 즉 전체 파라미터를 바꾸지 않고, 핵심 부분만 변경해도 Full finetuning과 비슷한 성능을 보임.
    • (Liu et al, 2024) : LoRA와 full fine tuning이 Input을 변환하는 각도와, 강도를 독립적으로 변경하는데 차이가 있음을 관찰
    • LoRA가 코드 생성 및 long text gen에서 성능이 낮음.

주요 발견

  1. LoRA와 Full Fine-Tuning은 구조적으로 다른 파라미터 업데이트를 생성 :
    • LoRA로 FineTuning된 weight matrix는 Intruder Dimensions이라 불리는 새로운 singular vector를 포함.
    • Intruder Dimension은
      • 기존의 사전 학습된 weight matrix의 sigular vector와 거의 orthogonal(직교)한다.
      • large associated singular value를 갖는다.
    • 반면 Full FineTuning모델은 사전학습 모델과 스펙트럼의 유사성을 유지하며, Intruder dimension을 포함하지 않음
    • 더보기
      Intruder Dimensions의 직교 의미

      LoRA의 weight matrix가 생성하는 Intruder Dimensions는 사전학습 weight matrix에서 기존에 존재하지 않던 새로운 singular vector로, 기존 singular vector들과 거의 직교
      - 새로운 정보 추가: Intruder Dimensions는 사전학습된 weight matrix의 기존 정보와는 다른 독립적인 새로운 방향(정보)을 추가
      - 스펙트럼 변화: 직교성은 Intruder Dimensions가 기존 singular vector가 설명하지 못한 데이터를 설명할 수 있음
      - 문제 발생 가능성: 이 과정에서 기존 모델의 구조적 안정성이나 사전학습된 분포와의 조화를 해칠 수 있음. 이로 인해 성능 감소 있을 수 있음.

      Large Singular Value

      PEFT는 전체 파라미터의 1%미만의 weight으로 모델 전체에 영향력을 끼쳐야 하여, Singular Value값이 클 수 밖에 없을 것임
  2. intruder dimensions를 가진 LoRA fine-tuned models는 full fine-tuning에 비해 pre-training distribution을 더 많이 잊어버리고 덜 robust한 continual learning을 보임
    • Low-rank LoRA (낮은 rank)
      • Intruder dimensions 존재
      • Pre-training distribution을 많이 잊어버림
      • Continual learning에서 성능이 좋지 않음
    • Higher-rank LoRA (적절히 높은 rank, 예: r=64)
      • Full fine-tuning과 비슷한 동작
      • Pre-training distribution 유지를 더 잘함
      • Continual learning에서도 더 좋은 성능
    • Very high-rank LoRA (매우 높은 rank, 예: full-rank)
      • Overfitting 문제 발생
      • 다시 pre-training distribution을 많이 잊어버림
      • 모델이 너무 많은 자유도를 가져서 발생하는 문제
    • 복습 : Rank의 의미 : 행렬의 rank는 그 행렬의 선형 독립적인 행 또는 열의 최대 개수(중복 제거)
      이때, row들의 조합으로 다른 Row를 표현할 수 있으면, 중복으로 봄
  3. Low-rank LoRA가 target task에서 잘 수행되더라도, higher-rank parameterization이 여전히 선호될 수 있다
    1. Low-rank LoRA의 특성:
      • 낮은 rank(r ≤ 8)를 사용하는 LoRA도 downstream task에서는 좋은 성능을 보.
      • Low rank LoRA는 Full fine-tuning이나 high-rank LoRA만큼 target task에 잘 fitting됩니다
      • 논문의 분석에 따르면 이러한 low-rank 모델들은 "intruder dimensions" 문제를 더 많이 보임.
    2. High-rank LoRA(r = 64)의 장점:
      • 더 나은 일반화(Generalization): target task 외의 상황에서도 더 좋은 성능을 보임
      • 더 강건한 적응성(Robust adaptability): 새로운 상황이나 다중 작업에서 더 안정적으로 작동
      • Pre-training distribution의 지식을 더 잘 보존함.
    3. Rank-stabilization의 필요성:
      • 단순히 rank를 높이는 것만으로는 2번의 장점을 얻기 어려움
      • Rank-stabilization이란(Kalajdzievski, 2023):
        • LoRA의 업데이트가 안정적으로 유지되도록 하는 기법
        • α 값을 rank에 비례하여 조정(α = 2r)하는 방식을 사용
        • 이는 higher rank에서 발생할 수 있는 불안정성을 방지
        • 효과적인 학습과 일반화를 가능하게함.

 

Fine Tuning의 Pre-trained W와 Tuned W의 Singular Vector를 살펴보면, (입력 데이터를 변환하는)것의 변경점은 없는 것으로 보임.

 

반면, LoRA의 경우, 입력 데이터를 다른 공간으로 맵핑함.

 

 

 

 

 

 

 

 

 

 

 

 

  • LoRA의 경우 SVD쪽에 핑크색 벡터가 상위 eigen value로 새로 생긴 것을 볼 수 있음. (Intruder)
  • b) LoRA의 경우, Pre-train과 Tuned의 weight의 Cosine sim이 낮아짐을 볼 수 있다.
    -> 왼쪽 밑부분에 빨간 점이 있는데, 이부분이 orthogonal한 intruder가 생겼다라고 볼 수 있음.
  • c) ??

  • Full Fine Tuning : Pretrain과 Cosine Sim의 값도 높으며, singular vector에 분포 변화도 없음.
  • LoRA Family : LoRA r=인 경우를 해석하자면,
    • Tune하고 난 뒤, Singular vector 맨앞에 intruder가 새롭게 생겼으며, 가장 많은 영향을 끼치는 벡터인데 Pretrained Weight과 Cosine sim이 매우 낮음.
    • Which means : Intruder는 pretrain과 비교했을 때 새로운 방향을 갖고 있으며, 그 영향력이 매우큼.

 

2 BACKGROUND & RELATED WORK

Methods for fine-tuning

  • Full Fine-Tuning은 사전학습된 모델의 모든 파라미터를 업데이트
  • Low Rank Adaption(LoRA) 두 개의 저랭크 행렬의 곱으로 표현함으로써, Full Fine-Tuning에 비해 계산 및 메모리 감소
  • 과거 연구 : LoRA가 sequence classification, instruction tuning, 대화 모델 등에서 Full Fine-Tuning 성능과 일치한다고 밝힘
  • 그러나 다른 연구 : LoRA가 코드 생성 및 장문 텍스트 생성과 같은 더 어려운 작업에서 Full Fine-Tuning의 성능을 따라잡기 어렵다고 관찰.
  • 이 연구는 LoRA와 Full Fine-Tuning이 동일한 정확도를 달성하는 작업에서 rank 또는 weight matrix 속성의 차이를 비교하며, LoRA가 성능 차이를 보이는 원인을 탐구

LoRA, formally

  • 더보기
    Full Fine-Tuning : Pre-trained weight matrix $W_0 \in \mathbb{R}^{m×n}$이 주어졌을 때, 학습할 파라미터를 $\Delta W \in \mathbb{R}^{m×n}$으로 취급.

    LoRA : $\Delta W$를 두 matrices의 곱으로 분해하여 $\Delta W = BA$가 되게 하는데, 여기서 $B \in \mathbb{R}^{m×r}$, $A \in \mathbb{R}^{r×n}$이며, rank $r$은 일반적으로 $r \ll min(m, n)$이다.

    LoRA 예측시 : $Y = W_{tuned}X = (W_0 + \frac{\alpha}{r}BA)X$
    - $B$는 0으로 초기화되고, $A$는 isotropic Gaussian에서 샘플링
    - $B$와 $A$의 모든 parameters는 학습.
    - full fine-tuning이 weight matrix당 $mn$ trainable parameters를 가지는 반면, LoRA는 $mr + rn$ trainable parameters를 가짐

LoRA Variants

  • LoRA의 많은 변형이 존재
    • underlying weight matrix의 principal components로 초기화하거나
    • quantization과 함께 학습하거나
    • 다른 ranks를 dynamic으로 할당
    • 여러 LoRA를 순차적으로 학습함으로써, LoRA의 성능이나 메모리 효율성을 개선
    • 다른 방법들은 유사하지만 대안적인 아키텍처를 제안
  • 이 논문에서는 Hu et al. (2021)에서 설명된 original LoRA를 살펴봄
  • 경험적으로, $\alpha = 2r$로 설정하는 것이 더 높은 ranks에서 결과를 개선하는 것으로 나타났으며(Biderman et al., 2024) 이론적으로도 설명이 된다.(Kalajdzievski, 2023). 이 논문의 대부분의 실험에서 이 parameterization을 채택

Analysis of Solutions

  • 왜 LoRA는 적은 수의 파라미터만으로 좋은 성능을 보이나?
    • Li et al. (2018)이 소개한 intrinsic dimension 측정은 Aghajanyan et al. (2021)에 의해 pre-trained LLM에 대한 fine-tuning update가 낮은 intrinsic rank를 가진다는 주장을 하는데 사용
      -> 즉 핵심적인 파라미터만을 튜닝하면 비슷한 성능을 보일 수 있음.
    • 위 발견은 LoRA가 낮은 intrinsic rank의 해결책이 존재하기 때문에 LoRA가 작동한다고 가설을 세우는데 동기를 부여
    • 하지만, 이전 연구들은 LoRA와 full fine-tuning 간의 rank(또는 weight matrices 특성들)을 분석하지 않음. 즉 같은 결과를 달성하더라도 내부적으로 어떻게 다른 방식으로 동작하는지 분석하지 않음.
      • Liu et al. (2024)는 LoRA가 full fine-tuning비교
        • Directional component: 뉴런이 입력을 처리하는 방향 변화
        • Magnitude component: 뉴런이 입력에 반응하는 강도 변화
      •  Full fine-tuning은 이 두 컴포넌트를 독립적으로 자유롭게 조정할 수 있음
      • LoRA는 이 두 컴포넌트를 독립적으로 조정하는데 제약이 있음.
    •  LoRA와 full fine-tuning을 비교한 최근 연구
      • 현재 연구의 일부 실험은 반대의 경향을 보임.
        • LoRA가 이전에 학습한 정보를 덜 잊어버리고(Biderman et al., 2024)
          • 허나, instruction tuning에서, full finetuning도 잘 학습되지 못한 상황에서 LoRA를 분석함.
          • 잘 학습되지 못한 상황 -> 모델이 underfit되었을 것이고 이는 당연하게도 pre-train distribution이랑 비슷한것 아닌가라고 생각함.
        • pre-trained model과 더 유사하다는 것을 발견(Ghosh et al., 2024).
      • 이 연구에서는, Full finetuning과 LoRA모두에서 잘 fit되는 데이터 셋에서 연구를 진행함.

Singular Value Decomposition : 위에서 설명함.

 

3. Model Differences Between LoRA and Full Fine-Tuning

  • Neural Network Weight에 SVD 적용 : Sharma et al. (2024)의 연구에서 SVD를 사용하여 모델 성능을 향상시키기 위해 singular vectors를 선택적으로 제거할 수 있다는 발견에 영감을 받아, 이 논문은 pre-trained weights에 대한 fine-tuning의 변화를 이해하기 위해 neural network parameters의 SVD를 적용.
  • dimensions이 어떻게 변하는지 이해하는 것은 특정 fine-tuning 방법이 pre-trained model을 어떻게 변화시키는지 통찰을 얻을 수 있음. 특히, 우리는 LoRA나 full fine-tuning으로 fine-tuned된 weight matrices의 singular vectors가 pre-trained weights의 singular vectors에 얼마나 잘 매핑되는지를 cosine similarity를 사용하여 측정.
  • Fig. 1과 Fig. 3에 pre-trained와 fine-tuned singular vectors 간의 cosine similarity를 색상으로 나타냄
  • Fig 2(b) 부분을 설명. 왼쪽 밑 부분에 빨간색 점이 있는 것을 볼 수 있는데, 이는 intruder dimensions임.

Definition 1. Fine-tuned weight matrix $W_{tuned}$의 singular vector $y_j$는 다음의 경우에만 intruder dimension이다: $max_i(cos(y_j, x_i)) < \epsilon$, 여기서 $\epsilon$은 similarity threshold이고 $x_i$는 $W_0$의 singular vector

  • 쉽게 말해서, tuning전의 vector와 tuning후의 vector의 방향성이 매우 다르면 intruder라 함.
  • intruder의 예는 Fig. 3에서 볼 수 있음.
    • pre-trained와 fine-tuned matrices에서 singular value로 상위 10개 singular vectors 간의 similarity matrix를 그림.
    • Full fine-tuning은 일대일 매핑을 가지는 반면, LoRA는 "blank" columns에 의해 매핑이 이동된 것으로 보임
      • 이것은 intruder dimensions로, 모든 pre-trained singular vector와 낮은 cosine similarity를 가짐.
  • full fine-tuning은 기존 singular vectors와 singular values에 작은 변화를 만드는 반면
  • LoRA는 updated parameter matrix의 norm에 큰 가중치를 부여하는 새로운 singular vectors를 도입한다.

Setup

  • RoBERTa-base 대상으로 실험 진행
  • 각각의 downstream tasks에서 비슷한 성능을 보이도록 이 모델들을 학습
  • 비슷한 수준의 성능에서 fully fine-tuned와 LoRA fine-tuned 모델들이 어떻게 다른지 연구

LoRA fine-tuned models contain high-ranking intruder dimensions while fully fine-tuned models do not.

 

  • 특정 weight matric에 대한 intruder dimension 크기를 정량화 하기 위한 방법
  1. Pretrained model, LoRA, full-tuned weights의 SVD계산.
  2. 상위 K개의 highest-ranking singular vector에 대해서 모든 pretrained singular vector와의 maximum cosine similarity를 구함.
  3. 만약, 최대 consine similarity가 특정 threshold보다 작으면, 이 Singluar vector를 intruder dimension으로 분류한다.
    (Fig5, Fig11에서 이 알고리즘의 견고성 검증)

 

 

 

  1. LoRA의 특성 (r ≤ 16 일 때):
    • 일관되게 intruder dimensions를 포함함
    • 특히 낮은 ε(cosine similarity threshold) 값에서 이러한 특성이 두드러짐
    • 이는 LoRA가 만드는 새로운 directions(방향)이 pre-trained model의 원래 directions와 매우 다르다는 것을 의미
  2.  Full Fine-tuning의 특성:
    • ε이 0.6~0.9 범위일 때 거의 intruder dimensions를 포함하지 않음
    • 이는 full fine-tuning이 pre-trained model의 원래 방향을 크게 벗어나지 않고 유지한다는 것을 의미
    • Pre-trained singular vectors에 대해 점진적인 조정을 한다고 볼 수 있음
  3.  Rank의 영향:
    • Rank가 특정 threshold를 넘어서면서 intruder dimensions의 수가 감소
    • 이는 두 가지 요인에 의해 영향을 받음: a) LoRA의 low-rank 특성 자체 b) LoRA의 update rule(업데이트 방식)
  4.  이 발견의 의미:
    • LoRA는 낮은 rank에서 pre-trained model과 매우 다른 방향으로 학습하는 경향이 있음
    • Full fine-tuning은 pre-trained model의 기존 특성을 더 잘 보존함
    • Rank가 증가하면 LoRA도 full fine-tuning과 비슷한 특성을 보이기 시작함

Intruder dimensions exist even in tasks where LoRA fine-tuned models learn less than full finetuning.

  • 큰 모델에서의 검증:
    • 연구팀은 자신들의 발견이 작은 모델뿐만 아니라 큰 모델에서도 유효한지 검증하고자 함
  •  High Rank LoRA에서의 Intruder Dimensions:
    • rank가 256으로 상당히 높은 경우에도 intruder dimensions가 여전히 발견
    • 그러나 rank를 2048까지 매우 높게 설정한 MetaMath 케이스에서는 intruder dimensions가 사라짐
    • 이는 LoRA의 rank가 충분히 높아지면 모델의 동작이 full fine-tuning과 유사해진다는 것을 보여줌
    • LoRA의 rank가 모델의 특성에 큰 영향을 미친다는 것을 시사
  • Magicoder의 케이스
    • 흥미로운 점은 full fine-tuning을 사용한 Magicoder 모델에서도 intruder dimensions가 발견
    • 이는 코딩 태스크가 가진 특별한 특성 때문으로 설명
      • 코딩 태스크는 일반적인 자연어 태스크와 달리 pre-training data와의 domain shift가 큼.
      • 이로 인해 full fine-tuning에서도 더 극단적인 parameter 변화가 필요했을 것으로 추정

Full fine-tuning updates have a higher effective rank than LoRA updates, even when LoRA is performed with a full-rank matrix.

 

  • Effective Rank의 개념:
    • Effective rank는 행렬의 실질적인 rank를 측정하는 방법
    • 이는 단순히 수학적 rank가 아닌, 실제로 의미 있게 기여하는 차원의 수를 나타냄(Roy & Vetterli (2007)가 제안)
  •  주요 발견:
    • Full fine-tuning vs LoRA의 차이:
      • Full fine-tuning: 더 높은 effective rank를 보임
      • LoRA: 이론적 rank(r)보다 훨씬 낮은 effective rank를 보임
    •  구체적 수치:
      • LoRA의 effective rank는 full fine-tuning의 절반 미만
        • 이론적으로 가능한 capacity(r)를 충분히 활용하지 못함
        • 높은 rank를 설정해도 실제로는 더 낮은 차원에서 작동
        • 단순히 rank를 높이는 것이 해결책이 아닐 수 있음
      • Adapter rank의 1/4 정도만 실제로 활용됨
        예: r=768일 때도 실제 effective rank는 약 300에 불과
    •  성능 격차 설명:
      • 코딩과 같은 복잡한 작업에서 LoRA가 full fine-tuning보다 성능이 떨어지는 현상을 설명
      • 실제 사용되는 차원이 제한되어 있어 복잡한 패턴을 학습하는데 한계가 있을 수 있음
      • 단순한 작업: 현재의 LoRA도 충분할 수 있음
      • 복잡한 작업: Full fine-tuning이 더 적합할 수 있음

 

Intruder dimensions are distributed across both high and low singular values

분포

 

  • weight matrix 전체에서 intruder dimensions가 어떻게 분포되어 있는지 조사
  • intruder dimenstions는 high singular values나 low singular values 한쪽에만 치우쳐 있는 것이 아니라, 전체적으로 분포되어 있다는 것을 발견

분석 방법:

  • ε (cosine similarity threshold)을 고정된 값으로 설정
  • Fine-tuned singular vectors를 검토하는 비율을 변화시키면서 분석
  • 예를 들어, 전체 singular vectors의 상위 20%, 40%, 60% 등을 순차적으로 분석

결과 (Fig 11a)

  • LoRA는 일반적으로 어떤 비율을 검토하더라도 full fine-tuning보다 더 많은 intruder dimensions를 가짐
  • 이는 LoRA가 weight matrix 전반에 걸쳐 더 "새로운" 방향의 변화를 도입한다는 것을 의미

 

 

Intruder dimensions increase in magnitude and change in direction as fine-tuning progresses.

  • Fine-tuning이 시작될 때, singular vectors는 pre-trained model의 singular vectors와 어느 정도의 유사성을 가짐
  • 학습이 진행됨에 따라, Fine Tuning의 Singular vectors는 점차적으로 방향이 변화하여 pre-trained model의 어떤 singular vector와도 직교하게 된다.(이는 cosine similarity 값의 감소로 관찰)(Figure 7왼쪽)
  • 동시에, Singular value도 증가함을 볼 수 있음 (Figure 7오른쪽)
  • 정리하면, 학습이 진행될 수록 intruder의 방향이 변화하면서, 가중치도 커지는 것으로 볼 수 있음.

Scaling α with the rank of the LoRA update reduces the number of intruder dimensions alongside increasing the effective ranks of the matrices.

 

α 설정 방식 비교:

 

  • 신규 방식: α = 2r (Biderman et al. 2024 제안)
  • 기존 방식: α = 8 (초기 LoRA 연구에서 사용)
  • 실험 결과:
    • Target task 성능: 두 방식 모두 동등한 성능 달성
    • Intruder dimensions:
      • α = 8 (고정): 모든 ranks에서 intruder dimensions 발생
      • α = 2r: 높은 rank에서 intruder dimensions 감소
    • Effective rank:
      • α = 8 (고정): 낮은 effective rank
      • α = 2r: 더 높은 effective rank
  • 정리
    • Constant α 사용 시 LoRA는 low rank solution으로 수렴
      -> 더 많은 파라미터를 사용할 수 있는 능력이 주어졌음에도, 모델이 그 capacity를 활용하지 못함.
    • α = 2r 방식의 이점:
      • Intruder dimensions 감소
      • Effective rank 증가
      • 높은 rank에서 더 나은 해결책 제공

The total number of intruder dimensions increases proportionally to the size of the fine-tuning dataset

  • 다양한 크기의 데이터셋으로 fine-tuning 실험 진행
  • RoBERTa-base 모델을 MNLI 데이터셋에서 테스트
  • LoRA의 rank 1과 8을 사용하여 비교
  • intruder dimensions의 수를 측정 (ε과 k 파라미터 고려)
  • 주요 발견
    Rank 8의 경우:
      * 학습 데이터가 많아질수록 intruder dimensions도 증가
      * 데이터셋 크기와 intruder dimensions 수가 양의 상관관계를 보임

    Rank 1의 경우:
      * 데이터셋 크기와 관계없이 일정한 수의 intruder dimensions 유지
      * 이는 rank 1의 제한된 표현력(limited expressivity) 때문으로 추정

  • 결론 :
    • 데이터셋 크기와 intruder dimensions의 관계가 rank에 따라 다르게 나타남을 입증
    • 이 결과는 LoRA의 rank 선택이 모델의 학습 특성에 중요한 영향을 미친다는 것을 보여주며, 특히 데이터셋 크기와, rank수에 영향을 많이 받음

Conjecture: Intruder dimensions, as high-ranking singular vectors, contribute significantly to the norm and stability of the parameter matrix.

  1. Intruder Dimensions의 특성:
    • High-ranking singular vectors로서 작용 (eigen value가 높음)
    • Parameter matrix의 norm과 안정성에 중요한 영향을 미침
  2.  LoRA vs Pre-trained Models의 학습 데이터 차이:
    • Pre-trained singular vectors: 큰 규모의 pre-training corpora에서 학습
    • LoRA의 intruder dimensions: 상대적으로 작은 fine-tuning 데이터셋에서만 학습
    • 결론: LoRA의 intruder dimensions가 pre-trained vectors를 압도하는 현상 발생
      -> 작은 데이터에 잘 맞게 강요를 해야하여, eigen value가 높은 극단적인 intruder dimension이 생성이 됨.
      -> generalize에 악영향을 끼침.
  3.  Full Fine-tuning의 특징:
    • Fine-tuning task에 효과적으로 적응
    • 동시에 pre-trained model의 spectral properties를 잘 유지
    • LoRA와 달리 더 균형 잡힌 접근 방식
  4.  핵심 가설:
    • LoRA 모델의 intruder dimensions는 fine-tuning task distribution 외부에서 성능 저하를 일으킬 것
    • 이러한 부정적 영향은 full fine-tuned 모델에서는 상대적으로 적을 것으로 예상

4. BEHAVIORAL DIFFERENCES BETWEEN LORA AND FULL FINE-TUNING

  • Full and LoRA :  in-distribution test set에서 거의 동일하게 수행한다는 것을 보았지만, 이러한 행동적 유사성이 다른 distributions에서도 유지되는지 평가

At lower ranks, LoRA adapts less robustly during continual learning by forgetting more of the previous tasks

  • RoBERTa를 6개의 tasks(MNLI → QQP → SST-2 → SIQA → Winogrande → FEVER)에 순차적으로 학습

 

Figure 8 해석 방법:

  • x축 : DataSet을 MNLI → QQP → SST-2 → SIQA → Winogrande → FEVER 순서로 학습
  • 목적 : 순차적으로 학습시, 해당 테스크에서 어느모델이 어느정도로 성능 하락이 있는지 관찰하기 위함.
    예) 1번 그림의 경우, Finetuning후 성능은 모두 좋았으나, transfer(continual) learning을 진행시, LoRA(r=1)의 경우 가장 급격한 성능 하락을 보임.

주요 발견:

  1. 초기 성능: LoRA와 full fine-tuning이 비슷한 성능 보임
  2. Continual Learning 과정에서의 차이:
    • 낮은 rank LoRA(특히 r=1):
      • 더 큰 성능 저하
      • 처음 3개 데이터셋에서 pre-trained baseline보다 낮은 성능
    • 높은 rank LoRA:
      • 망각이 감소
      • Full fine-tuning과 유사한 성능
  3. 결론:
    • LoRA의 망각 현상은 rank와 task에 따라 다양한 패턴을 보임
    • 일부 경우는 덜 망각하지만, 다른 경우는 더 많이 망각할 수 있음
    • 단순히 "LoRA가 더 적게 망각한다"는 일반화는 부적절

 

For LoRA models fine-tuned to equivalent test accuracy, we see a U-shaped curve that identifies the optimal rank for fitting to the downstream task while forgetting the pre-training distribution the least.

  1. U자형 곡선의 발견:
    • LoRA의 rank와 pre-training 지식 보존 사이에 U자형 관계가 존재
    • 이는 최적의 rank가 존재함을 시사 (r = 64가 optimal point로 확인됨)
      사견 : it depends on dataset and model
  2.  성능 측정 방법:
    • Encoder-only 모델의 특성상 직접적인 perplexity 측정은 불가능(Perplexity는 commonly auto regressive모델에서 계산)
    • 대신 pseudolikelihood를 통해 성능 측정
    • 4개의 pre-training 데이터셋에서 "pseudo-loss" 측정(구체적인 방법은 서술 x)
      • openwebtext
      • cc_news
      • stories
      • bookcorpus
  3. Rank에 따른 성능 차이:
    • rank (r = 1):
      • Intruder dimensions 문제 발생
      • Pre-training 지식의 큰 망각 발생
    • 최적의 rank (r = 64):
      • Pre-training 지식 보존이 가장 잘 됨
      • Intruder dimensions 문제 최소화
    • 매우 높은 rank (r = 768):
      • 과도한 매개변수화로 인한 과적합
      • Pre-training 지식의 큰 망각 발생

Setting α properly significantly impacts model performance.

  1. α 설정의 중요성
    • α 값을 어떻게 설정하느냐가 모델 성능에 매우 중요한 영향을 미침
    • 연구에서는 일반적으로 사용되는 α = 2r과 α = 8을 비교 실험
  2.  α = 8 설정의 문제점
    • Pre-training distribution 망각이 심해짐
    • Continual learning에서 이전 학습 tasks의 망각이 더 심해짐
    • 첫 두 데이터셋(MNLI,QQP 데이터)에서 모든 LoRA ranks가 baseline 성능 이하로 떨어짐
  3.  실험 결과의 시사점
    • α = 8 사용 시의 결과가 rank = 1인 LoRA의 결과와 유사함
    • α = 8 설정은 구조적으로 더 많은 intruder dimensions를 생성
    • 결과적으로 low-rank LoRA와 비슷한 성능 특성을 보임
  4.  결론
    • α = 2r 설정이 α = 8보다 더 나은 성능을 보임
    • α 값의 적절한 설정이 LoRA의 성능 최적화에 중요한 요소임을 입증

5. WHY DO INTRUDER DIMENSIONS EXIS

Adding an random vector to a pre-trained matrix introduces an intruder dimension:

  • 수학적으로, pre-trained matrix W에 random vector v를 추가하는 경우를 분석
  • $SVD(W + λvv^T)$와 SVD(W)를 비교할 때, Random vector v는 높은 확률로 기존 singular vectors와 거의 직교하기 때문에 자연스럽게 intruder dimension이 생성됨
    • W :  $\mathbb{R}^{n×n}$의 pre-trained weights
    • v : $\mathbb{R}^n$에서 randomly 샘플링된 벡터
    • λ : W의 가장 큰 singular value보다 큰 scalar 값
  • 생각해보면, 매우 고차원 벡터에서, 임의의 값을 갖는 벡터를 생성했을 때, 특정 방향을 가리키는 벡터와는 매우 높은 확률(99.9999%)로 직교함.

Differences in the update rule:

 

  • LoRA와 full fine-tuning은 같은 training examples를 사용하더라도 근본적으로 다른 update rules를 가짐
  • LoRA의 특징적인 두 가지 측면:
    • 더 큰 learning rate 사용
    • Gradients를 low-rank space로 투영
  • 이러한 특성들이 위에서 설명한 random vector 추가와 비슷한 효과를 만들어내어 intruder dimensions 발생을 촉진

 

Product parameterization of LoRA

  1. Matrix 곱셈의 특성:
    • Matrices를 곱하면 singular values의 차이가 증폭됨
      • 고차원의 벡터 두개를 곱하면 웬만해서 값이 커짐.
    • 일반적으로 더 낮은 effective rank가 발생함
      • Effective rank는 singular values의 분포가 얼마나 균일한지를 나타냄
      • matrices곱으로 인해 singular values의 차이가 증폭되어, 비균일하게 변함 -> low effective rank
  2.  실험 설정:
    • A matrix를 모든 singular values가 1이 되도록 초기화하고 고정
    • B matrix만 학습
    • 나머지 fine-tuning 조건은 기존과 동일하게 유지
  3.  이 실험 설정의 타당성:
    • Zhu et al. (2024): B를 학습시키는 것이 A보다 일반화에 더 중요함
    • Hao et al. (2024): B만 학습시켜도 LoRA를 효과적으로 근사할 수 있음
  4.  실험 결과와 의미:
    • B만 학습시킬 때 high ranking intruder dimensions가 크게 감소 (Figure 10)
    • 이는 LoRA의 matrix product (BA)를 통해 계산되는 과정이 intruder dimensions 생성의 주요 원인임을 시사
      • A를 학습하는 것이 intruder dimensions 생성의 주요 원인일 수 있음
      • 또는 A와 B를 동시에 학습할 때 발생하는 상호작용이 원인일 수 있음
      • Matrix product 자체보다는, 학습 과정에서 A의 역할이 더 중요할 수 있음
    • 특히 B와 A의 spectral differences를 증폭시키는 과정에서 이러한 현상이 발생
      • B와 A는 각각 학습 과정에서 서로 다른 spectral 특성을 발달시킬 수 있음
      • 이들을 곱하는 과정(BA)에서 이러한 차이가 증폭됨
      • 이 증폭된 차이가 intruder dimensions를 만드는데 기여할 수 있다는 것이 논문의 주장