FinGPT ๋
ผ๋ฌธ์ ์ฝ๋ ์ค, ๋งค์ผ๋งค์ผ ์์์ ธ๋์ค๋ ๊ธ์ต ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ Fine-tuning์ ํ๋๋ฐ ์์ด์ LoRA๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋ณด๊ณ LoRA๋ฅผ ๊ฐ๋จํ๊ฒ๋ง ๋ด๊ฐ ์๊ณ ์๋ค๋ ์๊ฐ์ ํ๋ค. ๊ทธ๋์ ์ด๋ ๊ฒ LoRA ๋
ผ๋ฌธ์ ์ฐพ์๋ณด๊ฒ๋์๋ค. ์ฐธ๊ณ ๋ก Microsoft์์ ๋์จ ๋
ผ๋ฌธ์ธ๋ฐ ์ฝ๊ณ ๋๋ ์ด ๋
ผ๋ฌธ์ด ๊ฝค ๋๋จํ ๋ด์ฉ์ด๋ผ๋ ์ ์ ๋ค์ ํ ๋ฒ ๊นจ๋ฌ์๋ค.
0. Abstract
- LLM๋ชจ๋ธ์ ์ผ๋ฐ ๋๋ฉ์ธ ๋ฐ์ดํฐ์ ๋ํ ๋๊ท๋ชจ pre-training๊ณผ ํน์ ์์
๋๋ ๋๋ฉ์ธ์ ๋ํ fine-tuning์ผ๋ก ์ด๋ค์ง
- ex) GPT-3 175B๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๊ฐ 175B ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๋ฏธ์ธ ์กฐ์ ๋ชจ๋ธ์ ๋
๋ฆฝ์ ์ธ ์ธ์คํด์ค๋ฅผ ๋ฐฐํฌํ๋ ๋ฐ ๋น์ฉ์ด ์์ฒญ๋๊ฒ ๋ง์ด ๋ญ๋๋ค.
- ์ฌ์ ํ์ต ๋ ๋ชจ๋ธ ๊ฐ์ค์น ๋ฅผ ๋๊ฒฐํ๊ณ ํ์ต ๊ฐ๋ฅํ ์์ ๋ถํด ํ๋ ฌ์ Transformer ์ํคํ
์ฒ์ ๊ฐ ๊ณ์ธต์ ์ฃผ์
ํ์ฌ ๋ค์ด์คํธ๋ฆผ ์์
์ ๋ํด ํ์ต ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์ ์๋ฅผ ํฌ๊ฒ ์ค์ด๋ LoRA(Low-Rank A ์ ์)๋ฅผ ์ ์
- LoRA๋ ํ๋ จ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์ ์๋ฅผ 10,000๋ฐฐ, GPU ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ ์ฌํญ์ 3๋ฐฐ ์ค์ผ ์ ์์๋ค. ๋ํ ์ฑ๋ฅ ๋ฉด์์๋ RoBERTa, DeBERTa, GPT-2 ๋ฐ GPT-3์ ๋ชจ๋ธ ํ์ง์์ ๋ฏธ์ธ ์กฐ์ ๋ณด๋ค ๋๋ฑํ๊ฑฐ๋ ๋ ๋์ ์ฑ๋ฅ์ ๋ฐํํจ.
1. Introduction
๐ค LLM์ ๊ธฐ๋ณธ์ ์ผ๋ก pre-trained model๋ก๋ถํฐ ํน์ task(e.g. summarization, question and answering, ...)์ adaptationํ๊ธฐ ์ํด fine-tuning์ ํด์ผ ํฉ๋๋ค. Fine-tuning์ ํ๋ฉด์ LLM๋ชจ๋ธ์ weight parameters๋ฅผ ๋ชจ๋ ๋ค์ ํ์ตํ๊ฒ ๋๋๋ฐ ์ด๋ ์์ฒญ๋ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
(์๋ฅผ ๋ค์ด GPT-2(or 3), RoBERTa large๋ชจ๋ธ์ ๊ฒฝ์ฐ fine-tuning๋ง ๋ช ๋ฌ์ด ๊ฑธ๋ฆฐ๋ค.)
โ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํด๋น ๋
ผ๋ฌธ์์๋ Low-Rank Adaptation(LoRA)๋ฅผ ์ ์
LoRA์ overview ์ด๋ฏธ์ง์ด๋ค.
์ด ์ด๋ฏธ์ง์์ ๋ณผ ์ ์๋ ๊ฒ์ฒ๋ผ, ๊ธฐ์กด์ weights ๋์ ์๋ก์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์ด์ฉํด์ ๋์ผํ ์ฑ๋ฅ๊ณผ ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ก ํ๋ํ ์ ์๋ ๋ฐฉ๋ฒ๋ก ์ ์ ์ํ๊ณ ์๋ค.
LoRA๋ Low-Rank ๋ฐฉ๋ฒ์ ์ด์ฉํ์ฌ time, resource cost๋ฅผ ์ค์ด๊ฒ ๋๋ค.
(๐ป๊ฐ๋จํ ์ค๋ช
)
์ Figure 1๊ณผ ๊ฐ์ด fine-tuning์์ pre-trained weights W๋ frozenํด๋๊ณ low rank decomposition๋ weights A, B๋ง ํ์ตํ๊ณ W์ summationํ๊ฒ ๋๋ค. Low rank๋ก decomposition๋ weights๋ ๋น์ฐํ๊ฒ๋ ๊ธฐ์กด W๋ณด๋ค ํจ์ฌ ์์ ํฌ๊ธฐ์ weight์ด๊ธฐ ๋๋ฌธ์ time, resource cost๋ฅผ ์ค์ผ ์ ์๊ฒ ๋๋ค.
๋ํ pre-trained model์ ๊ฐ์ง๊ณ ์๋ ์ํ์์ ํน์ task์ adaptationํ๊ธฐ ์ํด์ A์ B๋ง storage์ ์ ์ฅํ๋ฉด ๋๊ณ ๋ค๋ฅธ task์ adaptationํ๊ธฐ ์ํด ๋ ๋ค๋ฅธ A', B'๋ง ๊ฐ์ ๋ผ์ฐ๋ฉด ๋๊ธฐ ๋๋ฌธ์ storage, task switching๋ฉด์์ ๋งค์ฐ ํจ์จ์ ์ด๋ค. ์ถ๊ฐ์ ์ผ๋ก inference์์๋ fine-tuned model์ latency์ฑ๋ฅ์ด ๋ฎ์์ง์ง๋ ์๋๋ค.
๐กLow-Rank ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ์ด์ ?
๐"Measuring the Intrinsic Dimension of Objective Landscapes"๋
ผ๋ฌธ, ๐"Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning"๋
ผ๋ฌธ์์
โ over-parameterized model์ low intrinsic dimension์ผ๋ก ์กด์ฌํ๊ณ ์๋คโ
-> model adaptation๋์์ weight change์๋ low intrinsic rank๋ฅผ ๊ฐ์ง ๊ฑฐ๋ผ๊ณ ๊ฐ์ ํ๊ฒ ๋๊ณ Low-Rank ๋ฐฉ๋ฒ์ ์ฌ์ฉ
LoRA๋ ๊ธฐ์กด pre-trained weights๋ frozenํด๋๊ณ ๋ช ๊ฐ์ dense(fc) layers๋ง ํ์ตํ๋ ๊ฒ์ธ๋ฐ ์ด๋ ํ์ต๋ฐฉ๋ฒ์ด dense layer์ weight์ low rank๋ก decompositionํ matrices๋ง์ optimizationํ๋ ๊ฒ!
โ
Terminologies and Conventions
2. Problem Statement
โ
LoRA๋ training objective์ ์๊ด์์ด ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ(Agnostic)ํ์ง๋ง, LLM์์์ ์์๋ก LoRA๋ฅผ ์ค๋ช
ํ๋ค.
-
๊ธฐ์กด์ LLM๋ชจ๋ธ(GPT)์ ํ๋ฅ ํจ์๋ฅผ Pฮฆโ(yโฃx)๋ก ์ ์ํ๋ค. (y์ x๋ context-target pair์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ํธํจ. Pฮฆโ(yโฃx) ๋ GPT๊ฐ์ multi-task learner ๋ชจ๋ธ์ ํ๋ฅ ํจ์์ด๋ค.)
-
๊ทธ๋ฆฌ๊ณ fine-tuning๊ณผ์ ์์ LLM์ด ํ๋๋๋ ฮฆ๊ฐ ์ต์ ํ ๋๋ ์์ ์๋ ์์ฒ๋ผ ํํ ๋ ์ ์๋ค.
- ฮฆ0โ : pre-trained weights
- ๊ธฐ์กด์ full fine-tuning model์ pre-trained model weights ฮฆ0โ๋ก initialized ๋๊ณ , ์์ Log-likelihood function์ ์ต๋ํํ๊ณ ์ ฮฆ0โ+ฮฮฆ์ update ํ๋ค.
- Log-likelihood function์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ๊ฐ์ฅ ์ ํฉํ ํ๋ผ๋ฏธํฐ ฮฆ์ ๋์ฌ ํ๋ฅ ์ ์ต๋ํ ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
- ์ง๊ด์ ์ผ๋ก backpropagationํ ๋์ ๋ชจ๋ธ์ ๋ํ๋ด๋ฉด, ฮฆ=ฮฆ0โ+ฮฮฆ ์ด๋ ๊ฒ ๋๋ค.
๐ค full fine-tuning์ ํ๋ค๋ฉด?
: "๊ฐ" downstream task๋ฅผ ์ํด โฃฮฆ0โโฃ dimension ๊ณผ ๊ฐ์ ํฌ๊ธฐ์ โฃฮฮฆโฃ ์ ๋งค๋ฒ ์ฌํ์ต ํด์ผํ๋ค.
=> GPT ๊ฐ์ LLM ๋ชจ๋ธ์ด๋ผ๋ฉด, ์์ฒญ๋ ์์ ๋น์ฉ์ด ๋ ๋ค!
=> ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ LoRA๋ updateํ ํ๋ parameter๋ฅผ ฮฮฆ=ฮฮฆ(ฮ)๋ก ์นํํ์ฌ ํจ์ฌ ์์ size์ parameter ฮ๋ก ๋์ฒด ํ์ตํ๋ ๊ฒ์ด๋ค! (accmulated gradient values ฮฮฆ)
- ฮฮฆ=ฮฮฆ(ฮ)๋ก ์นํํ์ฌ ๋ชฉ์ ํจ์๊ฐ ์๋ ์์์ฒ๋ผ ์ ์๋๊ฒ ๋จ.
- ์ฆ ๊ธฐ์กด์ log-likelihood ๋ฌธ์ ์์ ๋ชจ๋ธ์ด backpropagation ๊ณผ์ ์์ ์ด์ฉ๋๋ ํ๋ผ๋ฏธํฐ ์ฐ์ฐ๋ฌธ์ ๋ฅผ ๋ ์ ์ ํ๋ผ๋ฏธํฐ ฮ๋ก ์นํํ์ฌ ํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
- โฃฮโฃ << โฃฮฆ0โโฃ ์ด๊ธฐ์, ์ต์ ์ ฮฮฆ๋ฅผ ์ฐพ๋ task๋ ฮ๋ฅผ optimizationํ๋ ๊ฒ์ผ๋ก ๋์ฒด๋๋ค.
3. Arenโt Existing Solutions Good Enough?
์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ๋ ค๊ณ ํ๋ ๋ฌธ์ ๋ ๊ฒฐ์ฝ ์๋ก์ด ๊ฒ์ด ์๋๋ค.
transformer learning์ด ์์๋ ์ด๋๋ก ์์ญ ๊ฐ์ ์์
์ด model adaptation์์ ๋งค๊ฐ๋ณ์ ๋ฐ ๊ณ์ฐ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด ๋
ธ๋ ฅํด์๋ค.
์๋ฅผ ๋ค์ด LM ์์ ์ฌ์ฉํ๋ฉด ํจ์จ์ ์ธ adaptation ๊ณผ ๊ด๋ จํ์ฌ ๋ ๊ฐ์ง ์ค์ํ ์ ๋ต์ด ์๋ค.
1) Adapter Layer ์ถ๊ฐ
2) input layer activation์ ์ผ๋ถ ํํ๋ฅผ ์ต์ ํ
=> ๋ ์ ๋ต ๋ชจ๋ ์ ํ ์ฌํญ์ด ์์ผ๋ฉฐ, ํนํ ๋๊ท๋ชจ ๋ฐ ๋๊ธฐ ์๊ฐ์ ๋ฏผ๊ฐํ ํ๋ก๋์
์๋๋ฆฌ์ค์์๋ ๋์ฑ ๊ทธ๋ ๋ค.
Adapter Layers Introduce Inference Latency
Adapter Layer๋ ์ถ๋ก ์ง์ฐ ์๊ฐ์ ๋ฐ์์ํจ๋ค. ๋๊ท๋ชจ ์ ๊ฒฝ๋ง์ ๋๊ธฐ ์๊ฐ์ ๋ฎ๊ฒ ์ ์งํ๊ธฐ ์ํด ํ๋์จ์ด ๋ณ๋ ฌ์ฑ์ ์์กดํ๋ฉฐ ์ด๋ํฐ ๊ณ์ธต์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ค.
์๋ ํ์์ ๋จ์ผ GPU๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ณ๋ชฉ ํ์ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์์ ๊ฒฝ์ฐ์๋ ์ด๋ํฐ๋ฅผ ์ฌ์ฉํ ๋ ์ง์ฐ ์๊ฐ์ด ๋์ ๋๊ฒ ์ฆ๊ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Directly Optimizing the Prompt is Hard
ํ๋กฌํํธ๋ฅผ ์ง์ ์ต์ ํํ๋ ๊ฒ์ ์ด๋ ต๋ค.
๋ํ์ ์ผ๋ก Prefix tuning ๋ฐฉ์์ด ์๋ค.
๐ค Prefix tuning
: ์ฐ์์ ์ธ ํ์คํฌ ํนํ ๋ฒกํฐ(continuous task-specific vector = prefix)๋ฅผ ํ์ฉํด ์ธ์ด๋ชจ๋ธ์ ์ต์ ํํ๋ ๋ฐฉ๋ฒ
- ์ธ์ด๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ ๊ณ ์ ํ ์ํ(=frozen)
- continuous vector/virtual tokens์ ์ฌ์ฉํ๋ค๋ ์ ์์ ์์ฐ์ด(discrete tokens)๋ฅผ ์ฌ์ฉํ๋ ์ ๊ทผ๋ฐฉ๋ฒ๊ณผ ๊ตฌ๋ถ๋จ
- ํ๋์ ์ธ์ด๋ชจ๋ธ๋ก ์ฌ๋ฌ ๊ฐ์ Task๋ฅผ ์ฒ๋ฆฌํ ์ ์์ (prefix๋ฅผ ํ์ต)
- ์ฐ์์ ์ธ ๋จ์ด ์๋ฒ ๋ฉ์ผ๋ก ๊ตฌ์ฑ๋ ์ค๋ช
(instruction)์ ์ต์ ํํจ์ผ๋ก์จ, ๋ชจ๋ Transformer activation๊ณผ ์ดํ์ ๋ฑ์ฅํ๋ ์ฐ์์ ์ธ ํ ํฐ๋ค์ ์ํฅ์ ์ค
- ๋ชจ๋ ๋ ์ด์ด์ prefix๋ฅผ ์ต์ ํ
์ฐ๋ฆฌ๋ Prefix tuning์ด ์ต์ ํํ๊ธฐ ์ด๋ ต๊ณ ํ๋ จ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์์์ ์ฑ๋ฅ์ด ๋จ์กฐ๋กญ์ง ์๊ฒ ๋ณ๊ฒฝ๋๋ค๋ ๊ฒ์ ๊ด์ฐฐํ์ฌ ์๋ณธ ๋
ผ๋ฌธ์์ ์ ์ฌํ ๊ด์ฐฐ์ ํ์ธํ๋ค.
โ Adaptation์ ์ํด ์ํ์ค ๊ธธ์ด์ ์ผ๋ถ๋ฅผ ์์ฝํ๋ฉด ๋ค์ด์คํธ๋ฆผ ์์
์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ํ์ค ๊ธธ์ด๊ฐ ํ์ฐ์ ์ผ๋ก ์ค์ด๋ค๊ณ , ์ด๋ก ์ธํด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋นํด ํ๋กฌํํธ ์กฐ์ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ ๊ฒ์ผ๋ก ์์ฌ๋๋ค.
4. Our Method
4.1. Low-Rank-Parametrized Update Matrices
โ
LoRA๋ adaptation ๋์์ low intrinsic rank๋ฅผ ๊ฐ์ง weight๋ก updateํ๋ ๋ฐฉ๋ฒ!
- ์ํ์ ์ผ๋ก pre-trained weight matrix W0โโRdรk ์ ๋ํด W0โ+ฮW=W0โ+BA๋ก updateํ๋ ๊ฒ!
- ์ฆ, W0โ์ frozen๋๊ณ low rank๋ก decomposition๋ BโRdรr์ AโRrรk๋ง์ ํ์ตํ๋ ๊ฒ (rankrโชmin(d,k)์ ๋ง์กฑํจ)
- W์ ฮW=BA๋ ๊ฐ์ input์ ๊ณฑํด์ง๊ณ ๊ทธ๋ค์ output vector๋ coordinate-wiseํ๊ฒ ํฉ(summation)ํ๋ค. forward pass๋ฅผ ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- A๋ random Gaussian initialization๋๊ณ B๋ 0์ผ๋ก initialization๋๋ค. (training ์์ ์์ AW = BA๋ํ 0)
- ฮWx๋ rฮฑโ์ผ๋ก scaling๋๋ค.
- Adam์ผ๋ก optimization ํ ๋ ฮฑ๋ฅผ tuningํ๋ ๊ฒ์ learning rate๋ฅผ tuningํ๋ ๊ฒ๊ณผ ๊ฐ์ด ํ์๋ค. ๊ทธ๋์ ฮฑ์ ์ฒ์ r๊ฐ์ผ๋ก ์ ํ์๋ค. Scaling์ r๊ฐ์ ๋ณํ์ํฌ๋ hyperparameter ๋ฅผ ์ฌ์กฐ์ ํ ํ์๋ฅผ ์ค์ด๋ ๋ฐ ๋์์ด ๋๋ค.
- ํ๋ จ๊ณผ์ ์์ W0๋ gradient update๋ฅผ ํ์ง ์๊ณ , ์คํ๋ ค BA๋ฅผ ํ์ตํ๋ ๊ณผ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
์๋์ ์์ ๋ด์ฉ์ ์ค์ ๋ก ๊ตฌํํ LoRA ๊ณต์ github์ ๊ตฌํ ์ฝ๋์ด๋ค.
A Generalization of Full Fine-tuning.
- LoRA๋ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ํํ์ fine-tuning์ ํตํด pre-trained parameters์ ํ์ ์งํฉ์ ํ๋ จํ ์ ์๋ค.
- LoRA๋ ํ ๋จ๊ณ ๋ ๋์๊ฐ adaptation ์ค์ full-rank๋ฅผ ๊ฐ๊ธฐ ์ํด ๊ฐ์ค์น ํ๋ ฌ์ ๋ํ accumulated gradient update๊ฐ ํ์ํ์ง ์๋ค.
- ์ฆ, ํ๋ จ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์์ ์๋ฅผ ๋๋ฆฌ๋ฉด LoRA ํ๋ จ์ ๋๋ต ์๋ณธ ๋ชจ๋ธ ํ๋ จ์ผ๋ก ์๋ ดํ๋ ๋ฐ๋ฉด, adapter ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ MLP๋ก ์๋ ดํ๊ณ prefix ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ๊ธด ์
๋ ฅ ์ํ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ธ๋ก ์๋ ดํ๋ค.
No Additional Inference Latency.
- LoRA๋ ์ถ๊ฐ ์ถ๋ก ์ง์ฐ ์๊ฐ์ด ์๋ค.
- LoRA๋ฅผ ์ฌ์ฉํ์ฌ inferenceํ๋ ค๊ณ ํ ๋๋ ๊ธฐ์กด pre-trained weight Woโ์ ํ์ตํ BA๋ฅผ ๋ํด์ฃผ๊ณ ์ฌ์ฉํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ infernece latency ์ฑ๋ฅ ํ๋ฝ์ ์ ํ ์๋ค.
- W0โ์ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ค๋ฅธ task๋ก ํ์ตํ B'A'๊ฐ ์์ ๊ฒฝ์ฐ BA์ ๋นผ์ฃผ๊ณ
B'A'์ ๋ํด์ฃผ์ด ์ฌ์ฉํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ reusability์ด ์ข๋ค.
โ
๋
ผ๋ฌธ์์๋ trainable weight๋ฅผ ์ต์ํํ๊ธฐ์ํด LoRA๋ฅผ ๋ชจ๋ layer ๋ฐ module์ ์ ์ฉํ์ง์์๋ค.
โ ์ค์ง LoRA๋ฅผ Transformer์ attention weights์ธ Wqโ๋๋ Wkโ, Wvโ ์๋ง ์ ์ฉํ์๊ณ ๋๋จธ์ง MLP module์๋ ์ ์ฉํ์ง ์์๋ค.
(์ค์ ์ฑ๋ฅ ์คํ์์๋ Wg์ Wu ์๋ง LoRA๋ฅผ ์ ์ฉํ์๋ค.)
์ด๋ ๊ฒ ์
ํ
ํ๊ณ ์งํํจ์ผ๋ก์จ 1,750์ต๊ฐ์ parameter๋ฅผ ๊ฐ์ง GPT-3์ ๋ํด fine-tuning์์ ์๋ VRAM๋ฅผ 1.2TB์ฌ์ฉํ๋ ๊ฒ์ด LoRA๋ฅผ ํตํด 350GB๋ก ์ค์ด๋ค์๋ค.
๋ํ training speed๋ํ 25%๊ฐ๋ ์ค์๋ค.
5. Empirical Experiments
5.1. Baselines
- Fine-Tuning (FT) : fine-tuning ์ค์ ๋ชจ๋ธ์ pre-trained weights์ bias๋ก ์ด๊ธฐํ๋๊ณ ๋ชจ๋ ๋ชจ๋ธ parameters๋ ๊ธฐ์ธ๊ธฐ updater๋ฅผ ๊ฑฐ์น๋ค
- Bias-only or BitFit : ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ frozenํ๋ฉด์ bias vector ๋ง ํ๋ จ
- Prefix-embedding tuning (PreEmbed) : ์
๋ ฅ ํ ํฐ ์ฌ์ด์ ํน์ ํ ํฐ์ ์ฝ์
, (ํน์ ํ ํฐ์๋ ํ๋ จ ๊ฐ๋ฅํ ๋จ์ด ์๋ฒ ๋ฉ์ด ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ธ์ ์ดํ์๋ ์์)
- Prefix-layer tuning (PreLayer) : prefix-embedding tuning์ ์ฐ์ฅ, ์ผ๋ถ ํน์ ํ ํฐ์ ๋ํด ์๋ฒ ๋ฉ์ด๋ผ๋ ๋จ์ด(๋๋ ์๋ฒ ๋ฉ ๋ ์ด์ด ์ดํ์ ํ์ฑํ)๋ฅผ ํ์ตํ๋ ๋์ ๋ชจ๋ Transformer ๋ ์ด์ด ์ดํ์ ํ์ฑํ๋ฅผ ํ์ต.
- Adapter tuning : self-attention ๋ชจ๋(๋ฐ MLP ๋ชจ๋)๊ณผ ํ์ ์์ฌ ์ฐ๊ฒฐ ์ฌ์ด์ ์ด๋ํฐ ๋ ์ด์ด๋ฅผ ์ฝ์
- LoRA : ๊ธฐ์กด ๊ฐ์ค์น ํ๋ ฌ๊ณผ ๋ณ๋ ฌ๋ก ํ๋ จ ๊ฐ๋ฅํ ์์ ๋ถํด ํ๋ ฌ ์์ ์ถ๊ฐ, Wkโ, Wvโ ์๋ง ์ ์ฉ
5.4. GPT-2 medium/large
- E2E NLG Challenge์์ ์์ ์ ์ํ ๋ค์ํ adaptation ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ GPT-2 medium(M) ๋ฐ large(L)๋ชจ๋ธ๋ง ๊ฒฐ๊ณผ์ ๋ํด์ ๋ชจ๋ ์งํ์ ๋ํด ๋์์๋ก ์ข๋ค.
- ์์ ํ๋ฅผ ๋ณด๋ฉด, LoRA๋ ํ๋ จ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์๊ฐ ๋น์ทํ๊ฑฐ๋ ๋ ์ ์ ์ฌ๋ฌ ๊ธฐ์ค์ ๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋ฉ๋๋ค.
- GPT-3 175B์์ ๋ค์ํ ์ ์ ๋ฐฉ๋ฒ์ ์ฑ๋ฅ์ ์์ ํ์์ ๋ณผ ์ ์๋ค.
- WikiSQL์ ๋
ผ๋ฆฌ ํ์ ์ ํจ์ฑ ๊ฒ์ฌ ์ ํ๋, MultiNLI ์ผ์น์ ์ ํจ์ฑ ๊ฒ์ฌ ์ ํ๋, SAMSum์ Rouge-1/2/L์ ํ์ธํ ์ ์๋ค.
- LoRA๋ ์ผ๋ฐ์ ์ธ Fine-tuning(FT)๋ฅผ ํฌํจํ์ฌ ์ด์ ์ ๊ทผ ๋ฐฉ์๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ฐํํ๋ค.
5.5. Scaling up to GPT-3 175B
- LoRA์ ์ต์ข
์คํธ๋ ์ค ํ
์คํธ๋ก 1,750์ต ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ถ GPT-3๊น์ง ํ์ฅํ์๋ค.
- ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, LoRA๋ ์ธ ๊ฐ์ง ๋ฐ์ดํฐ ์ธํธ ๋ชจ๋์์ fine-tuning ๊ธฐ์ค์ ๊ณผ ์ผ์นํ๊ฑฐ๋ ์ด๊ณผํ๋ค.
- LoRA๋ฅผ ์ด์ฉํ์์ ๋ ํด๋น fields์์ SOTA๋ฅผ ๋ฌ์ฑํ ๋ฟ๋ง ์๋๋ผ, GPT-3์ ๊ฒฝ์ฐ 175B์ ํ๋ผ๋ฏธํฐ ๊ฐ์ด๋ฐ 0.01%์ ํ๋ผ๋ฏธํฐ ๊ฐ์๋ง ์ด์ฉํ ์ ๋๋ก ํจ์จ์ฑ์ด ์ข๋ค.
- ๋ชจ๋ ๋ฐฉ๋ฒ์ด ๋ ๋ง์ trainable parameters๋ฅผ ๊ฐ๋๋ค๊ณ ํด์ ์ด์ ์ ์ป๋ ๊ฒ์ ์๋๋ค.
- ์ prefix-embedding tuning์ 256๊ฐ ์ด์์ ํน์ ํ ํฐ์ ์ฌ์ฉํ๊ฑฐ๋ prefix-layer tuning์ 32๊ฐ ์ด์์ ํน์ ํ ํฐ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋๋ ๊ฒ์ ๊ด์ฐฐํ๋ค.
- Transformer Language Models
- Prompt Engineering and Fine-Tuning
- Parameter-Efficient Adaptation
- Low-Rank Structures in Deep Learning
7. Understanding the Low-Rank Updates
- Wqโ, Wvโ์ ๋ชจ๋ LoRA๋ฅผ ์ ์ฉํ๋๊ฒ ๊ฐ์ฅ best performance๋ฅผ ๋ธ๋ค.
7.2. What is the Optimal Rank r for LoRA?
- LoRA๋ฅผ Wqโ, Wvโ์ ๋ชจ๋ ์ ์ฉํ ๋๋ r=1์ผ ๋ ๊ฝค ์ข์ ์ฑ๋ฅ์ด ๋์จ๋ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
- Wqโ์๋ง LoRA๋ฅผ ์ ์ฉํ ๊ฒฝ์ฐ ์ข ๋ ํฐ r์ด ๋ซ๋ค๋ ๊ฒ์ ์์ ์คํ ๊ฒฐ๊ณผ์์ ๋ณผ ์ ์๋ค.
7.3How Does the Adaptation Matrix ฮW Compare to W?
- ฮW๋ W์ ๋์ ์๊ด๊ด๊ณ ์๋ค. (compared to a random matrix), ฮW๋ W์ ์ด๋ฏธ ์๋ ์ผ๋ถ feature์ ์ฆํญ์ํจ ๊ฒ์ด๋ค.
- W์ ์๋จ ๋จ๋ฐฉํฅ์ ๋ฐ๋ณตํ๋ ๋์ , ฮW๋ W์์ ๊ฐ์กฐ๋์ง ์์ ๋ฐฉํฅ๋ง ์ฆํญ์ํจ๋ค.
- ์ฆํญ ์ธ์๋ ๋ค์ ํฌ๋ค (r=4์ ๊ฒฝ์ฐ 21.5 โ 6.91/0.32)
8. Conclusion and Future Work
- ๊ฑฐ๋ํ ์ธ์ด ๋ชจ๋ธ์ ๋ฏธ์ธ ์กฐ์ ํ๋ ๊ฒ์ ํ์ํ ํ๋์จ์ด์ ๋ค์ํ ์์
์ ์ํ ๋
๋ฆฝ์ ์ธ ์ธ์คํด์ค๋ฅผ ํธ์คํ
ํ๊ธฐ ์ํ ์ ์ฅ/์ ํ ๋น์ฉ ์ธก๋ฉด์์ ์์ฒญ๋๊ฒ ๋น์ธ๋ค.
- ์ฐ๋ฆฌ๋ ๋์ ๋ชจ๋ธ ํ์ง์ ์ ์งํ๋ฉด์ ์ถ๋ก ๋๊ธฐ ์๊ฐ์ ๋์
ํ๊ฑฐ๋ ์
๋ ฅ ์ํ์ค ๊ธธ์ด๋ฅผ ์ค์ด์ง ์๋ ํจ์จ์ ์ธ ์ ์ ์ ๋ต์ธ LoRA๋ฅผ ์ ์ํ๋ค.
- ๐ก ์ค์ํ ์ ์ ๋๋ถ๋ถ์ ๋ชจ๋ธ ๋งค๊ฐ๋ณ์๋ฅผ ๊ณต์ ํ์ฌ ์๋น์ค๋ก ๋ฐฐํฌํ ๋ ๋น ๋ฅธ ์์
์ ํ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
- Transformer ์ธ์ด ๋ชจ๋ธ์ ์ค์ ์ ๋์์ง๋ง ์ ์๋ ์๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ๋๊ฐ ๋์ ๊ณ์ธต์ด ์๋ ๋ชจ๋ ์ ๊ฒฝ๋ง์ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
๐ค Future Work
1) LoRA๋ ๋ค๋ฅธ ํจ์จ์ ์ธ ์ ์ ๋ฐฉ๋ฒ๊ณผ ๊ฒฐํฉ๋์ด ์ ์ฌ์ ์ผ๋ก ์ง๊ต ๊ฐ์ ์ ์ ๊ณตํ ์ ์๋ค.
2) ๋ฏธ์ธ ์กฐ์ ๋๋ LoRA์ ๋ฉ์ปค๋์ฆ์ ๋ช
ํํ์ง ์๋ค. ์ฌ์ ํ๋ จ ์ค์ ํ์ต๋ ๊ธฐ๋ฅ์ด ๋ค์ด์คํธ๋ฆผ ์์
์์ ์ ์ํ๋๋๋ก ์ด๋ป๊ฒ ๋ณํ๋๋?
3) LoRA๋ฅผ ์ ์ฉํ ๊ฐ์ค์น ํ๋ ฌ์ ์ ํํ๊ธฐ ์ํด ์ฃผ๋ก ํด๋ฆฌ์คํฑ์ ์์กดํ๋ค. ๋ ์์น์ ์ธ ๋ฐฉ๋ฒ์ด ์๋?
๐ Reference
LoRA ๋
ผ๋ฌธ
LoRA ๋
ผ๋ฌธ ์ค๋ช
1
LoRA ๋
ผ๋ฌธ ์ค๋ช
2
prefix-tuning