
โ Basic Info
๐ Parameter-Efficient Transfer Learning for NLP (2019)
๐ https://arxiv.org/pdf/1902.00751
Bottleneck Adapter ๊ฐ ๋ฌด์์ธ์ง ์ฐพ์๋ณด๋ค๊ฐ Adapter ๋ผ๋ ๊ฐ๋ ์ด ์์ํด์ ์ฐพ์๋ณธ ๋ ผ๋ฌธ
PEFT ๊ธฐ๋ฒ์ ์ค๋ช ํ ๋ Adapter ์ LoRA ๋ฅผ ๋งํ๋๋ฐ, ๊ทธ ์ค ํ๋
์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ ๋ค fine-tuning ํ๋ ๊ฒ์ ์ง๋์น๊ฒ ํฐ ํ์ต๋์ด ํ์ํ๋ค. ๋ฐ๋ผ์ Adapter ๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ ํ์ต๋ ํ๋ผ๋ฏธํฐ๋ freeze ์ํค๊ณ -> adapter ๋ชจ๋๋ง ํ์ตํ์ฌ downstreem task ์ ์ ์ฉํ ์ ์๊ฒ ๋ง๋ ๊ธฐ๋ฒ
์ฆ, ๋ชจ๋ธ ๋ด๋ถ์ (transformer ์, ์๋ฅผ ๋ค์ด) ๋ ์ด์ด๋ฅผ ๋ฃ๊ณ task-specific ํ๊ฒ ์กฐ์ ํ ์ ์๊ฒ ๋ง๋ ๊ตฌ์กฐ
์ฌ๋ด์ผ๋ก, ์์ผ ์ด์ ๊ฐ์ ๊ธฐ์ด ๋ ผ๋ฌธ๋ค์ด ์ผ๋ง๋ ์ค์ํ์ง ๋ค์ ๊นจ๋ฌ์๋ค. ๋ฐฉ๋ฒ๋ก ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ๊ฒ์ ๊ฒฐ๊ตญ ์ค์ ๊ธฐ์ด ๋ ผ๋ฌธ๋ค ๊ฐ๋ค.

์ธ๊ฐ์ ์ธ์ด ๋ฅ๋ ฅ์ ์ธ๊ณต์ง๋ฅ์ด ์ผ๋ง๋ ๋ฐ๋ผ์๋์ง ์ ๋์ ์ฑ๋ฅ์งํ๋ฅผ ๋ง๋ ๊ฒ
์ฌ๋ฌ ๋ค์ํ ์ข ๋ฅ์ ์ธ์ด ์ดํด ๋ฌธ์ ๋ฅผ ํตํด ๋ชจ๋ธ์ ๋ฒ์ฉ์ฑ๊ณผ ์ง๋ฅ ์์ค์ ํ๊ฐํ๋ ์งํ๋ผ๊ณ ํจ
์ด 9๊ฐ ๊ณผ์ ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ๊ฐ์ ๋ถ์(SST-2), MNLI(๋ฌธ์ฅ๊ฐ ๋ ผ๋ฆฌ ๊ด๊ณ ํ๋จ), QQP(์ง๋ฌธ ์ค๋ณต ์ฌ๋ถ ํ๋จ), CoLA(๋ฌธ๋ฒ์ ์ผ๋ก ์ณ์ ๋ฌธ์ฅ์ธ์ง ํ๋ณ) ๋ฑ ์กด์ฌ
๋๊ท๋ชจ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ํ์ธํ๋ ํ๋ ๊ฒ์ด NLP ์์ ํจ๊ณผ์ ์ธ ์ ์ดํ์ต(Transfer Learning) ๋ฐฉ๋ฒ์. ๊ทผ๋ฐ ๋ค์์ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ค์ task ์ ์ ์ฉ์์ผ fine-tuning ํด์ผ ํ ๊ฒฝ์ฐ ๋งค๋ฒ ํ์ธํ๋ ํ๋๊ฑด ๋นํจ์จ์ ์.
์ด๊ฒ์ ๋ํ ๋์ โ Adapter Module ์ ์ฌ์ฉํ ์ ์ดํ์ต.
์ด๋ํฐ ๋ชจ๋์ ํจ์จ์ ์ด๊ณ + ํ์ฅ ๊ฐ๋ฅํ ๋ชจ๋ธ ๊ฐ๋ฅํ๊ฒ ํจ.
๊ฐ ์์
๋ง๋ค ์์์ ํ์ต ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐ์ํค๊ณ ๊ธฐ์กด ํ์ต๋ task ๋ค์ ํ์ตํ์ง ์์ผ๋ฉด์ ์๋ก์ด task ์ถ๊ฐ ๊ฐ๋ฅ
๋ ผ๋ฌธ์ BERT ๋ชจ๋ธ์ GLUE ๋ฒค์น๋งํฌ ํฌํจ 26๊ฐ์ ๋ค์ํ ํ ์คํธ ๋ถ๋ฅ ์์ ์ ์ ์ด(transfer) ์ ์ฉํจ
์ด๋ํฐ ๊ตฌ์กฐ ์ฌ์ฉํ๋๋ ์์ ํ๋ผ๋ฏธํฐ๋ง ์ถ๊ฐํ๋ฉด์ SOTA ๊ทผ์ฒ ์ฑ๋ฅ ๋ฌ์ฑ
GLUE ๋ฒค์น๋งํฌ์์ ์ ์ฒด ํ์ธํ๋ ๋๋น ์ฑ๋ฅ ์์ค์ด 0.4% ์ ๋ ์์ค์ด๋ฉฐ ์์ ๋น ํ๋ผ๋ฏธํฐ๋ 3.6% ๋ง ์ถ๊ฐํ๋ฉด ๋๋ ๊ฒฐ๊ณผ ์ป์
๋ฐ๋ฉด, fine-tuning ์์ ์ ๋งค๋ฒ ์ ์ฒด ํ๋ผ๋ฏธํฐ ์ฌํ์ตํด์ผ ํ๋ฏ๋ก ๋งค์ฐ ๋นํจ์จ์
๊ทธ๋ํ ํด์ : X ์ถ์ ๊ฐ ์์ ๋ง๋ค ํ์ต๋ ํ๋ผ๋ฏธํฐ ์
Y์ถ์ ์ ์ฒด ํ์ธํ๋ ๋๋น ์ ํ๋๊ฐ ์ผ๋ง๋ ๋ฌ๋ผ์ก๋ (0% : fully fine-tuning ๊ณผ ๋์ผ)
์ค๋ ์ง์ ์ด Adapter ์ฐ๊ณ ํ์ต์ํจ๊ฑด๋ฐ Y=0 ์ ์งํ๋๊ฑธ ๋ณด๋ ์ ์ ํ๋ผ๋ฏธํฐ ์ธ๋๋ fully fine-tuning ๊ณผ ๋น์ท.
๋ฐ๋ฉด ํ๋์์ ์ ์์ ๋ ์ด์ด๋ง ์ผ๋ถ fine-tuning ํ์๋์ธ๋ฐ ํ๋ฆฌ๋ฏธํฐ ์๊ฐ ์ ์ผ๋ฉด ์ฑ๋ฅ์ด ํ์ ํ ๋จ์ด์ง์ ํ์ธ ๊ฐ๋ฅ
โ Adapter ์ ํจ์จ์ฑ ๊ฐ์กฐ

์ด ๋ ผ๋ฌธ์ ์จ๋ผ์ธ ์ค์ ๋ค๋ฃธ - task ๊ฐ ์ฐ์์ ์ผ๋ก ๋ค์ด์ค๋ ์ํฉ
๋ชจ๋ ์์ ์์ ์ข์ ์ฑ๋ฅ์ ๋ด๋ฉด์ ์์ ๋ง๋ค ์ ๋ชจ๋ธ์ ํ๋ จํ์ง ์์๋ ๋๊ฒ ๋ง๋ค์ด์ผ ํจ
์ ์ด ํ์ต(Transfer Learning)์ ๊ธฐ์กด ์์ฐ์ด ์ฒ๋ฆฌ(NLP)์์๋ ์ฃผ๋ก ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ด๋ค์ก์
๊ทผ๋ฐ Adapter ๊ฐ ๋ ํจ์จ์ ์ ์๋๋ฉด ์ ๋ ๋ฐฉ๋ฒ ๋ชจ๋ task ๋ง๋ค ์ ๊ฐ์ค์น ํ์ต์์ผ์ผ ํ๋๋ฐ Adapter ์ ์์ฃผ ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ง ํ์ต์ํค๋ฉด ๋๋๊น.
๐๋ ผ๋ฌธ ๋ชฉํ : Compact + Extensible ๋ชจ๋ธ ๋ง๋ค๊ธฐ
Compact : task ๋ง๋ค ์์ ํ๋ผ๋ฏธํฐ๋ง ์ถ๊ฐํด์ ์ฌ๋ฌ ์์ ํด๊ฒฐํ ์ ์๋ ๋ชจ๋ธ
Extensible : ๊ธฐ์กด ์์ ์์ง ์๊ณ ์ task ๋ฅผ ์ ์ง์ ์ผ๋ก ํ์ตํ ์ ์๋ ๋ชจ๋ธ๐ ํต์ฌ์ ํจ์จ์ ์ด๋ฉด์๋ ํจ๊ณผ์ ์ธ bottleneck adapter ๋ง๋ค์ด online setting ์์ ๋งค๋ฒ ํ๋ผ๋ฏธํฐ ํ๋ ์ํด๋ ๋๋ ์ํฉ ๋ง๋๋๊ฑฐ์
์ฌ๊ธฐ์ bottleneck (๋ณ๋ชฉ ๊ตฌ์กฐ) ์ด๋ 100์ฐจ์ ์ ๋ ฅ โ 10์ฐจ์ โ 100์ฐจ์ ๋ณต์ํ์ฌ ์ค๊ฐ์ ์ค์ํ ์ ๋ณด๋ง ํ์ตํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ
์ด๋ฐ bottleneck ์ฌ์ฉํ๋ฉด ์ ์ฒด ํ์ธํ๋ BERT ๋ ๊ฑฐ์ ๋น์ทํ ์ฑ๋ฅ ๋ด์ง๋ง ์์ ๋ง๋ค ํ์ํ ํ๋ผ๋ฏธํฐ๋ ๋จ 3% โ ์ด์ ๋ฐํด ์ ํต์ ์ธ fine-tuning ์ 100% ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ ์์ ๋ง๋ค ์ฌํ์ตํด์ผ ํ๋ค. ๊ทธ๋ผ์๋ ๋ ๋ฐฉ๋ฒ ์ฑ๋ฅ์ ๋น์ทํ๋ค ๋ผ๋๊ฒ ์์
Large Text Model ์ ์ฌ๋ฌ ๋ค์ด์คํธ๋ฆผ ์์ (์ค์ ์ธ์ด ๋ฌธ์ ๋ค) ์ ๋ํด ํ๋ ํ๋ ์ ๋ต ์ ์
Task ๊ฐ ์ฐ์ํด์ ๋ค์ด์ค๋ ๊ณผ์ ์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ์ฉํจ.
Adapter ๋ชจ๋ ํ๋ํ ๋๋ ์์ ํฌ๊ธฐ์ ํ๋ผ๋ฏธํฐ ๋ธ๋ก์ ์ถ๊ฐํ๊ณ , ์ด๊ฒ๋ง ํ๋ จ์ํค๋ฉด ๋จ
โ ๋น๊ตํด์ ์ผ๋ฐ ํ์ธํ๋์์๋ ๋ชจ๋ธ์ ์์ ๋ ์ด์ด๋ฅผ ์ง์ ์์ ํด์ผ ํจ โ ์๋ํ๋ฉด ์ ์คํธ๋ฆผ (์ฌ์ ํ์ต) ๊ณผ ๋ค์ด์คํธ๋ฆฝ(์ ์ฉํ๋ ค๊ณ ํ๋ ์ค์ ์์ ) ๋ ์ด๋ธ ์ข ๋ฅ ๋ฐ ์์คํจ์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ. ์ฆ ๊ตฌ์กฐ๊ฐ ๋ค๋ฅด๋๊น ์ถ๋ ฅ ๋ ์ด์ด ๋ฐ๊พธ๋๊ฒ ๋ถ๊ฐ๋ฅํ๊ฑฐ

์ด๋ํฐ ๋ชจ๋์ ๊ธฐ์กด ๋คํธ์ํฌ์ ์๋ก์ด ์ธต์ ์ด์ง ์ฝ์ ํ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํจ
๊ธฐ์กด ๋ชจ๋ธ์ ๊ฐ์ค์น๋ ์ ํ ๋ฐ๊พธ์ง ์๊ณ ์ด๋ํฐ ์ธต๋ง ์ด๊ธฐํํด์ ํ์ต
Adapter Tuning ์์๋ ๊ธฐ์กด ๋คํธ์ํฌ ํ๋ผ๋ฏธํฐ freeze ํด์ ๋ชจ๋ ์์ ๊ณต์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ adapter ์ธต๋ง ํ์ต์ํค๊ฒ ๋จ
Adapter ๋ชจ๋ ํน์ง
Output = Input + Wโ(ReLU(Wโ(Input)))
์ฌ๊ธฐ์ W1, W2 ๋ฅผ 0 ๊ทผ์ฒ๋ก ์ด๊ธฐํํด์ ๋ง์น adapter ๊ฐ ์๋ฌด๊ฒ๋ ์ํ๋ ๊ฒ์ฒ๋ผ ์ธํ ํ๋๊ฑธ near-identity initialization ์ด๋ผ๊ณ ํจ ์ด๋ ๊ฒ ํด์ผ ๊ธฐ์กด ๋ชจ๋ธ ์ฑ๋ฅ ๋ณด์กด ์ํ์์ ํ์ต ํ์ํ ๋ฐฉ์์ผ๋ก ์กฐ์ ํจ
์ฒ์์๋ ์ด๋ํฐ๊ฐ ์ ํธ๋ฅผ ๊ทธ๋ฅ ํต๊ณผ์์ผ์ ๊ธฐ์กด ๋คํธ์ํฌ๋ ํ๋ จ ์ด๋ฐ์ ์ด๋ํฐ ์ํฅ ์ ํ ์๋ฐ์
๊ทธ๋ฐ๋ฐ ํ๋ จ ์งํ๋๋ฉด์ ์ด๋ํฐ๊ฐ ์ ์ ์ ํธ ์กฐ์
์ด๊ธฐ๋ถํฐ ์ด๋ํฐ๊ฐ ์๋ํ๋ฉด ๋ชจ๋ธ์ด ํ์ต์ ๋ ๋๋ฆฌ๊ฒ ํ๊ฑฐ๋ ๋ถ์์ ํด์ง ์ ์์
Adapter ๋ชจ๋์ ๊ธฐ์กด ๋ ์ด์ด๋ณด๋ค ํจ์ฌ ์๊ฒ ์ค๊ณ๋จ โ ๊ทธ๋์ ์์ ์ด ์ ์ ์ถ๊ฐ๋ผ๋ ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์ฒ์ฒํ ์ปค์ง๊ฒ ๋จ
Adapter ๋ชจ๋์ Transformer ์ ์ ์ฉ์ํด

Attention Layer ๋ค์, FFN ๋ค์ ์ด๋ํฐ ์์น์ํด
์ฌ๋ฌ ๊ตฌ์กฐ ๊ฐ๋ฅํ๊ฒ ์ง๋ง ๊ฐ์ฅ ๋จ์ํ ์ ๊ตฌ์กฐ๊ฐ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข์๋ค๊ณ ํจ
์๋ Transformer ๊ตฌ์กฐ ์๊ฑด๋๋ฆฌ๋ฉด์ ๋ผ์ด๋ค์ด ํ์ต ๊ฐ๋ฅํ ์กฐ์ ์ญํ ํ๊ฒ ๋จ
ํ๋ผ๋ฏธํฐ ์ ์ค์ด๊ธฐ ์ํด Bottleneck Architecture ์ฌ์ฉ
์ด๋ํฐ ๋จ๊ณ
- ์ ๋ ฅ d ์ฐจ์ โ m ์ฐจ์ ์ถ์ (Down-Project)
- ๋น์ ํํจ์ ์ ์ฉ (Non-Linearity) ReLU ๋ฑ
- ๋ค์ d ์ฐจ์ ํ์ฅ (Up-Project)
์ด๋ ๊ฒ ํ์๋ ๊ฐ ์ด๋ํฐ๊ฐ ๋ ์ด์ด๋น ์ถ๊ฐํ๋ ์ด ํ๋ผ๋ฏธํฐ ์๋
๋ฐ๋ผ์ 2md + d + m ๋งํผ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ต์์ผ์ฃผ๋ฉด ๋จ
m ์ d ๋ณด๋ค ํจ์ฌ ์๊ฒ ์ค์ ํ๋ฉด ํ๋ผ๋ฏธํฐ ์๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์๊ฒ ๋จ
์ด ๊ตฌ์กฐ ๊ฒฝ์ฐ ์ ์ฒด ๋ชจ๋ธ ํ๋ฆฌ๋ฏธํฐ์ 0.5-8% ์ฌ์ฉ
bottleneck dimension m ์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ ์ฌ์ด trade-off ์กฐ์ ํ๋ ํต์ฌ๋ณ์์
์ด๋ํฐ ๋ชจ๋ ๋ด๋ถ์ skip connection ์กด์ฌ (์ด์ ์
๋ ฅ์ ๊ทธ๋๋ก ๋ํด์ ๋ค์ ๋ ์ด์ด๋ก ์ถ๋ ฅ ๋ณด๋ด๋ ๋ฐฉ์)

์ด๊ฒ ๋์ ๋ง์ฝ projection ํ๋ผ๋ฏธํฐ๋ฅผ 0์ผ๋ก ์ด๊ธฐํ์ ์ด๋ํฐ๋ ํญ๋ฑํ์์ฒ๋ผ ์์ฉํ๊ฒ ๋จ
๊ฒฐ๊ณผ : GLUE ๋ฒค์น๋งํฌ์์ ์ด๋ํฐ ํ๋์ ์ ์ฒด BERT ํ์ธํ๋๋ณด๋ค ์ฑ๋ฅ ์ฐจ์ด๋ 0.4% ๋ฐ์ ๋์ง ์์ง๋ง ํ์ต๋ ํ๋ผ๋ฏธํฐ๋ ์ ์ฒด์ 3% ์ ๋๋ฟ์
โ ๋ถ์ ๊ฒฐ๊ณผ ์ด๋ํฐ ๊ธฐ๋ฐ ํ๋์ ํธ๋์คํฌ๋จธ ์์ ๋ ์ด์ด ์ฒ๋ฆฌ์ ์ง์คํ๋ ๊ฒฝํฅ

ํ์ ํ ๋ฎ์ ์ ํ๋ผ๋ฏธํฐ๋ก ๋น์ทํ ์ฑ๋ฅ ์ ์ฆ


MNLIm ๋ฐ์ดํฐ์ ๊ณผ CoLA ๋ฐ์ดํฐ์ ์ ๋ํด BERTBASE ๋ชจ๋ธ๋ก ํ์ต์ํจ ํ ablation ์คํ ์งํ (์ฆ ํ์ต๋ ์ด๋ํฐ ์ผ๋ถ ์ ๊ฑฐํ๋ฉด์ ํ๊ฐ โ ์ด๋ํฐ๊ฐ ์ฑ๋ฅ ๋ณํ์ ์ผ๋ง๋ ์ํฅ ์๋ ํ์ธ)
X ์ถ์ ๋ง์ง๋ง์ ์ ๊ฑฐ๋ ๋ ์ด์ด, Y ์ถ์ ์ฒ์์ ์ ๊ฑฐ๋ ๋ ์ด์ด
์ธ๋ก ์ด๋ก์ ๋ถ๋ถ์ ๋จ์ผ ๋ ์ด์ด ์ด๋ํฐ ์ ๊ฑฐํ๊ฑฐ โ ์ด๊ฑด ๋ณ๋ก ์ฑ๋ฅ ์ํฅ ์์
์๊น ์งํด์ง์๋ก ์ฑ๋ฅ ํฌ๊ฒ ํ๋ฝํ๊ฑด๋ฐ, ๋ชจ๋ ๋ ์ด์ด ์ด๋ํฐ ์ ๊ฑฐํ๋ฉด ๋ ๋ฐ์ดํฐ์ ์์ ๋ชจ๋ ์ฑ๋ฅ ๋ํญ ํ๋ฝ ๋ณด์ (MNLI - 37% ์ ํ๋, CoLA - 69%) : ํ ๋ ์ด์ด์์์ ์ด๋ํฐ ์ํฅ์ ์์๋ ์ ์ฒด์ ์ผ๋ก ์ค์ํ ์ญํ ํจ์ ์ ์ ์์
๋ํ ์ด๊ธฐํ (์ด๊ธฐ์๋ near-identity initialization ์ํ๋ก ์์ โ ์ด ๋ถ๋ถ) 0์ ๊ฐ๊น์ธ์๋ก ์ฑ๋ฅ ์ข์ ์ ์ฆ (๋งจ ์ผ์ชฝ ๊ทธ๋ํ)