전체 파인 튜닝(FT)은 일반적으로 특정 다운스트림 작업에 맞게 미리 학습된 일반 모델을 조정하는 데 사용됩니다. 학습 비용을 줄이기 위해 최소한의 파라미터로 사전 학습된 모델을 미세 튜닝하는 파라미터 효율적 미세 튜닝(PEFT) 방법이 도입되었습니다. 이 중 낮은 순위 적응(LoRA)과 그 변형은 추가 추론 비용을 피할 수 있어 상당한 인기를 얻고 있습니다. 그러나 이러한 방법과 완전한 파인 튜닝 사이에는 여전히 정확도 격차가 존재하는 경우가 많습니다.
NVIDIA Research Taiwan과 NVIDIA 학습 및 인식 연구 그룹은 LoRA를 기본으로 대체할 수 있는 가중치 분해 저순위 적응(DoRA)을 개발했습니다. DoRA는 추가적인 추론 오버헤드 없이 LoRA의 학습 용량과 안정성을 모두 개선합니다.
DoRA는 상식 추론과 같은 다양한 거대 언어 모델(LLM) 및 비전 언어 모델(VLM) 작업에서 LoRA보다 일관되게 뛰어난 성능을 발휘합니다(상식 추론(+3.7/+1.0 on Llama 7B/13B, +2. 9, Llama 2 7B에서 +4.4), 멀티턴(MT) 벤치마크(Llama/Llama 2 7B의 경우 +0.4/+0.3), 이미지/비디오-텍스트 이해(VL-BART에서 +0.9/+1.9), 시각적 지시 튜닝(LLaVA 7B에서 +0.6)과 같은 과제에 대한 성능을 입증했습니다. DoRA는 압축 인식 LLM 및 텍스트-이미지 생성 등 다른 작업에서도 입증되었습니다. 이 작업은 ICML 2024에 구두 논문으로 채택되었습니다(채택률 1.5%).
DoRA는 어떻게 작동하나요?
DoRA는 사전 학습된 가중치를 크기와 방향 성분으로 분해한 다음 두 가지를 모두 파인 튜닝하는 것으로 시작합니다. 매개변수 측면에서 방향 성분의 크기가 상당하기 때문에 그림 2에서 볼 수 있듯이 DoRA는 방향 적응을 위해 LoRA를 활용하여 효율적인 파인 튜닝을 가능하게 합니다. 마지막으로, DoRA는 추론 전에 사전 학습된 가중치와 병합할 수 있으므로 추가적인 지연 시간을 피할 수 있습니다.
DoRA는 모델 훈련에 어떤 영향을 미치나요?
DoRA가 모델 훈련에 어떤 영향을 미치는지 알아보기 위해 DoRA 가중치 W’와 사전 훈련된 가중치 W0 사이의 크기 및 방향 차이(∆D, ∆M)를 그림 3에 시각화했습니다(FT 및 LoRA와 마찬가지로). DoRA와 FT의 (∆D, ∆M)에 대한 회귀선을 보면, LoRA에서 보이는 명확한 양의 상관관계 대신 뚜렷한 음의 기울기가 DoRA와 FT를 특징짓는다는 것을 알 수 있습니다. 서로 다른 마커는 서로 다른 훈련 단계의 행렬을 나타내며, 서로 다른 색상은 각 레이어의 행렬을 나타냅니다.
DoRA는 FT에 더 가까운 학습 패턴을 보이면서도 상대적으로 최소한의 크기 변화 또는 그 반대로 상당한 방향 조정만 할 수 있는 능력을 보여줍니다. 이는 LoRA보다 뛰어난 학습 능력을 의미합니다. 보다 정성적이고 수학적 분석에 대한 자세한 내용은 DoRA: 가중치 분해 저순위 적응을 참조하세요.
성능
DoRA는 LLM, VLM, 압축 LLM, 확산 모델 등 다양한 모델에서 LoRA보다 성능이 뛰어납니다.
거대 언어 모델
표 1에서 볼 수 있듯이 전반적인 상식적 추론 능력 측면에서 DoRA는 LoRA보다 훨씬 뛰어난 성능을 보입니다. 또한 표 2의 MT 벤치마크에서 알 수 있듯이 DoRA는 LoRA보다 대화 및 명령어 추종 능력이 더 뛰어납니다.
Model | # Params (%) | BoolQ | PIQA | SIQA | HellaSwag | WinoGrande | ARC-e | ARC-c | OBQA | Avg. |
ChatGPT-3.5 | – | 73.1 | 85.4 | 68.5 | 78.5 | 66.1 | 89.8 | 79.9 | 74.8 | 77.0 |
Llama-LoRA | 0.83 | 68.9 | 80.7 | 77.4 | 78.1 | 78.8 | 77.8 | 61.3 | 74.8 | 74.7 |
Llama-DoRA (Ours) | 0.84 | 69.7 | 83.4 | 78.6 | 87.2 | 81.0 | 81.9 | 66.2 | 79.2 | 78.4 |
Llama 2-LoRA | 0.83 | 69.8 | 79.9 | 79.5 | 83.6 | 82.6 | 79.8 | 64.7 | 81.0 | 77.6 |
Llama 2-DoRA (Ours) | 0.84 | 72.0 | 83.1 | 79.9 | 89.1 | 83.0 | 84.5 | 71.0 | 81.2 | 80.5 |
Llama 3-LoRA | 0.83 | 70.8 | 85.2 | 79.9 | 91.7 | 84.3 | 84.2 | 71.2 | 79.0 | 80.8 |
Llama 3-DoRA (Ours) | 0.84 | 74.6 | 89.3 | 79.9 | 95.5 | 85.6 | 90.5 | 80.4 | 85.8 | 85.2 |
Model | # Params (%) | Score |
Llama-LoRA | 2.31 | 5.1 |
Llama-DoRA (Ours) | 2.33 | 5.5 |
Llama-VeRA | 0.02 | 4.3 |
Llama-DVoRA (Ours) | 0.04 | 5.0 |
Llama 2-LoRA | 2.31 | 5.7 |
Llama 2-DoRA (Ours) | 2.33 | 6.0 |
Llama 2-VeRA | 0.02 | 5.5 |
Llama 2-DVoRA (Ours) | 0.04 | 6.0 |
비전 언어 모델
DoRA는 순수 자연어 처리(NLP) 외에도 이미지 텍스트 이해(표 3), 비디오 텍스트 이해(표 4), 시각적 명령어 튜닝(표 5) 능력 면에서 LoRA보다 뛰어난 성능을 발휘합니다.
Model | # Params (%) | VQAv2 | GQA | NVLR2 | COCO Cap. | Avg. |
VLBART-LoRA | 5.93 | 65.2 | 53.6 | 71.9 | 115.3 | 76.5 |
VLBART-DoRA (Ours) | 5.96 | 65.8 | 54.7 | 73.1 | 115.9 | 77.4 |
Model | # Params (%) | TVQA | How2QA | TVC | YC2C | Avg. |
VLBART-LoRA | 5.17 | 75.5 | 72.9 | 44.6 | 140.9 | 83.5 |
VLBART-DoRA (Ours) | 5.19 | 76.3 | 74.1 | 45.8 | 145.4 | 85.4 |
Model | # Params (%) | VQAv2 | GQA | Vis-Wiz | SQA | VQAT | POPE | MMBench | Avg. |
LLaVA-LoRA | 4.61 | 79.1 | 62.9 | 47.8 | 68.4 | 58.2 | 86.4 | 66.1 | 66.9 |
LLaVA-DoRA (Ours) | 4.63 | 78.6 | 62.9 | 52.2 | 69.9 | 57.0 | 87.2 | 66.1 | 67.6 |
압축 인식 LLM
PEFT 파인 튜닝의 메모리 요구량을 더욱 줄이기 위해 QLoRA는 사전 훈련된 모델을 4비트로 정량화하고 고정된 로우비트 백본 위에 LoRA를 미세 튜닝할 것을 제안합니다. LoRA와 FT 사이의 간극을 좁히는 DoRA를 통해 QLoRA 프레임워크 내에서 LoRA의 정확도를 향상시킬 수 있는지도 당연히 탐구해야 합니다.
최근 저희 팀은 Answer.AI의 여러 연구자들과 협력하여 QLoRA의 LoRA 구성 요소를 DoRA로 대체하는 QDoRA 프로젝트를 진행했습니다. 그 결과 QDoRA가 각각 Llama 2와 Llama 3 모두에서 FT, QLoRA보다 성능이 뛰어난 것으로 나타났습니다(그림 4).
텍스트-이미지 생성
DoRA는 Hugging Face에서 개발한 고급 훈련 스크립트를 사용하여 텍스트-이미지 개인화를 위해 DreamBooth에 적용할 수도 있습니다. 까다로운 3d_icon 및 lego_set 데이터 세트에 대한 테스트 결과에 따르면 동일한 훈련 구성에서 DoRA가 LoRA보다 훨씬 우수한 개인화 결과를 얻을 수 있는 것으로 나타났습니다(그림 5).
요약
DoRA는 일반적으로 효율적이고 효과적인 트레이닝 기법이며 다양한 NVIDIA 서비스, 플랫폼 및 프레임워크에서 곧 지원될 예정입니다. DoRA는 LoRA 및 그 변형과 호환되는 파인 튜닝 방법이며 FT 학습 동작과 더 유사한 모습을 보입니다. DoRA는 다양한 파인 튜닝 작업과 모델 아키텍처에서 LoRA보다 지속적으로 뛰어난 성능을 발휘합니다. 또한, DoRA는 훈련 후 분해된 크기 및 방향 구성 요소를 사전 훈련된 가중치로 다시 병합할 수 있어 추가적인 추론 오버헤드가 발생하지 않으므로 비용 부담이 없는 LoRA의 대체재로 간주할 수 있습니다. NVIDIA는 DoRA를 통해 다양한 파운데이션 모델을 NVIDIA Metropolis, NVIDIA NeMo, NVIDIA NIM, NVIDIA TensorRT, 시청각, 로봇 공학, 생성형 AI 등의 다양한 애플리케이션에 효과적으로 적용하는 데 도움이 되기를 바랍니다.
자세한 내용은 다음 리소스를 확인하세요:
- DoRA: Weight-Decomposed Low-Rank Adaptation
- NVlabs/DoRA GitHub repo
- DoRA project page
- DoRA ICML 2024 oral paper