한 줄 요약
NoRA는 LoRA의 down-projection 행렬을 정규화하여 학습 안정성과 성능을 향상시키는 간단한 방법이다.
핵심 기여도
- LoRA의 down-projection 행렬 $ \bm{A} $의 정규화를 통해 학습 동역학을 안정화함.
- NoRA-init라는 초기화 전략을 제안, 정규화를 학습 중 반복하지 않아도 성능 향상 가능함.
- BIMI 초기화를 제안, 블록-정체 행렬로 rank 차원 정규화를 내재적으로 만족시킴.
- Pretraining, SFT, RL 환경에서 모두 수렴 속도, 성능, 안정성 향상 효과를 보임.
핵심 아이디어
LoRA는 $ \Delta \bm{W} = \alpha \bm{B} \bm{A} $로 가중치 업데이트를 표현하며, $ \bm{A} $는 무작위 초기화되고 $ \bm{B} $는 0으로 초기화된다. 이로 인해 초기 학습은 $ \bm{A} $에 의해 결정되며, 이는 학습 동역학에 불안정성을 유발할 수 있다. NoRA는 $ \bm{A} $의 rank 차원을 정규화하여 이 불균형을 제거하고, $ \bm{B} \cdot \text{Norm}(\bm{A}) \bm{x} $ 형태로 업데이트를 재구성함으로써 LoRA의 정확한 가중치 병합 가능성과 MLA의 학습 안정성을 결합한다. 이 정규화는 학습 중 지속적으로 적용될 수 있으며, 초기화 단계에서만 적용하는 NoRA-init 버전도 제안된다.
기술적 접근법
- **NoRA**: 학습 중 $ \bm{A} $의 rank 차원을 정규화하여 $ \bm{B} \cdot \text{Norm}(\bm{A}) \bm{x} $ 형태로 업데이트.
- **NoRA-init**: 초기화 단계에서 $ \bm{A} $를 정규화한 후, 학습 중 제약 없이 최적화.
- **Random normalization**: 무작위 초기화 후 정규화 적용.
- **BIMI**: 블록-정체 행렬로 $ \bm{A} $를 구성하여 rank 차원 정규화를 내재적으로 만족.
- **LoRA 파라미터**: $ \bm{A} \in \mathbb{R}^{r \times k} $, $ \bm{B} \in \mathbb{R}^{d \times r} $, $ r \ll \min(d, k) $.
- **LoRA 초기화**: $ \bm{B}^{(0)} = \bm{0} $, $ \bm{A}^{(0)} $는 무작위 초기화.
주요 결과
- **MLA 아키텍처**에서 NoRA는 중간 정규화를 통해 수렴 속도를 향상.
- **Llama 3.2-3B** 모델에서 수학적 추론 및 코드 생성 작업에서 성능 향상.
- **Reinforcement Learning** 환경에서 NoRA는 PiSSA, MiLoRA 등 다른 스펙트럼 초기화 방법보다 안정적.
- **Catastrophic forgetting** 감소: NoRA는 학습 후 초기 학습 내용을 더 잘 유지.
- **NoRA-init**는 LoRA 대비 +1.6× 가속, 정확도 +2.3% 향상 (MLA-24-D1024 데이터셋 기준).
의의 및 한계
NoRA는 LoRA의 학습 동역학을 안정화하고, 학습 효율과 성능을 동시에 향상시키는 간단한 정규화 기법으로, 기존 LoRA와 동일한 가중치 병합 가능성을 유지한다. 또한, 추가 학습 파라미터나 추론 시 계산 없이 적용 가능하다는 점에서 실용적이다. 그러나 NoRA는 복잡한 스펙트럼 분해나 초기화 전략을 사용하지 않기 때문에, 특정 복잡한 초기화가 필요한 상황에서는 제한적일 수 있다. 또한, 정규화가 rank 차원에만 적용되므로, 다른 차원의 불균형은 해결하지 못한다는 한계가 있다.
실용적 활용
NoRA는 대규모 언어 모델의 사전 학습, 감독 미세 조정, 강화 학습 등 다양한 학습 환경에서 적용 가능하다. 특히, 파라미터 효율적 학습이 필요한 산업 현장에서 모델 성능과 학습 안정성을 동시에 향상시키는 데 유용하다. BIMI 초기화는 대규모 모델에서 초기화 시간을 줄이고, 학습 초기 불안정성을 줄이는 데 활용할 수 있다.