모델을 통째로 학습하지 않고도, 학습 초반 몇 걸음의 기울기를 미리 훔쳐봐서 LoRA를 더 똑똑하게 초기화하는 법
모델을 통째로 학습하지 않고도, 학습 초반 몇 걸음의 기울기를 미리 훔쳐봐서 LoRA를 더 똑똑하게 초기화하는 법
LoRA는 큰 모델을 적은 메모리로 미세조정하는 방법이지만 전체 미세조정보다 성능이 떨어지는 문제가 있었다. 이 논문은 학습 시작 직전에 몇 스텝만 가볍게 미리 굴려본 기울기(다단계 기울기)를 이용해 어떤 층에 얼마나 많은 용량을 줄지 정하고 LoRA 가중치의 초기값도 여기에 맞춰 설정하는 LoRA-GA2를 제안한다. 그 결과 GLUE, GSM8K, HumanEval 등 여러 벤치마크에서 기존 LoRA 변형들보다 꾸준히 더 나은 성능을 냈다.
METAL MEDIA 해설 도표
모델을 통째로 학습하지 않고도, 학습 초반 몇 걸음의 기울기를 미리 훔쳐봐서 LoRA를 더 똑똑하게 초기화하는 법
- 01기존 방법들은 학습 시작 시점 딱 한 번의 기울기(한 단계 기울기)만 보고 LoRA를 초기화했는데, 이는 실제 학습이 진행되는 방향을 제대로 반영하지 못한다는 한계가 있었다.
- 02반대로 매 스텝마다 기울기를 맞추려는 방법은 정확하지만 옵티마이저를 바꿔야 하고 메모리와 시간을 크게 잡아먹는 단점이 있었다.
- 03LoRA-GA2는 AdaLomo라는 가벼운 옵티마이저로 몇 스텝만 임시로 굴려 기울기를 CPU에 누적한 뒤, 원래 가중치를 복원하고 이 누적 정보로 층별 순위(rank) 배분과 초기값을 정한다. 이 과정은 추가 GPU 메모리를 쓰지 않고 시간도 조금만 더 든다.
- 04순위 배분에는 특정 층이 얼마나 중요한지를 보는 민감도 점수와 그 층의 기울기가 몇 개의 방향으로 퍼져 있는지를 보는 유효 순위(effective rank) 점수를 함께 곱해서 사용해, 한쪽 지표만 쓸 때 생기는 낭비를 줄였다.
- 05T5-Base로 GLUE 벤치마크(순위 8 기준)에서 기존 최고 성능 방법보다 평균 0.66점, Llama3.1-8B-Base로는 GSM8K에서 1.03점, HumanEval에서 0.87점 더 높은 성능을 얻었고, CLIP-ViT-B/16 이미지 분류에서도 최고 기준 대비 0.63점 앞섰다.
무엇을 했나
- 기존 방법들은 학습 시작 시점 딱 한 번의 기울기(한 단계 기울기)만 보고 LoRA를 초기화했는데, 이는 실제 학습이 진행되는 방향을 제대로 반영하지 못한다는 한계가 있었다.
- 반대로 매 스텝마다 기울기를 맞추려는 방법은 정확하지만 옵티마이저를 바꿔야 하고 메모리와 시간을 크게 잡아먹는 단점이 있었다.
- LoRA-GA2는 AdaLomo라는 가벼운 옵티마이저로 몇 스텝만 임시로 굴려 기울기를 CPU에 누적한 뒤, 원래 가중치를 복원하고 이 누적 정보로 층별 순위(rank) 배분과 초기값을 정한다. 이 과정은 추가 GPU 메모리를 쓰지 않고 시간도 조금만 더 든다.
- 순위 배분에는 특정 층이 얼마나 중요한지를 보는 민감도 점수와 그 층의 기울기가 몇 개의 방향으로 퍼져 있는지를 보는 유효 순위(effective rank) 점수를 함께 곱해서 사용해, 한쪽 지표만 쓸 때 생기는 낭비를 줄였다.
- T5-Base로 GLUE 벤치마크(순위 8 기준)에서 기존 최고 성능 방법보다 평균 0.66점, Llama3.1-8B-Base로는 GSM8K에서 1.03점, HumanEval에서 0.87점 더 높은 성능을 얻었고, CLIP-ViT-B/16 이미지 분류에서도 최고 기준 대비 0.63점 앞섰다.

| Method | MNLI | SST-2 | CoLA | QNLI | MRPC | Average |
|---|---|---|---|---|---|---|
| Full | 86.33±0.00 | 94.75±0.21 | 80.70±0.24 | 93.19±0.22 | 84.56±0.73 | 87.91 |
| LoRA (13) | 85.30±0.04 | 94.04±0.11 | 69.35±0.05 | 93.19±0.22 | 84.56±0.73 | 85.29 |
| Convergence Optimization Methods for LoRA | ||||||
| rsLoRA (15) | 85.73±0.10 | 94.19±0.23 | 72.32±1.12 | 93.12±0.09 | 52.86±2.27 | 79.64 |
| DoRA (19) | 85.67±0.09 | 94.04±0.53 | 72.04±0.94 | 93.04±0.06 | 68.08±0.51 | 82.57 |
| LoRA+ (9) | 85.81±0.09 | 93.85±0.24 | 77.53±0.20 | 93.14±0.03 | 74.43±1.39 | 84.95 |
| Initialization Optimization Methods for LoRA | ||||||
| PiSSA (22) | 85.75±0.07 | 94.07±0.06 | 74.27±0.39 | 93.15±0.14 | 76.31±0.51 | 84.71 |
| LoRA-GA (30) | 85.70±0.09 | 94.11±0.18 | 80.57±0.20 | 93.18±0.06 | 85.29±0.24 | 87.77 |
| Adaptive Methods for LoRA | ||||||
| AdaLoRA (37) | 85.45±0.11 | 93.69±0.20 | 69.16±0.24 | 91.66±0.05 | 68.14±0.28 | 81.62 |
| RaLoRA (34) | 85.76±0.03 | 94.22±0.29 | 78.11±0.45 | 93.36±0.14 | 84.74±0.27 | 87.24 |
| GoRA (10) | 85.91±0.22 | 94.68±0.43 | 79.86±0.35 | 93.27±0.08 | 86.10±0.20 | 87.96 |
| LoRA-GA2 (Ours) | 85.91±0.01 | 94.72±0.37 | 82.39±0.24 | 93.19±0.05 | 86.88±0.14 | 88.62 |

| Method | GSM8K | HumanEval |
|---|---|---|
| Full | 73.69±0.28 | 51.63±1.27 |
| LoRA (13) | 67.78±1.25 | 43.09±0.35 |
| rsLoRA (15) | 68.36±0.74 | 45.78±2.80 |
| DoRA (19) | 69.17±1.00 | 43.70±1.54 |
| LoRA+ (9) | 71.29±0.93 | 44.51±2.11 |
| OLoRA (2) | 68.54±0.42 | 43.29±2.44 |
| PiSSA (22) | 68.56±1.03 | 44.10±1.54 |
| LoRA-GA (30) | 71.39±0.90 | 43.29±0.61 |
| AdaLoRA (37) | 70.63±0.77 | 41.46±3.66 |
| RaLoRA (34) | 72.25±0.59 | 48.78±1.61 |
| GoRA (10) | 72.91±0.76 | 48.98±2.14 |
| LoRA-GA2 (Ours) | 73.94±0.48 | 49.85±0.33 |

| Method | Cars | DTD | EuroSAT | GTSRB | RESISC45 | SUN397 | SVHN | Average |
|---|---|---|---|---|---|---|---|---|
| Zero-shot | 63.75 | 44.39 | 42.22 | 35.22 | 56.46 | 62.56 | 15.53 | 45.73 |
| LoRA (13) | 82.31±0.08 | 76.97±0.51 | 98.38±0.20 | 97.10±0.06 | 94.99±0.11 | 77.19±0.19 | 96.62±0.06 | 89.08±0.10 |
| MELoRA (26) | 82.65±0.38 | 75.16±0.59 | 98.64±0.05 | 98.88±0.05 | 95.78±0.16 | 74.69±0.22 | 96.95±0.09 | 88.96±0.15 |
| MoRA (14) | 84.61±0.21 | 77.34±0.14 | 98.65±0.16 | 98.68±0.18 | 96.33±0.19 | 78.12±0.06 | 97.17±0.15 | 90.13±0.16 |
| AdaLoRA (37) | 73.58±0.09 | 73.79±0.48 | 96.96±0.12 | 58.87±0.38 | 89.07±0.60 | 72.00±0.10 | 94.26±0.13 | 79.79±0.27 |
| DoRA (19) | 82.44±0.26 | 76.86±0.84 | 98.43±0.17 | 97.25±0.12 | 95.10±0.16 | 77.30±0.17 | 96.63±0.04 | 89.14±0.07 |
| rsLoRA (15) | 83.94±0.22 | 77.64±0.33 | 98.51±0.17 | 98.69±0.17 | 95.90±0.20 | 77.96±0.21 | 96.94±0.06 | 89.94±0.06 |
| LoRA+ (9) | 86.61±0.36 | 73.33±1.30 | 98.54±0.14 | 98.99±0.20 | 96.06±0.38 | 76.80±0.34 | 96.98±0.08 | 89.62±0.19 |
| PiSSA (22) | 83.36±0.38 | 77.38±0.57 | 98.54±0.09 | 98.32±0.09 | 95.92±0.40 | 77.46±0.13 | 97.00±0.09 | 89.71±0.25 |
| OLoRA (2) | 83.85±0.13 | 78.60±0.25 | 98.62±0.03 | 98.49±0.14 | 96.01±0.28 | 77.30±0.08 | 97.15±0.14 | 90.00±0.15 |
| RaLoRA (34) | 86.63±0.30 | 77.75±0.20 | 98.66±0.27 | 98.98±0.11 | 96.62±0.28 | 77.86±0.05 | 97.24±0.11 | 90.53±0.03 |
| LoRA-GA2 (Ours) | 87.82±0.13 | 79.49±0.11 | 98.83±0.11 | 99.01±0.08 | 96.48±0.24 | 79.05±0.14 | 97.42±0.07 | 91.16±0.05 |

| Variant | GSM8K | HumanEval |
|---|---|---|
| One-step gradient | 72.13±0.34 | 49.65±1.01 |
| No SVD init. | 68.92±0.12 | 48.37±2.50 |
| No rank alloc. | 72.40±1.32 | 48.88±0.63 |
| Sensitivity only | 72.98±0.65 | 48.17±2.28 |
| Effective rank only | 73.51±0.51 | 48.78±1.00 |
| Full LoRA-GA2 | 73.94±0.48 | 49.85±0.33 |

왜 중요한가
LoRA는 이미 널리 쓰이는 미세조정 방법이라 이런 개선은 같은 계산 자원으로 더 나은 모델 품질을 얻을 수 있다는 뜻이다. 특히 GPU 메모리를 늘리지 않고 학습 시간도 거의 늘리지 않으면서 성능을 올렸기 때문에 기존 LoRA 파이프라인에 바로 적용하기 쉽다는 점이 실무적으로 유의미하다.
이 논문의 용어
- LoRA (Low-Rank Adaptation) · 큰 모델의 가중치를 직접 바꾸지 않고, 작은 두 개의 행렬만 학습해 미세조정을 적은 메모리로 하는 방법
- 한 단계/다단계 기울기 · 기울기는 모델을 어느 방향으로 바꿔야 손실이 줄어드는지 알려주는 값. 한 단계는 시작 시점 한 번만, 다단계는 학습 초반 여러 스텝에 걸쳐 이를 관찰하는 것
- SVD(특이값분해) 초기화 · 누적된 기울기를 몇 개의 주요 방향과 크기로 분해해 LoRA 가중치의 시작값을 그 방향에 맞춰 설정하는 방법
- 유효 순위(effective rank) · 기울기가 몇 개의 독립적인 방향으로 얼마나 퍼져 있는지를 나타내는 지표
- 민감도(sensitivity) · 어떤 층의 가중치를 조금 바꿨을 때 최종 손실이 얼마나 크게 변하는지, 즉 그 층이 작업에 얼마나 중요한지 보여주는 점수
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다
- AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다
- AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다
METAL MEDIA 최신 기사
그림 출처: Haonan He et al., arXiv:2608.19800, CC BY 4.0