일러두기 (Disclaimer)
본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.
논문 링크 : https://arxiv.org/abs/2402.09353
DoRA: Weight-Decomposed Low-Rank Adaptation
Among the widely used parameter-efficient fine-tuning (PEFT) methods, LoRA and its variants have gained considerable popularity because of avoiding additional inference costs. However, there still often exists an accuracy gap between these methods and full
arxiv.org
초록 (Abstract)
널리 사용되는 파라미터 효율적 파인튜닝(Parameter-Efficient Fine-Tuning, PEFT) 방법들 중, LoRA와 그 변형들은 추가적인 추론 비용을 방지한다는 점 때문에 상당한 인기를 얻었습니다. 그러나 이러한 방법들과 전체 파인튜닝(Full Fine-Tuning, FT) 사이에는 여전히 정확도 격차가 종종 존재합니다. 본 연구에서는 우선 FT와 LoRA 사이의 근본적인 차이점을 조사하기 위해 새로운 가중치 분해(Weight Decomposition) 분석을 도입합니다. 이 발견으로부터 FT의 학습 능력을 모방하는 것을 목표로 하여, 우리는 가중치 분해 저랭크 적응(Weight-Decomposed Low-Rank Adaptation, DoRA)을 제안합니다. DoRA는 파인튜닝을 위해 사전 학습된 가중치를 크기(Magnitude)와 방향(Direction)이라는 두 가지 구성 요소로 분해하며, 특히 방향성 업데이트에 LoRA를 사용하여 훈련 가능한 파라미터의 수를 효율적으로 최소화합니다. DoRA를 사용함으로써, 우리는 추가적인 추론 오버헤드를 방지하면서도 LoRA의 학습 능력과 훈련 안정성을 모두 향상시킵니다. DoRA는 상식 추론, 시각적 지시 조정, 그리고 이미지/비디오-텍스트 이해와 같은 다양한 다운스트림 작업에서 LLaMA, LLaVA, 그리고 VL-BART를 파인튜닝할 때 일관되게 LoRA를 능가합니다.
1. 한줄 요약 & 3줄 핵심 (Executive Summary)
사전 학습된 인공신경망의 가중치를 '방향'과 '크기'로 물리적으로 분리한 뒤, 연산량이 많은 방향성에만 저랭크 행렬(LoRA) 기법을 적용하여 연산의 효율성과 전체 파인튜닝(FT) 수준의 정확도를 동시에 달성한 파라미터 효율적 학습 기법입니다.
- 기존의 문제점 (Pain point): 기존의 대세 파인튜닝 기법인 LoRA는 매우 효율적이지만, 가중치를 업데이트할 때 가중치의 방향과 크기가 톱니바퀴처럼 맞물려 비례적으로만 변하는 구조적 한계가 있어 전체 파인튜닝에 비해 미세한 조정 능력이 떨어졌습니다.
- 이 논문의 해결책 (Solution): 모델의 가중치를 방향을 나타내는 행렬과 크기를 나타내는 1차원 벡터로 완전히 분리한 다음, 파라미터 수가 많은 방향 행렬에만 LoRA 방식을 적용하여 방향과 크기가 서로 독립적으로 유연하게 학습될 수 있는 구조를 제안했습니다.
- 달성한 성과 (Key Result): 자연어 처리(LLaMA), 시각적 지시 조정(LLaVA), 이미지 생성(Stable Diffusion XL) 등 다양한 모델과 데이터 환경에서 추론 시 추가되는 연산 지연 없이 기존 LoRA 대비 뛰어난 성능을 기록했으며, 학습 데이터가 적거나 랭크(Rank)가 낮은 악조건 속에서도 안정적인 방어력을 입증했습니다.
2. 들어가며: 왜 이 연구가 필요했나? (The "Why")
현대의 인공지능, 특히 대규모 언어 모델(Large Language Model, LLM)과 멀티모달 모델들은 방대한 양의 일반적인 인터넷 텍스트와 이미지를 바탕으로 사전 학습(Pre-training)됩니다. 이 과정을 통해 모델은 문법 구조를 익히고 세상에 대한 보편적인 지식을 습득하게 됩니다. 하지만 이렇게 범용적으로 학습된 모델을 의료 진단, 법률 문서 요약, 특정 기업의 고객 응대 챗봇 등 특수한 목적(Downstream task)에 맞게 활용하기 위해서는 추가적인 학습 단계가 필수적입니다. 이 추가 학습 과정을 파인튜닝(Fine-Tuning)이라고 부릅니다.
기존의 딥러닝 연구자들은 파인튜닝을 수행할 때 모델 내부에 존재하는 수십억 혹은 수백억 개의 파라미터 전체를 하나하나 다시 업데이트하는 전체 파인튜닝(Full Fine-Tuning, FT) 방식을 기본값으로 사용했습니다. 전체 파인튜닝은 모델이 새로운 데이터의 미세한 패턴과 특성을 가장 완벽하고 유연하게 학습할 수 있도록 보장하는 강력한 방법입니다. 하지만 인공지능의 발전과 함께 모델의 체급이 기하급수적으로 커지면서 심각한 문제가 발생하기 시작했습니다. 예를 들어 1,750억 개의 파라미터를 가진 GPT-3 수준의 대규모 모델을 전체 파인튜닝하는 것은 막대한 컴퓨팅 자원과 수개월의 시간을 요구합니다. 더 큰 문제는 저장 공간입니다. 서로 다른 열 개의 과업을 수행하는 봇을 만들기 위해서는, 1,750억 개의 파라미터를 가진 거대한 모델 복사본을 무려 열 개나 독립적으로 서버에 저장하고 불러와야만 합니다. 이는 상업적 운용 환경에서 감당하기 어려운 막대한 비용을 초래합니다.
이러한 막대한 컴퓨팅 자원 및 메모리 병목 현상을 해결하기 위해 등장한 구원투수가 바로 파라미터 효율적 파인튜닝(Parameter-Efficient Fine-Tuning, PEFT) 방법론입니다. PEFT의 핵심 철학은 기존 모델의 거대한 파라미터들은 얼려둔(Freeze) 채로 고정하고, 오직 소수의 훈련 가능한 새로운 파라미터만을 추가하여 목적에 맞게 학습시키는 것입니다. 초기에는 모델의 입력 데이터 쪽에 특정 신호를 추가하는 프롬프트 튜닝(Prompt Tuning)이나 신경망 층 사이에 작은 어댑터 층을 직렬로 끼워 넣는 어댑터(Adapter) 방식들이 연구되었습니다. 하지만 이러한 방식들은 입력 길이가 길어지거나 추론 단계를 거칠 때마다 추가적인 연산을 발생시켜, 실제 서비스 환경에서 응답 속도를 저하시키는 치명적인 추론 지연(Inference Latency)을 유발했습니다.
이 시점에서 마이크로소프트의 연구진이 발표한 LoRA(Low-Rank Adaptation) 기술은 PEFT 분야의 판도를 완전히 뒤집었습니다. LoRA는 기존의 무거운 가중치 행렬 옆에 병렬로 두 개의 아주 작은 행렬을 덧대어 학습시키는 방식을 제안했습니다. 이 구조는 훈련해야 할 파라미터 수를 기존 대비 1만 분의 1 수준으로 줄이면서도 만족스러운 성능을 도출했습니다. 더욱 놀라운 점은, 학습이 끝난 후 이 작은 행렬들을 원래의 고정된 가중치 행렬에 수학적으로 더해버릴(Merge) 수 있다는 점이었습니다. 결과적으로 파인튜닝이 끝난 모델의 구조는 사전 학습 모델과 완전히 동일해지므로, 앞선 기법들이 겪었던 추론 속도의 저하가 원천적으로 차단되었습니다.
그러나 학계와 산업계의 연구자들은 점차 한 가지 답답한 현상에 직면하게 됩니다. LoRA가 컴퓨팅 효율성 측면에서 압도적으로 훌륭한 도구임은 분명하지만, 정밀한 언어 이해나 복잡한 수학적 추론을 요구하는 고난이도 벤치마크에서는 지속적으로 전체 파인튜닝(FT)의 성능을 완전히 따라잡지 못하는 일명 정확도 격차(Accuracy Gap) 현상이 반복적으로 관찰된 것입니다.
학계는 이 현상에 대해 깊이 고민하지 않고 단순한 결론을 내렸습니다. "LoRA는 전체 파인튜닝에 비해 업데이트할 수 있는 파라미터의 수가 물리적으로 턱없이 부족하다. 표현할 수 있는 용량(Capacity) 자체가 작기 때문에 성능이 떨어지는 것은 당연한 이치다"라는 가설이 정설처럼 받아들여졌습니다. 성능을 높이고 싶다면 LoRA의 행렬 크기(랭크)를 계속해서 키우는 수밖에 없다는 것이 일반적인 인식이었습니다.
하지만 본 보고서에서 다루는 엔비디아(NVIDIA) 연구진은 이러한 학계의 보편적 가정에 근본적인 의문을 품었습니다. "단지 훈련 파라미터 개수가 부족해서 발생하는 문제일까? 만약 전체 파인튜닝과 LoRA가 데이터를 학습하고 가중치를 업데이트하는 '수학적 패턴과 경로' 자체가 구조적으로 다르기 때문에 발생하는 한계라면 어떨까?" 이 날카로운 질문과 호기심이 바로 파인튜닝의 구조를 가중치의 '크기'와 '방향'으로 분해하여 바라보는 DoRA 연구의 출발점이자, 성능의 한계를 돌파하는 열쇠가 되었습니다.
3. 이 논문의 뿌리 (Key Reference)
DoRA라는 새로운 아키텍처가 탄생하기 위해서는 학계에 이미 단단하게 자리 잡고 있던 핵심 연구적 토대들이 필요했습니다. 이 논문은 다음의 주요 논문들이 제시한 아이디어를 비판적으로 계승하고 독창적으로 결합한 산물입니다. 특히 단순한 모방을 넘어, 이전 기법들이 해결하지 못한 근본적 한계를 명확하게 짚어내고 이를 수학적으로 연결한 점이 돋보입니다.
LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)
이 논문은 대규모 언어 모델의 가중치 행렬 변화가 사실은 본질적으로 낮은 랭크(Low Intrinsic Rank)를 가지고 있다는 가설에서 출발했습니다. 다시 말해, 수십억 개의 숫자가 변하는 것처럼 보이지만, 실제로 모델이 새로운 지식을 학습하기 위해 움직이는 핵심적인 방향의 갈래는 몇 개 되지 않는다는 의미입니다. 이를 바탕으로 기존 가중치를 고정하고 작은 크기의 행렬 두 개($B$와 $A$)의 곱으로 가중치 변화량($\Delta W$)을 근사하여 학습시키는 방식을 제안했습니다.
- 관계: DoRA 논문의 직접적인 비교 대상이자 백본(Backbone)으로 작동하는 가장 중요한 뿌리입니다. DoRA는 LoRA가 달성한 '추론 단계에서의 지연 시간(Latency) 제로'라는 막대한 이점을 그대로 취합니다. 하지만 동시에 LoRA가 가지는 본질적인 한계, 즉 학습 중 가중치의 크기와 방향이 독립적으로 움직이지 못한다는 맹점을 정면으로 비판하며 이를 극복하기 위한 새로운 틀을 제시합니다.
Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks (Salimans & Kingma, 2016)
딥러닝 모델의 훈련 속도를 비약적으로 높이기 위해 제안된 이 논문은 인공신경망의 최적화 과정에서 가중치 벡터를 '길이(Length, 크기)'와 '방향(Direction)'으로 분리(Decoupling)하는 방식을 고안했습니다. 전통적인 확률적 기울기 하강법(Stochastic Gradient Descent)에서는 벡터를 한 덩어리로 보고 학습을 진행했으나, 이를 방향을 나타내는 단위 벡터와 그 벡터를 얼마나 늘릴지를 결정하는 스칼라 값으로 재구성(Reparameterization)하면 기울기의 조건이 개선되어 수렴 속도가 훨씬 빨라진다는 것을 증명했습니다.
- 관계: DoRA 구조를 탄생시킨 수학적 영감의 원천입니다. 기존의 가중치 정규화 논문은 모델의 모든 파라미터를 처음부터 끝까지 새롭게 학습시키는 사전 학습(Pre-training)이나 일반적인 딥러닝 훈련 과정을 가속하기 위해 사용되었습니다. 초기화 값에 매우 민감하다는 단점도 있었습니다. 반면, DoRA 연구진은 이 기법을 '이미 잘 훈련된 가중치를 미세 조정하는 파인튜닝'이라는 완전히 다른 맥락으로 끌고 왔습니다. 이미 완성된 지식을 가진 사전 학습 가중치로 방향과 크기를 초기화함으로써 초기화 민감성 문제를 자연스럽게 해결하고, 이를 LoRA 구조에 접목시키는 탁월한 응용력을 보여주었습니다.
VeRA: Vector-based Random Matrix Adaptation (Kopiczko et al., 2024)
VeRA는 LoRA의 훈련 가능한 파라미터 수를 획기적으로 더 줄이기 위해 고안된 LoRA의 변형 모델 중 하나입니다. 각 신경망 층마다 별개의 LoRA 행렬을 두는 대신, 전체 층이 고정된 무작위 저랭크 행렬 쌍을 공유하게 만들고, 오직 각 층에 특화된 아주 작은 크기의 크기 조정(Scaling) 벡터만을 학습시키는 방식을 제안했습니다. 이 방식은 훈련 파라미터 수를 기존 LoRA의 10분의 1 수준으로 줄이는 기염을 토했습니다.
- 관계: DoRA의 모듈식 유연성(Compatibility)을 증명하기 위해 채택된 핵심 참조 논문입니다. DoRA 연구진은 자신들이 고안한 방향 행렬 분해 기법 내부에 반드시 원본 LoRA만 들어가야 하는 것이 아니라는 점을 보여주고자 했습니다. 방향 업데이트 모듈 자리에 LoRA 대신 VeRA를 끼워 넣은 새로운 조합인 DVoRA를 구축하여, DoRA의 개념이 다른 효율적인 기법들과 결합하여 시너지를 낼 수 있는 보편적인 프레임워크임을 입증했습니다.
4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)
DoRA가 제시하는 가장 핵심적인 통찰은 가중치 분해 분석(Weight Decomposition Analysis)을 통해 전체 파인튜닝(FT)과 LoRA 간의 결정적 차이를 시각적이고 수학적으로 규명해 냈다는 점입니다. 이 분석은 "LoRA의 성능 한계가 단지 파라미터 개수의 부족 때문이 아니다"라는 것을 명확히 입증하며 파인튜닝 기법의 새로운 지평을 열었습니다.
이를 이해하기 위해 먼저 신경망 내부에 존재하는 가중치(Weight)의 특성을 간단히 정의할 필요가 있습니다. 인공신경망의 가중치 행렬 내에 존재하는 각 열 벡터는 하나의 화살표로 비유할 수 있습니다.
- 방향(Direction): 화살표가 공간상에서 가리키는 고유의 각도를 의미합니다. 이는 모델이 수많은 데이터 속에서 '어떤 종류의 특정 패턴을 인식할 것인지' 그 특징 자체를 결정하는 역할을 합니다.
- 크기(Magnitude): 그 화살표가 얼마나 긴지, 즉 길이를 의미합니다. 모델이 자신이 발견한 그 패턴을 최종 결론을 내릴 때 '얼마나 중요하게 반영할 것인지' 가중치의 영향력을 결정합니다.
사전 학습된 거대한 언어 모델은 방대한 일반 지식을 이미 갖추고 있습니다. 따라서 특정 다운스트림 과업(예: 의학 용어 번역)을 위해 파인튜닝을 할 때, 기존 지식의 체계를 완전히 뒤엎을 필요가 없습니다. 대부분의 경우 기존 지식의 방향을 아주 미세하게만 틀어주거나, 특정 지식의 중요도(크기)만을 증폭시키는 식의 정교하고 섬세한 조율만이 필요합니다.
딥러닝 모델의 파인튜닝 과정을 하늘의 새로운 별자리를 관측하기 위해 망원경의 렌즈와 각도를 조절하는 과정에 비유해 보겠습니다. 별을 명확하게 보기 위해서는 망원경 본체의 '각도(방향)'를 조절하는 것과 렌즈의 '줌인/줌아웃(크기)'을 조절하는 두 가지 작업이 필요합니다.
- 전체 파인튜닝(FT)의 방식: 전체 파인튜닝은 마치 줌 다이얼과 각도 조절 레버가 완전히 분리되어 있는 최고급 망원경을 다루는 것과 같습니다. 천문학자(모델)는 줌은 그대로 둔 채 각도만 아주 크게 돌릴 수도 있고, 반대로 각도는 미세하게 고정한 상태에서 특정 별을 크게 보기 위해 줌만 끝까지 당길 수도 있습니다. 즉, 필요에 따라 방향과 크기를 독립적으로 조작하여 최적의 시야를 확보합니다.
- LoRA의 방식: 반면 LoRA는 줌 다이얼과 각도 조절 레버가 톱니바퀴로 서로 맞물려 버린 저렴한 망원경에 비유할 수 있습니다. 구조적인 제약 때문에 각도를 크게 돌리려면 줌 다이얼도 강제로 크게 돌아가고, 각도를 조금만 바꾸려면 줌 다이얼도 조금만 바뀝니다. 방향과 크기를 독립적으로 조작할 수 없으며, 두 요소의 변화량이 항상 비례하는 양의 상관관계(Positive Correlation)를 가집니다.
실제로 연구진이 LLaMA 모델을 파인튜닝하며 기존 가중치 대비 학습 후 가중치의 변화량을 정밀 추적해 시각화한 결과(Scatter plot 분석)는 놀라웠습니다. 가로축을 방향의 변화량($\Delta D$), 세로축을 크기의 변화량($\Delta M$)으로 두었을 때, 전체 파인튜닝(FT)은 산점도의 기울기가 음수(-0.62)를 띠었습니다. 즉, 방향이 크게 변할 때는 크기를 덜 변화시키고, 방향이 조금 변할 때는 크기를 크게 변화시키는 식의 효율적인 상호 보완적 움직임을 보였습니다. 반면 LoRA는 기울기가 강한 양수(+0.83)를 띠며, 방향을 바꾸려면 원치 않더라도 크기까지 한꺼번에 크게 변동해야만 하는 구조적 경직성을 여실히 드러냈습니다.
이 명확한 발견에서 연구진의 "Aha! Moment(결정적 깨달음)"가 도출됩니다. "LoRA의 학습 능력이 FT에 미치지 못하는 이유는 훈련 파라미터가 적어서가 아니다. 방향과 크기가 서로 묶여서 억지로 같이 움직여야 하는 경직성 때문이다. 그렇다면, 애초에 가중치를 크기 요소($m$)와 방향 요소($V$)로 물리적으로 분리해 버리자. 파라미터 덩어리가 매우 큰 방향 요소에는 효율적인 LoRA 구조를 적용하여 연산량을 아끼고, 파라미터가 한 줄의 리스트에 불과한 크기 요소는 자유롭게 따로 학습하도록 풀어주자."
이 발상의 전환을 통해 DoRA는 훈련해야 할 파라미터 개수를 기존 LoRA와 거의 동일하게 유지하면서도, 전체 파인튜닝(FT)처럼 방향과 크기를 독립적으로 조절할 수 있는 수학적 구조를 확보하게 되었습니다. 적은 파라미터로도 모델이 학습 공간을 탐색하는 자유도와 표현 능력을 극대화한 것입니다.
5. 작동 원리: 어떻게 돌아가는가? (The "How")
DoRA의 내부에서 데이터가 처리되는 구조는 매우 논리적이고 직관적입니다. 학습 데이터가 입력되어 가중치가 업데이트되고 다시 출력되기까지의 과정을 단계별로 풀어서 설명합니다.
Step 1: 원본 가중치의 분해와 초기화 (Decomposition & Initialization)
학습을 시작하기 전 가장 먼저 해야 할 일은, 사전 학습이 완료되어 고정되어 있는 기존 신경망의 가중치 행렬($W_0$)을 두 가지 요소로 해체하는 것입니다.
- 방향 행렬($V$): 기존 가중치 행렬의 각 열(Column) 벡터들의 길이를 수학적으로 1로 만들어버립니다. 이렇게 하면 길이에 대한 정보는 모두 사라지고 순수한 '방향' 데이터만 남은 행렬을 얻게 됩니다.
- 크기 벡터($m$): 길이가 1로 축소되기 전 원래 가중치가 가지고 있던 길이(크기) 값들을 따로 뽑아내어 1차원의 리스트(벡터) 형태로 저장합니다. 이렇게 분리된 방향 행렬과 크기 벡터를 서로 곱해주면 다시 원래의 가중치 행렬과 완전히 똑같은 값이 됩니다. 이 과정은 초기화에 민감한 신경망 학습에서, 기존 모델이 축적한 지식을 전혀 손상시키지 않고 그대로 보존한 채로 훈련의 출발선에 서게 해 줍니다.
Step 2: 훈련 대상 설정 (Freezing & Unfreezing)
가중치를 분리했다면 이제 무엇을 고정하고 무엇을 학습시킬지 결정해야 합니다. 이 지점이 DoRA의 연산 효율성을 결정짓는 핵심 구간입니다.
- 방향 행렬($V$)은 신경망의 구조상 수억 개의 파라미터로 이루어져 있으므로, 이를 직접 학습시키면 전체 파인튜닝과 다를 바가 없어집니다. 따라서 이 행렬은 단단하게 얼려버립니다(Freeze).
- 대신, 얼어붙은 방향 행렬의 우회로 역할을 할 수 있도록 아주 작은 행렬 두 개($B$와 $A$)를 새로 만들어 병렬로 연결합니다. 이 구조가 바로 LoRA 모듈입니다. 앞으로 훈련 중에 새롭게 획득해야 할 지식, 즉 '방향의 변화량($\Delta V$)'은 오로지 이 두 개의 작은 행렬의 곱을 통해서만 학습됩니다.
- 반면 크기 벡터($m$)는 단순히 각 열의 길이를 조절하는 1차원 데이터이므로 파라미터 수가 매우 적습니다. 따라서 이 크기 벡터는 얼리지 않고 훈련 과정에서 데이터에 따라 값이 직접 변하도록 열어둡니다(Trainable). 결과적으로 기존 LoRA 모델 대비 늘어난 파라미터 수는 고작 전체의 0.01% 수준에 불과합니다.
Step 3: 데이터 통과 및 기울기 피드백 (Forward & Backward Flow)
텍스트나 이미지 등 실제 데이터가 신경망 층을 통과할 때, 내부에서는 데이터가 지나가기 직전에 먼저 가중치를 조립하는 과정이 다음과 같은 순서로 진행됩니다.
- 얼려진 기존 방향 행렬($V$)과 현재 학습 중인 작은 우회로 행렬($BA$)이 더해져 '변화가 적용된 새로운 방향 행렬'이 만들어집니다.
- 이 새로운 방향 행렬의 각 열 벡터 길이를 다시 1로 표준화(정규화, Normalization)하여 순수한 방향 정보만 남깁니다.
- 방향성이 확립된 행렬에 독립적으로 학습 중인 '새로운 크기 벡터($m$)'를 곱하여 최종적인 가중치 행렬 조립을 완성합니다.
- 입력 데이터는 이렇게 방향과 크기의 조율이 완벽하게 끝난 가중치 행렬을 통과하여 그 결괏값이 다음 신경망 층으로 넘어갑니다.
출력된 결과와 정답 간의 오차를 계산한 뒤, 이 오차를 줄이기 위해 내부 설정값을 거꾸로 되짚어가며 수정하는 역전파(Backpropagation) 과정이 일어납니다. 이전의 LoRA에서는 오차가 발생하면 방향과 크기가 한 덩어리로 섞인 채 수정되어야 했지만, DoRA에서는 크기를 담당하는 $m$과 방향의 변화를 담당하는 $BA$가 서로 완벽히 분리된 상태로 각자의 오차 피드백을 받아 독립적으로 수정됩니다. 필요한 경우 방향만 크게 틀거나, 방향은 유지한 채 특정 지식의 크기(가중치)만 미세하게 조절하는 섬세한 학습이 가능해집니다.
연구진은 훈련 속도와 메모리 효율을 극대화하기 위해 기발한 최적화 기법을 도입했습니다. 방향 벡터의 길이를 1로 나누어주는 정규화 과정의 분모 값은 역전파 시 복잡한 계산을 유발하여 그래픽 카드(GPU)의 메모리를 상당 부분 차지합니다. 연구진은 역전파를 수행할 때 이 정규화 분모 부분으로 기울기 피드백이 흘러가지 않도록 계산 그래프에서 강제로 단절(Stop-gradient)시켜 상수처럼 취급하는 트릭을 썼습니다. 이 사소한 조작 덕분에 훈련된 모델의 최종 정확도는 그대로 유지하면서도, GPU 메모리 사용량을 LLaMA 파인튜닝 기준 약 24.4%, VL-BART 기준 12.4%나 대폭 절감하는 데 성공했습니다.
Step 4: 서비스 배포를 위한 가중치 병합 (Inference Merge)
성공적으로 파인튜닝이 마무리된 후 실제 서비스 환경에 배포할 때는 연산 속도가 생명입니다. 우리는 훈련을 통해 1) 기존의 얼려둔 방향 행렬($V$), 2) 학습된 작은 우회로 방향 행렬($BA$), 3) 학습된 크기 벡터($m$)를 확보했습니다. 추론(Inference) 단계로 넘어가기 직전, 이 세 가지 분리된 요소를 미리 한 번에 곱하고 더해서 완전히 새로운 하나의 거대한 단일 가중치 행렬로 뭉쳐버립니다(Merge). 결과적으로 배포된 모델 내부에는 어떤 곁가지나 우회로 구조도 존재하지 않게 되며, 원본 사전 학습 모델과 동일한 가장 단순한 행렬 구조만 남게 됩니다. 덕분에 복잡한 파인튜닝을 거쳤음에도 불구하고 사용자에게 답변을 생성해 내는 추론 과정에서는 추가적인 지연 시간이나 시스템 오버헤드가 발생하지 않습니다.
6. 작동 원리: 어떻게 학습하는가? (The "How")
인공지능 모델의 성능은 결국 어떤 데이터를 먹고 자랐는지에 의해 결정됩니다. 파인튜닝은 사전 학습을 통해 획득한 방대한 보편적 지식을 '특정 목적'에 맞게 날카롭게 벼리는 과정이므로, 입력과 출력의 쌍이 매우 명확하게 정렬된 데이터를 사용합니다. DoRA 논문에서 모델의 압도적 성능을 입증하기 위해 사용된 실제 학습 데이터의 종류와 포맷을 구체적으로 살펴보겠습니다.
상식 추론 (Commonsense Reasoning)을 위한 텍스트 데이터셋
언어 모델인 LLaMA를 파인튜닝할 때 사용된 텍스트 데이터입니다. 이는 모델이 단순하게 그럴듯한 다음 단어를 이어 붙이는 문법 생성기를 넘어, 인간과 유사한 논리적이고 상식적인 추론을 수행할 수 있도록 훈련하는 데 목적이 있습니다.
- 데이터 종류 및 포맷: 연구진은 BoolQ, PIQA, SIQA, HellaSwag 등 기존 학계에서 널리 사용되는 8개의 다양한 상식 추론 데이터셋을 하나로 통합하여 방대한 텍스트 쌍을 구축했습니다. 이 데이터는 주어진 상황 설명을 읽고, 질문에 대해 예/아니오로 답하거나 가장 상식적인 행동을 객관식으로 선택하는 형식입니다.
- 입력 데이터 예시 (Input):배경 상황: 진흙탕을 뒹굴며 놀던 강아지가 집 안으로 뛰어 들어왔다. 거실 카펫에는 진흙 발자국이 잔뜩 찍혔다. 강아지 주인이 가장 먼저 취할 행동은 무엇인가?
- 보기: A. 카펫을 새로 산다. B. 강아지를 잡아 목욕을 시킨다. C. 외출 준비를 한다."
- "지시사항: 다음 주어진 배경 상황을 읽고 상식에 기반하여 올바른 답을 고르시오.
- 출력 데이터 예시 (Output):
- "B. 강아지를 잡아 목욕을 시킨다."
시각적 지시 조정 (Visual Instruction Tuning)을 위한 멀티모달 데이터
단순한 텍스트 덩어리를 넘어, 이미지의 시각적 픽셀 정보와 텍스트의 의미를 연결하여 동시에 이해해야 하는 시각-언어 모델(LLaVA)을 파인튜닝할 때 사용된 데이터입니다.
- 데이터 종류 및 포맷: 한 장의 2D 이미지와 그 이미지 속에 포함된 객체나 상황에 대해 인간이 지시하거나 질문하는 텍스트가 하나의 쌍(Pair)으로 묶인 복합 입력 포맷입니다. VQA(Visual Question Answering), GQA, MSCOCO 등 수십만 개의 복합 데이터셋이 필터링 과정을 거쳐 사용되었습니다.
- 입력 데이터 예시 (Input):
- 이미지 데이터: 횡단보도 앞에 정지선 위반으로 멈춰 선 노란색 스쿨버스의 고해상도 2D 이미지 파일
- 텍스트 라벨: "이 이미지를 자세히 묘사하고, 이 상황에서 발생할 수 있는 잠재적인 교통법규 위반 사항을 추론하여 설명해 주세요."
- 출력 데이터 예시 (Output): "이미지 중앙에는 노란색 스쿨버스가 횡단보도를 침범한 채 정지해 있습니다. 스쿨버스는 정지선을 넘었기 때문에 횡단보도를 건너려는 보행자의 통행을 방해할 수 있으며, 이는 명백한 정지선 위반 사항입니다."
이미지 생성 (Text-to-Image Generation)을 위한 이미지 쌍
사용자의 텍스트 프롬프트를 바탕으로 이미지를 그려내는 모델(Stable Diffusion XL)을 특정 브랜드의 캐릭터나 고유한 화풍으로 맞춤화(Personalization)할 때 사용되는 데이터입니다.
- 데이터 종류 및 포맷: '3D 아이콘' 질감을 가진 이미지 23장 세트와 특정 장난감인 '레고(Lego) 캐릭터' 이미지 61장 세트를 사용했습니다. 이는 대규모 데이터가 아닌 극소수의 데이터만으로도 모델이 특징을 완벽하게 포착해 낼 수 있는지를 테스트하기 위한 목적입니다.
- 입력 데이터 예시 (Input): 특정 3D 질감 처리와 둥근 사각형 테두리를 가진 우주비행사 이미지 1장 + "TOK 스타일의 3D 아이콘 우주비행사"라는 짧은 텍스트 라벨
- 출력 데이터 (목표 생성물): 학습이 완료된 후 사용자가 "TOK 스타일의 말을 타는 우주비행사"라는 완전히 새로운 입력 프롬프트를 넣었을 때, 기존 사전 학습 데이터의 말 타는 형태를 가져오면서도 동시에 훈련 데이터가 가진 특유의 조명 렌더링 질감이나 둥근 테두리 프레임(방향과 크기의 디테일 조합)을 완벽히 모방한 새로운 이미지를 생성해 내는 것입니다.
DoRA 구조는 이렇게 다양한 형태의 입력 데이터를 받아들여, 예측 결과와 정답 사이의 오차를 계산하고 가중치의 크기 행렬과 방향 행렬을 서로 독립적으로 미세 조정함으로써 최적의 성능에 수렴해 나갑니다.
7. 결과: 얼마나 좋아졌나? (Results)
DoRA는 다양한 구조를 가진 모델 체급과 여러 벤치마크 테스트에서 기존의 LoRA를 일관되게 앞섰을 뿐만 아니라, 종종 자원 소모가 극심한 전체 파인튜닝(FT)의 성능을 뛰어넘거나 근접하는 놀라운 성과를 거두었습니다. 아래의 주요 결과를 나타내는 데이터 표와 분석을 통해 DoRA가 달성한 파괴적인 성능 향상을 살펴보겠습니다.
텍스트 언어 모델의 상식 추론 능력 비약적 향상
가장 널리 쓰이는 오픈소스 대규모 언어 모델인 LLaMA 계열을 상식 추론 데이터로 훈련시킨 결과입니다.
| 사용 모델 | 파인튜닝 기법 | 훈련 파라미터 비율 (%) | 평균 정확도 (Avg. Accuracy) |
| LLaMA-7B | 기존 LoRA | 0.83% | 74.7% |
| DoRA (본 논문 제안) | 0.84% | 78.4% (+3.7%p) | |
| DoRA (랭크 절반 축소) | 0.43% | 77.5% (+2.8%p) | |
| LLaMA-13B | 기존 LoRA | 0.67% | 80.5% |
| DoRA | 0.68% | 81.5% (+1.0%p) | |
| LLaMA3-8B | 기존 LoRA | 0.70% | 80.8% |
| DoRA | 0.71% | 85.2% (+4.4%p) |
위 표에서 볼 수 있듯이, LLaMA-7B 모델에서 DoRA는 기존 LoRA와 거의 동일한 파라미터 훈련량(0.84%)을 사용했음에도 평균 정확도를 74.7%에서 78.4%로 무려 3.7%p나 끌어올렸습니다. 딥러닝 벤치마크에서 3% 이상의 상승은 모델의 체급 자체를 한 단계(예: 7B에서 13B로) 높인 것과 맞먹는 획기적인 도약입니다. 특히 주목할 부분은 랭크를 절반으로 줄인 가혹한 조건(파라미터 비율 0.43%)의 실험입니다. 훈련 가능한 파라미터를 LoRA의 거의 절반 수준으로 깎아내렸음에도 불구하고 정확도는 여전히 LoRA보다 2.8%p 높았습니다. 이는 DoRA의 가중치 분해 구조 자체가 훈련 데이터를 소화해 내는 '학습 효율성'이 물리적으로 뛰어나다는 것을 증명합니다. 가장 최신 모델인 LLaMA3-8B에서도 LoRA 대비 4.4%p 향상된 결과를 보이며 범용적인 호환성을 입증했습니다.
멀티모달 모델 및 이미지 생성에서의 정밀도 향상
텍스트를 넘어 이미지와 비디오를 처리하는 멀티모달 영역에서도 한계 돌파가 관찰되었습니다. 시각-언어 모델인 VL-BART를 이미지/비디오 질의응답 및 캡션 생성 작업으로 훈련시킨 결과입니다.
| 모델 백본 | 파인튜닝 기법 | 훈련 파라미터 비율 (%) | 이미지-텍스트 평균 정확도 |
| VL-BART | 전체 파인튜닝 (FT) | 100% | 77.3% |
| 기존 LoRA | 5.93% | 76.5% | |
| DoRA | 5.96% | 77.4% (+0.9%p) |
멀티모달 작업의 결과는 더욱 극적입니다. DoRA는 LoRA를 0.9%p 차이로 앞선 것을 넘어서, 무려 100%의 파라미터를 모조리 다시 학습시킨 전체 파인튜닝(FT)의 정확도를 미세하게 뛰어넘는(77.3% vs 77.4%) 성과를 냈습니다. 비디오-텍스트 이해 영역에서도 LoRA 대비 약 2% 가까이 향상된 정확도를 보였습니다. 시각적 지시 조정 모델인 LLaVA 실험에서도 역시 FT 모델이 겪기 쉬운 과적합(Overfitting) 현상 없이 가장 높은 점수를 달성했습니다. 추가적으로 Stable Diffusion XL 기반의 이미지 생성 작업에서는 LoRA가 원본 데이터의 특유의 곡선 테두리 프레임이나 복잡한 레고 로고 등의 미세한 특징을 뭉개버리는 경향을 보였으나, 크기(Magnitude) 벡터를 개별적으로 조절할 수 있는 DoRA는 훈련 타겟의 섬세한 디테일까지 완벽하게 복원해 내는 시각적 우위를 점했습니다.
솔직한 한계점과 실패 케이스 (Limitations & Overhead)
이러한 눈부신 성과에도 불구하고, 논문과 실제 구현 환경에서 보고되는 명확한 한계점이 존재합니다. 솔직한 실패 케이스의 인지는 현업 적용을 위해 필수적입니다.
- 훈련 시간의 연장 (Training Overhead): DoRA는 추론 시에는 가중치를 하나로 뭉쳐버려 지연 시간(Latency)이 0에 수렴하지만, 학습을 진행하는 훈련 과정 자체는 기존 LoRA보다 확실히 더 느립니다. 이는 역전파 과정을 수행할 때 벡터의 길이를 계산하고 방향을 정규화(Normalization)하는 추가적인 수학 연산이 요구되며, 크기 벡터($m$)에 대한 기울기 연산이 병행되어야 하기 때문입니다. 특히 오픈소스 라이브러리인 허깅페이스(Hugging Face) PEFT의 현재 구현 버전에서는 배치 크기나 드롭아웃 설정에 따라 기존 LoRA 대비 훈련 시간이 적게는 16%에서 많게는 139%까지 증가한다는 벤치마크 결과가 지속적으로 보고되고 있습니다.
- 극소량 데이터에 대한 민감도: 특정 작업에서 훈련 데이터의 절대적인 양이 지나치게 적을 경우, 분리된 크기(Magnitude) 파라미터가 패턴을 일반화하지 못하고 오히려 노이즈까지 외워버리는 과적합(Overfitting) 발생 가능성이 일부 제기됩니다. 구조의 표현 능력이 너무 좋기 때문에 발생하는 양날의 검입니다.
8. 이 논문의 계보와 발전 (Impact & Follow-ups)
DoRA는 발표 직후부터 파인튜닝 생태계 전반에 거대한 파장을 일으켰습니다. 단순히 LoRA를 대체할 성능 좋은 옵션 중 하나로 여겨진 것을 넘어, DoRA의 아이디어를 기반으로 단점은 보완하고 효율은 극대화하는 혁신적인 후속 연구들이 폭발적으로 쏟아져 나오고 있습니다.
QDoRA (Quantized DoRA)와 FSDP의 혁명적 결합 (2024)
DoRA 논문 발표 이후 Answer.AI 등의 개발자 커뮤니티는 즉각적으로 QDoRA 프로젝트를 공개하여 오픈소스 진영을 흥분시켰습니다.
- 배경: 거대한 파라미터를 가진 언어 모델을 소비자용 저렴한 그래픽 카드(예: RTX 3090, 4090) 한두 대만으로 훈련시키기 위해, 원본 모델 가중치의 소수점 정밀도를 4비트(bit)로 압축해버리는 QLoRA 기술이 대세로 자리 잡고 있었습니다. 여기에 DoRA의 개념을 접목한 것입니다.
- 계보의 발전: QDoRA는 4비트 양자화(Quantization)를 통해 GPU 메모리 요구량을 극한으로 줄여냅니다. 하지만 양자화 과정에서 잃어버리는 모델의 정밀함을 DoRA의 구조적 장점을 통해 '전체 파인튜닝(FT)'에 필적하는 정확도로 방어해 냅니다. 특히 파이토치(PyTorch)의 고성능 다중 GPU 분산 학습 라이브러리인 FSDP(Fully Sharded Data Parallel) 시스템과 QDoRA를 결합하여, LLaMA-3 70B와 같은 초거대 모델을 과거에는 상상할 수 없었던 저렴한 소비자용 GPU 환경에서도 안정적으로 학습할 수 있는 길을 열어젖혔습니다.
BoRA (Bi-dimensional Weight-Decomposed LoRA) (Wang et al., 2024~2025)
DoRA의 '방향성 분해' 개념을 수학적으로 한 단계 더 확장하고 완성도를 높인 연구입니다.
- 배경: 기존 DoRA는 가중치 행렬을 쪼갤 때 행렬의 세로줄인 열(Column) 방향으로만 벡터 길이를 묶어 정규화하고 크기 스칼라 값을 뽑아냈습니다. 이는 신경망에 들어오는 입력과 나가는 출력 간의 수학적인 대칭성을 완벽히 반영하지 못하여 학습에 약간의 틈을 남기는 아쉬움이 있었습니다.
- 계보의 발전: BoRA는 행렬을 가로(Row)와 세로(Column) 양방향 모두에서 크기(Magnitude)를 분리해내는 이중 분해(Bi-dimensional normalization) 기법을 새롭게 도입했습니다. 이를 통해 가중치의 가로축과 세로축 크기를 독립적으로 대칭 조정할 수 있게 되었습니다. 결과적으로 파라미터를 늘리지 않고도 DoRA의 구조적 한계를 보완하여 여러 벤치마크에서 DoRA보다도 더 우수한 학습 표현력과 성능을 달성했습니다.
DoRAN (Stabilizing DoRA via Noise Injection & Auxiliary Networks) (Diep et al., 2025)
DoRA가 가진 치명적인 약점인 '수학적 훈련 불안정성'을 정면으로 타개하기 위해 고안된 모델입니다.
- 배경: DoRA에서 가중치를 방향 벡터의 길이로 나누어주는 정규화 과정 중, 분모의 값이 어떤 이유로 0에 아주 가깝게 작아지면 수식이 기하급수적으로 폭발하는(Unstable) 치명적 문제가 종종 발생했습니다.
- 계보의 발전: DoRAN 연구진은 이 분모 부분에 학습 가능한 '인위적인 노이즈(Noise)' 항을 주입하는 기발한 방식을 채택했습니다. 노이즈가 완충재 역할을 하여 값이 극단적으로 튀어 학습이 망가지는 현상을 완벽하게 방지하는 안정화(Stabilization)를 이뤄냈습니다. 더 나아가, 각 신경망 층마다 수십 개의 독립적인 LoRA 행렬을 두어 메모리를 낭비하던 기존 방식을 버리고, 하나의 작은 지휘 통제 네트워크(Hypernetwork)가 신경망의 층과 층 사이의 정보를 공유하며 필요한 파라미터를 동적으로 생성해 내도록 구조를 진화시켰습니다. 덕분에 훨씬 적은 훈련 데이터 환경에서도 성능 저하 없이 효율적인 튜닝이 가능해졌습니다.
9. 마무리
지금까지의 딥러닝 산업계는 효율과 성능이라는 양팔 저울 사이에서 늘 피곤한 타협을 강요받아 왔습니다. 수억 개의 파라미터를 모조리 풀어헤쳐 훈련(FT)하면 최고로 똑똑해지지만 유지 비용이 감당이 안 되고, 모델 옆에 조그만 우회로만 뚫어 훈련(LoRA)하면 지갑은 지킬 수 있지만 어딘가 미묘하게 멍청한 성능 한계에 부딪혔습니다. 하지만 엔비디아의 연구진은 딥러닝 모델이 다차원 공간에서 정답을 찾아 내려가는 험난한 수학적 여정을 현미경으로 관찰하듯 세밀하게 들여다보았습니다. 그리고 '방향'과 '크기'라는 물리학의 가장 기초적인 벡터 개념을 딥러닝 가중치에 접목하여 분리해냄으로써, 극도로 적은 파라미터만으로도 모델이 광활한 학습 공간을 자유롭게 유영할 수 있는 해방구를 마련해 주었습니다.