Parameter-Efficient Transfer Learning for NLP (2019)

J.ยท2025๋…„ 10์›” 2์ผ

Text & Speech Papers

๋ชฉ๋ก ๋ณด๊ธฐ
5/12
post-thumbnail

โœ” Basic Info

๐Ÿ“Œ Parameter-Efficient Transfer Learning for NLP (2019)
๐Ÿ”— https://arxiv.org/pdf/1902.00751

โ˜‘๏ธSum-up

  • Bottleneck Adapter ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ Adapter ๋ผ๋Š” ๊ฐœ๋…์ด ์ƒ์†Œํ•ด์„œ ์ฐพ์•„๋ณธ ๋…ผ๋ฌธ

  • PEFT ๊ธฐ๋ฒ•์„ ์„ค๋ช…ํ• ๋•Œ Adapter ์™€ LoRA ๋ฅผ ๋งํ•˜๋Š”๋ฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜

  • ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‹ค fine-tuning ํ•˜๋Š” ๊ฒƒ์€ ์ง€๋‚˜์น˜๊ฒŒ ํฐ ํ•™์Šต๋Ÿ‰์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ Adapter ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์ „ ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” freeze ์‹œํ‚ค๊ณ  -> adapter ๋ชจ๋“ˆ๋งŒ ํ•™์Šตํ•˜์—ฌ downstreem task ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ธฐ๋ฒ•

  • ์ฆ‰, ๋ชจ๋ธ ๋‚ด๋ถ€์— (transformer ์—, ์˜ˆ๋ฅผ ๋“ค์–ด) ๋ ˆ์ด์–ด๋ฅผ ๋„ฃ๊ณ  task-specific ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ตฌ์กฐ

  • ์—ฌ๋‹ด์œผ๋กœ, ์ƒˆ์‚ผ ์ด์™€ ๊ฐ™์€ ๊ธฐ์ดˆ ๋…ผ๋ฌธ๋“ค์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ๋‹ค์‹œ ๊นจ๋‹ฌ์•˜๋‹ค. ๋ฐฉ๋ฒ•๋ก ์ ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ ์ค‘์š” ๊ธฐ์ดˆ ๋…ผ๋ฌธ๋“ค ๊ฐ™๋‹ค.

โ˜‘๏ธGlossary

1๏ธโƒฃ Skip Connection

2๏ธโƒฃ GLUE ๋ฒค์น˜๋งˆํฌ

์ธ๊ฐ„์˜ ์–ธ์–ด ๋Šฅ๋ ฅ์„ ์ธ๊ณต์ง€๋Šฅ์ด ์–ผ๋งˆ๋‚˜ ๋”ฐ๋ผ์™”๋Š”์ง€ ์ •๋Ÿ‰์  ์„ฑ๋Šฅ์ง€ํ‘œ๋ฅผ ๋งŒ๋“  ๊ฒƒ

์—ฌ๋Ÿฌ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์–ธ์–ด ์ดํ•ด ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ๋ฒ”์šฉ์„ฑ๊ณผ ์ง€๋Šฅ ์ˆ˜์ค€์„ ํ‰๊ฐ€ํ•˜๋Š” ์ง€ํ‘œ๋ผ๊ณ  ํ•จ

์ด 9๊ฐœ ๊ณผ์ œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ  ๊ฐ์ • ๋ถ„์„(SST-2), MNLI(๋ฌธ์žฅ๊ฐ„ ๋…ผ๋ฆฌ ๊ด€๊ณ„ ํŒ๋‹จ), QQP(์งˆ๋ฌธ ์ค‘๋ณต ์—ฌ๋ถ€ ํŒ๋‹จ), CoLA(๋ฌธ๋ฒ•์ ์œผ๋กœ ์˜ณ์€ ๋ฌธ์žฅ์ธ์ง€ ํŒ๋ณ„) ๋“ฑ ์กด์žฌ

โœ…Abstract

๋Œ€๊ทœ๋ชจ ์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ์„ ํŒŒ์ธํŠœ๋‹ ํ•˜๋Š” ๊ฒƒ์ด NLP ์—์„œ ํšจ๊ณผ์ ์ธ ์ „์ดํ•™์Šต(Transfer Learning) ๋ฐฉ๋ฒ•์ž„. ๊ทผ๋ฐ ๋‹ค์ˆ˜์˜ ์‚ฌ์ „ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‹ค์ œ task ์— ์ ์šฉ์‹œ์ผœ fine-tuning ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ๋งค๋ฒˆ ํŒŒ์ธํŠœ๋‹ ํ•˜๋Š”๊ฑด ๋น„ํšจ์œจ์ ์ž„.

์ด๊ฒƒ์— ๋Œ€ํ•œ ๋Œ€์•ˆ โ†’ Adapter Module ์„ ์‚ฌ์šฉํ•œ ์ „์ดํ•™์Šต.

์–ด๋ށํ„ฐ ๋ชจ๋“ˆ์€ ํšจ์œจ์ ์ด๊ณ  + ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.
๊ฐ ์ž‘์—…๋งˆ๋‹ค ์†Œ์ˆ˜์˜ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€์‹œํ‚ค๊ณ  ๊ธฐ์กด ํ•™์Šต๋œ task ๋‹ค์‹œ ํ•™์Šตํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒˆ๋กœ์šด task ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

๋…ผ๋ฌธ์€ BERT ๋ชจ๋ธ์„ GLUE ๋ฒค์น˜๋งˆํฌ ํฌํ•จ 26๊ฐœ์˜ ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ์ž‘์—…์— ์ „์ด(transfer) ์ ์šฉํ•จ

์–ด๋ށํ„ฐ ๊ตฌ์กฐ ์‚ฌ์šฉํ–ˆ๋”๋‹ˆ ์†Œ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ SOTA ๊ทผ์ฒ˜ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ

GLUE ๋ฒค์น˜๋งˆํฌ์—์„œ ์ „์ฒด ํŒŒ์ธํŠœ๋‹ ๋Œ€๋น„ ์„ฑ๋Šฅ ์†์‹ค์ด 0.4% ์ •๋„ ์ˆ˜์ค€์ด๋ฉฐ ์ž‘์—…๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” 3.6% ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋˜๋Š” ๊ฒฐ๊ณผ ์–ป์Œ

๋ฐ˜๋ฉด, fine-tuning ์ž‘์—…์€ ๋งค๋ฒˆ ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ ์žฌํ•™์Šตํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋น„ํšจ์œจ์ 

โœ…Introduction

๊ทธ๋ž˜ํ”„ ํ•ด์„ : X ์ถ•์€ ๊ฐ ์ž‘์—…๋งˆ๋‹ค ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜

Y์ถ•์€ ์ „์ฒด ํŒŒ์ธํŠœ๋‹ ๋Œ€๋น„ ์ •ํ™•๋„๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‹ฌ๋ผ์กŒ๋‚˜ (0% : fully fine-tuning ๊ณผ ๋™์ผ)

์˜ค๋ Œ์ง€์„ ์ด Adapter ์“ฐ๊ณ  ํ•™์Šต์‹œํ‚จ๊ฑด๋ฐ Y=0 ์œ ์ง€ํ•˜๋Š”๊ฑธ ๋ณด๋‹ˆ ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์“ธ๋•Œ๋„ fully fine-tuning ๊ณผ ๋น„์Šท.

๋ฐ˜๋ฉด ํŒŒ๋ž€์ƒ‰์„ ์€ ์ƒ์œ„ ๋ ˆ์ด์–ด๋งŒ ์ผ๋ถ€ fine-tuning ํ–ˆ์„๋•Œ์ธ๋ฐ ํŒŒ๋ฆฌ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ ์ ์œผ๋ฉด ์„ฑ๋Šฅ์ด ํ˜„์ €ํžˆ ๋–จ์–ด์ง์„ ํ™•์ธ ๊ฐ€๋Šฅ

โ†’ Adapter ์˜ ํšจ์œจ์„ฑ ๊ฐ•์กฐ

์ด ๋…ผ๋ฌธ์€ ์˜จ๋ผ์ธ ์„ค์ • ๋‹ค๋ฃธ - task ๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ

๋ชจ๋“  ์ž‘์—…์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋ฉด์„œ ์ž‘์—…๋งˆ๋‹ค ์ƒˆ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•จ

์ „์ด ํ•™์Šต(Transfer Learning)์€ ๊ธฐ์กด ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP)์—์„œ๋Š” ์ฃผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ์ด๋ค„์กŒ์Œ

  • Feature-based Transfer Learning Word2Vec, GloVe, ELMo ๋“ฑ๊ณผ ๊ฐ™์€ ์‚ฌ์ „ ํ•™์Šต๋œ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ, ๊ฐ ๋‹จ์–ด๋ฅผ ๊ณ ์ •๋œ ๋ฒกํ„ฐ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ โ†’ ์ด๋•Œ ์ƒ์„ฑ๋œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋ฅผ downstream task ๋ชจ๋ธ์˜ ์ž…๋ ฅ ํŠน์ง•(feature)์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
  • Fine-tuning GPT์™€ ๊ฐ™์€ ์‚ฌ์ „ ํ•™์Šต๋œ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์˜ ์ „์ฒด ๋˜๋Š” ์ผ๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ downstream task์— ๋งž๊ฒŒ ์ง์ ‘ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹ โ†’ ์ด ๋ฐฉ์‹์€ ๋ชจ๋ธ์ด ๊ณผ์ œ๋ณ„ ๋ฌธ๋งฅ์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ๋†’์€ ์„ฑ๋Šฅ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Œ

๊ทผ๋ฐ Adapter ๊ฐ€ ๋” ํšจ์œจ์ ์ž„ ์™œ๋ƒ๋ฉด ์œ„ ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ task ๋งˆ๋‹ค ์ƒˆ ๊ฐ€์ค‘์น˜ ํ•™์Šต์‹œ์ผœ์•ผ ํ–ˆ๋Š”๋ฐ Adapter ์€ ์•„์ฃผ ์ ์€ ์–‘์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ํ•™์Šต์‹œํ‚ค๋ฉด ๋˜๋‹ˆ๊นŒ.

๐Ÿ“Œ๋…ผ๋ฌธ ๋ชฉํ‘œ : Compact + Extensible ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ
Compact : task ๋งˆ๋‹ค ์†Œ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์ถ”๊ฐ€ํ•ด์„œ ์—ฌ๋Ÿฌ ์ž‘์—… ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ
Extensible : ๊ธฐ์กด ์ž‘์—… ์žŠ์ง€ ์•Š๊ณ  ์ƒˆ task ๋ฅผ ์ ์ง„์ ์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ

๐Ÿ“Œ ํ•ต์‹ฌ์€ ํšจ์œจ์ ์ด๋ฉด์„œ๋„ ํšจ๊ณผ์ ์ธ bottleneck adapter ๋งŒ๋“ค์–ด online setting ์—์„œ ๋งค๋ฒˆ ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ์•ˆํ•ด๋„ ๋˜๋Š” ์ƒํ™ฉ ๋งŒ๋“œ๋Š”๊ฑฐ์ž„

์—ฌ๊ธฐ์„œ bottleneck (๋ณ‘๋ชฉ ๊ตฌ์กฐ) ์ด๋ž€ 100์ฐจ์› ์ž…๋ ฅ โ†’ 10์ฐจ์› โ†’ 100์ฐจ์› ๋ณต์›ํ•˜์—ฌ ์ค‘๊ฐ„์˜ ์ค‘์š”ํ•œ ์ •๋ณด๋งŒ ํ•™์Šตํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ด๋Ÿฐ bottleneck ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ํŒŒ์ธํŠœ๋‹ BERT ๋ž‘ ๊ฑฐ์˜ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ๋‚ด์ง€๋งŒ ์ž‘์—…๋งˆ๋‹ค ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋‹จ 3% โ†” ์ด์— ๋ฐ˜ํ•ด ์ „ํ†ต์ ์ธ fine-tuning ์€ 100% ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž‘์—…๋งˆ๋‹ค ์žฌํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋‘ ๋ฐฉ๋ฒ• ์„ฑ๋Šฅ์€ ๋น„์Šทํ–ˆ๋‹ค ๋ผ๋Š”๊ฒŒ ์˜์˜

โœ…Adapter Tuning for NLP

Large Text Model ์„ ์—ฌ๋Ÿฌ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์ž‘์—… (์‹ค์ œ ์–ธ์–ด ๋ฌธ์ œ๋“ค) ์— ๋Œ€ํ•ด ํŠœ๋‹ ํ•˜๋Š” ์ „๋žต ์ œ์‹œ

  1. ์ข‹์€ ์„ฑ๋Šฅ
  2. ์ž‘์—… ํ•˜๋‚˜์”ฉ ์ˆœ์ฐจ์  ํ›ˆ๋ จ
  3. ์ž‘์—…๋‹น ์†Œ๋Ÿ‰ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์ถ”๊ฐ€

Task ๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋“ค์–ด์˜ค๋Š” ๊ณผ์ •์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์œ ์šฉํ•จ.

Adapter ๋ชจ๋“ˆ ํŠœ๋‹ํ• ๋•Œ๋Š” ์ž‘์€ ํฌ๊ธฐ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๊ณ , ์ด๊ฒƒ๋งŒ ํ›ˆ๋ จ์‹œํ‚ค๋ฉด ๋จ

โ†” ๋น„๊ตํ•ด์„œ ์ผ๋ฐ˜ ํŒŒ์ธํŠœ๋‹์—์„œ๋Š” ๋ชจ๋ธ์˜ ์ƒ์œ„ ๋ ˆ์ด์–ด๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•ด์•ผ ํ•จ โ†’ ์™œ๋ƒํ•˜๋ฉด ์—…์ŠคํŠธ๋ฆผ (์‚ฌ์ „ํ•™์Šต) ๊ณผ ๋‹ค์šด์ŠคํŠธ๋ฆฝ(์ ์šฉํ•˜๋ ค๊ณ  ํ•˜๋Š” ์‹ค์ œ ์ž‘์—…) ๋ ˆ์ด๋ธ” ์ข…๋ฅ˜ ๋ฐ ์†์‹คํ•จ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ. ์ฆ‰ ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅด๋‹ˆ๊นŒ ์ถœ๋ ฅ ๋ ˆ์ด์–ด ๋ฐ”๊พธ๋Š”๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฑฐ

์–ด๋Œ‘ํ„ฐ ๋ชจ๋“ˆ์€ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ์— ์ƒˆ๋กœ์šด ์ธต์„ ์‚ด์ง ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•จ

๊ธฐ์กด ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋Š” ์ „ํ˜€ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์–ด๋Œ‘ํ„ฐ ์ธต๋งŒ ์ดˆ๊ธฐํ™”ํ•ด์„œ ํ•™์Šต

Adapter Tuning ์—์„œ๋Š” ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ํŒŒ๋ผ๋ฏธํ„ฐ freeze ํ•ด์„œ ๋ชจ๋“  ์ž‘์—… ๊ณต์œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  adapter ์ธต๋งŒ ํ•™์Šต์‹œํ‚ค๊ฒŒ ๋จ

Adapter ๋ชจ๋“ˆ ํŠน์ง•

  1. ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งค์šฐ ์ ๋‹ค
  2. ์ดˆ๊ธฐ์—๋Š” near-identity initialization ์ƒํƒœ๋กœ ์‹œ์ž‘
Output = Input + Wโ‚‚(ReLU(Wโ‚(Input)))
  • Wโ‚: ์ž…๋ ฅ์„ bottleneck์œผ๋กœ ์ถ•์†Œ (d โ†’ m)
  • Wโ‚‚: ๋‹ค์‹œ ํ™•์žฅ (m โ†’ d)

์—ฌ๊ธฐ์„œ W1, W2 ๋ฅผ 0 ๊ทผ์ฒ˜๋กœ ์ดˆ๊ธฐํ™”ํ•ด์„œ ๋งˆ์น˜ adapter ๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ์•ˆํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์„ธํŒ…ํ•˜๋Š”๊ฑธ near-identity initialization ์ด๋ผ๊ณ  ํ•จ ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ๊ธฐ์กด ๋ชจ๋ธ ์„ฑ๋Šฅ ๋ณด์กด ์ƒํƒœ์—์„œ ํ•™์Šต ํ•„์š”ํ•œ ๋ฐฉ์‹์œผ๋กœ ์กฐ์ • ํ•จ

์ฒ˜์Œ์—๋Š” ์–ด๋Œ‘ํ„ฐ๊ฐ€ ์‹ ํ˜ธ๋ฅผ ๊ทธ๋ƒฅ ํ†ต๊ณผ์‹œ์ผœ์„œ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ๋Š” ํ›ˆ๋ จ ์ดˆ๋ฐ˜์— ์–ด๋ށํ„ฐ ์˜ํ–ฅ ์ „ํ˜€ ์•ˆ๋ฐ›์Œ

๊ทธ๋Ÿฐ๋ฐ ํ›ˆ๋ จ ์ง„ํ–‰๋˜๋ฉด์„œ ์–ด๋ށํ„ฐ๊ฐ€ ์ ์  ์‹ ํ˜ธ ์กฐ์ ˆ

์ดˆ๊ธฐ๋ถ€ํ„ฐ ์–ด๋ށํ„ฐ๊ฐ€ ์ž‘๋™ํ•˜๋ฉด ๋ชจ๋ธ์ด ํ•™์Šต์„ ๋” ๋А๋ฆฌ๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Œ

Adapter ๋ชจ๋“ˆ์€ ๊ธฐ์กด ๋ ˆ์ด์–ด๋ณด๋‹ค ํ›จ์”ฌ ์ž‘๊ฒŒ ์„ค๊ณ„๋จ โ†’ ๊ทธ๋ž˜์„œ ์ž‘์—…์ด ์ ์  ์ถ”๊ฐ€๋ผ๋„ ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ€ ์ฒœ์ฒœํžˆ ์ปค์ง€๊ฒŒ ๋จ

2.1 Adapter to Transformer

Adapter ๋ชจ๋“ˆ์„ Transformer ์— ์ ์šฉ์‹œํ‚ด

Attention Layer ๋’ค์—, FFN ๋’ค์— ์–ด๋Œ‘ํ„ฐ ์œ„์น˜์‹œํ‚ด

์—ฌ๋Ÿฌ ๊ตฌ์กฐ ๊ฐ€๋Šฅํ•˜๊ฒ ์ง€๋งŒ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์œ„ ๊ตฌ์กฐ๊ฐ€ ์„ฑ๋Šฅ์ด ๊ฐ€์žฅ ์ข‹์•˜๋‹ค๊ณ  ํ•จ

์›๋ž˜ Transformer ๊ตฌ์กฐ ์•ˆ๊ฑด๋“œ๋ฆฌ๋ฉด์„œ ๋ผ์–ด๋“ค์–ด ํ•™์Šต ๊ฐ€๋Šฅํ•œ ์กฐ์ • ์—ญํ•  ํ•˜๊ฒŒ ๋จ

ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ์ค„์ด๊ธฐ ์œ„ํ•ด Bottleneck Architecture ์‚ฌ์šฉ

์–ด๋Œ‘ํ„ฐ ๋‹จ๊ณ„

  1. ์ž…๋ ฅ d ์ฐจ์› โ†’ m ์ฐจ์› ์ถ•์†Œ (Down-Project)
  2. ๋น„์„ ํ˜•ํ•จ์ˆ˜ ์ ์šฉ (Non-Linearity) ReLU ๋“ฑ
  3. ๋‹ค์‹œ d ์ฐจ์› ํ™•์žฅ (Up-Project)

์ด๋ ‡๊ฒŒ ํ–ˆ์„๋•Œ ๊ฐ ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๋ ˆ์ด์–ด๋‹น ์ถ”๊ฐ€ํ•˜๋Š” ์ด ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋Š”

  • ์ฒซ projection W1 โ†’ m * d = md (์„ ํ˜• ๋ณ€ํ™˜ ํ–‰๋ ฌ ๊ณ„์‚ฐ์— ์˜๊ฑฐํ•จ)
  • ๋‘๋ฒˆ์งธ projection W2 โ†’ d*m = md
  • bias : d (W2) + m(W1) (bias ๋Š” ์ถœ๋ ฅ ์ฐจ์›๋งŒํผ ์กด์žฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ)

๋”ฐ๋ผ์„œ 2md + d + m ๋งŒํผ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ•™์Šต์‹œ์ผœ์ฃผ๋ฉด ๋จ

m ์„ d ๋ณด๋‹ค ํ›จ์”ฌ ์ž‘๊ฒŒ ์„ค์ •ํ•˜๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋จ

์ด ๊ตฌ์กฐ ๊ฒฝ์šฐ ์ „์ฒด ๋ชจ๋ธ ํŒŒ๋ฆฌ๋ฏธํ„ฐ์˜ 0.5-8% ์‚ฌ์šฉ

bottleneck dimension m ์€ ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์„ฑ ์‚ฌ์ด trade-off ์กฐ์ ˆํ•˜๋Š” ํ•ต์‹ฌ๋ณ€์ˆ˜์ž„

์–ด๋Œ‘ํ„ฐ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— skip connection ์กด์žฌ (์ด์ „ ์ž…๋ ฅ์„ ๊ทธ๋Œ€๋กœ ๋”ํ•ด์„œ ๋‹ค์Œ ๋ ˆ์ด์–ด๋กœ ์ถœ๋ ฅ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹)

์ด๊ฒƒ ๋•์— ๋งŒ์•ฝ projection ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”์‹œ ์–ด๋Œ‘ํ„ฐ๋Š” ํ•ญ๋“ฑํ˜์ˆ˜์ฒ˜๋Ÿผ ์ž‘์šฉํ•˜๊ฒŒ ๋จ

โœ…Experiments

๊ฒฐ๊ณผ : GLUE ๋ฒค์น˜๋งˆํฌ์—์„œ ์–ด๋Œ‘ํ„ฐ ํŠœ๋‹์€ ์ „์ฒด BERT ํŒŒ์ธํŠœ๋‹๋ณด๋‹ค ์„ฑ๋Šฅ ์ฐจ์ด๋Š” 0.4% ๋ฐ–์— ๋‚˜์ง€ ์•Š์ง€๋งŒ ํ•™์Šต๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ „์ฒด์˜ 3% ์ •๋„๋ฟ์ž„

โ†’ ๋ถ„์„ ๊ฒฐ๊ณผ ์–ด๋Œ‘ํ„ฐ ๊ธฐ๋ฐ˜ ํŠœ๋‹์€ ํŠธ๋žœ์Šคํฌ๋จธ ์ƒ์œ„ ๋ ˆ์ด์–ด ์ฒ˜๋ฆฌ์— ์ง‘์ค‘ํ•˜๋Š” ๊ฒฝํ–ฅ

ํ˜„์ €ํžˆ ๋‚ฎ์€ ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ์ž…์ฆ


MNLIm ๋ฐ์ดํ„ฐ์…‹๊ณผ CoLA ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด BERTBASE ๋ชจ๋ธ๋กœ ํ•™์Šต์‹œํ‚จ ํ›„ ablation ์‹คํ—˜ ์ง„ํ–‰ (์ฆ‰ ํ•™์Šต๋œ ์–ด๋Œ‘ํ„ฐ ์ผ๋ถ€ ์ œ๊ฑฐํ•˜๋ฉด์„œ ํ‰๊ฐ€ โ†’ ์–ด๋ށํ„ฐ๊ฐ€ ์„ฑ๋Šฅ ๋ณ€ํ™”์™€ ์–ผ๋งˆ๋‚˜ ์˜ํ–ฅ ์žˆ๋‚˜ ํ™•์ธ)

  • X ์ถ•์€ ๋งˆ์ง€๋ง‰์— ์ œ๊ฑฐ๋œ ๋ ˆ์ด์–ด, Y ์ถ•์€ ์ฒ˜์Œ์— ์ œ๊ฑฐ๋œ ๋ ˆ์ด์–ด

  • ์„ธ๋กœ ์ดˆ๋ก์ƒ‰ ๋ถ€๋ถ„์€ ๋‹จ์ผ ๋ ˆ์ด์–ด ์–ด๋Œ‘ํ„ฐ ์ œ๊ฑฐํ•œ๊ฑฐ โ†’ ์ด๊ฑด ๋ณ„๋กœ ์„ฑ๋Šฅ ์˜ํ–ฅ ์—†์Œ

  • ์ƒ‰๊น” ์ง„ํ•ด์งˆ์ˆ˜๋ก ์„ฑ๋Šฅ ํฌ๊ฒŒ ํ•˜๋ฝํ•œ๊ฑด๋ฐ, ๋ชจ๋“  ๋ ˆ์ด์–ด ์–ด๋Œ‘ํ„ฐ ์ œ๊ฑฐํ•˜๋ฉด ๋‘ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๋ชจ๋‘ ์„ฑ๋Šฅ ๋Œ€ํญ ํ•˜๋ฝ ๋ณด์ž„ (MNLI - 37% ์ •ํ™•๋„, CoLA - 69%) : ํ•œ ๋ ˆ์ด์–ด์—์„œ์˜ ์–ด๋Œ‘ํ„ฐ ์˜ํ–ฅ์€ ์ž‘์•„๋„ ์ „์ฒด์ ์œผ๋กœ ์ค‘์š”ํ•œ ์—ญํ•  ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์Œ

  • ๋˜ํ•œ ์ดˆ๊ธฐํ™” (์ดˆ๊ธฐ์—๋Š” near-identity initialization ์ƒํƒœ๋กœ ์‹œ์ž‘ โ†’ ์ด ๋ถ€๋ถ„) 0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์„ฑ๋Šฅ ์ข‹์Œ ์ž…์ฆ (๋งจ ์™ผ์ชฝ ๊ทธ๋ž˜ํ”„)

๐Ÿ”ดPre-trained text representation

  • ๋Œ€๊ทœ๋ชจ corpora ์— ๋Œ€ํ•ด ์ฃผ๋กœ ๋น„์ง€๋„ ํ•™์Šต์œผ๋กœ ํ›ˆ๋ จํ•œ๋‹ค
  • ์‚ฌ์ „ํ•™์Šต๋œ ์ž„๋ฒ ๋”ฉ์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šต ์ง„ํ–‰ํ•˜๋Š”๊ฑฐ๋ณด๋‹ค ์„ฑ๋Šฅ ์šฐ์ˆ˜
  • Word Embeddings ๋“ฑ ๋งŽ์€ ๊ธฐ๋ฒ•๋“ค (Word2Vec, Glove ๋“ฑ) โ†’ ๋‹จ์–ด ์ˆ˜์ค€ ์ด์ƒ ๋” ๊ธด ํ…์ŠคํŠธ, ๋ฌธ์žฅ ๋‹จ๋ฝ ์ž„๋ฒ ๋”ฉ ๋ฐœ์ „ โ†’ ๋ฌธ๋งฅ ๋ฐ˜์˜ ์œ„ํ•ด ์‹œํ€€์Šค ๋ชจ๋ธ ๋‚ด๋ถ€ ํ‘œํ˜„ ํŠน์„ฑ ์ถ”์ถœ ์ ‘๊ทผ ์‚ฌ์šฉ (ELMo ์˜ BiLSTM ๋‚ด๋ถ€ ๋ ˆ์ด์–ด ์‚ฌ์šฉ ๋“ฑ)
  • ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์€ ๋‚ด๋ถ€ ๋ ˆ์ด์–ด์—์„œ ์ •๋ณด๋ฅผ โ€œ์ฝ๋Š”โ€ ๊ฑฐ๋ผ๊ณ  ํ•จ
  • ๊ทผ๋ฐ Adapter ์€ ๋‚ด๋ถ€ ๋ ˆ์ด์–ด์— ์“ฐ๊ธฐ โ€œwritingโ€ ์„ ์ˆ˜ํ–‰ (์ •๋ณด ํ๋ฆ„ ์žฌ๊ตฌ์„ฑ ํ•˜๋‹ˆ๊นŒ)

๐Ÿ”ดFine-Tuning

  • SOTA ๋‹ฌ์„ฑํ•œ Q&A ์‹œ์Šคํ…œ ์ตœ์‹  ์„ฑ๋Šฅ์€ Trasformer ์„ ๋งˆ์Šคํ‚น ์‚ฌ์ „ํ•™์Šต ๋’ค ํŒŒ์ธํŠœ๋‹ ๋‹ฌ์„ฑํ•œ๊ฒŒ ๋งŽ์•˜์Œ (BERT ์ด์•ผ๊ธฐ ํ•˜๋Š”๋“ฏ)
  • ๊ทผ๋ฐ ์ด๊ฑฐ ๋น„ํšจ์œจ์ ์ž„

๐Ÿ”ดMulti-Task Learning

  • ์—ฌ๋Ÿฌ ์ž‘์—… ๋™์‹œ ํ•™์Šต
  • ํ•˜์œ„ ๋ ˆ์ด์–ด ๊ณต์œ ํ™” โ†’ ์ƒ์œ„ ๋ ˆ์ด์–ด๋ฅผ ์ž‘์—…๋ณ„๋กœ ๋ถ„๋ฆฌํ•ด์„œ ํŠนํ™”์‹œํ‚ค๋Š” ๊ณผ์ •
  • MTL ํ•˜๋ฉด ๋ชจ๋“  ์ž‘์—… ํ•˜๋‚˜์˜ ๋ชจ๋ธ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ : ๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋“  ์ž‘์—…์— ๋™์‹œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ

๐Ÿ”ดConditional Learning

  • Adapter ๋ชจ๋“ˆ์€ task ์— ๋”ฐ๋ผ ๋ชจ๋ธ ๋™์žฅ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•จ ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•™์Šต๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋‹ฌ๋ผ์ง€๋‹ˆ๊นŒ โ†’ Conditional Learning (์กฐ๊ฑด๋ถ€ ํ•™์Šต) ์€ ๊ฒฐ๊ตญ ๋ชจ๋“  ๋ ˆ์ด์–ด ํ•ญ์ƒ ๋‹ค ์“ฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ task ์— ๋”ฐ๋ผ ํ•„์š” ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํšจ์œจ์  ๊ณ„์‚ฐ ๊ตฌ์กฐ์ž„ โ†’ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๊ทœํ™” ํŒŒ๋ผ๋ฏธํ„ฐ ๋‹ฌ๋ผ์ง€๋Š” ์กฐ๊ฑด๋ถ€ ๋ฐฐ์น˜ ์ •๊ทœํ™”์™€ ์œ ์‚ฌ

๐Ÿ”ดTransfer Learning (in Vision)

  • ์›๋ž˜ ๋น„์ „ ๋ถ„์•ผ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ์ตœ์†Œํ™” ํ•ด์„œ ์‹œ๊ฐ ๋„คํŠธ์›Œํฌ ์ „์ฒด์— ์‚ฝ์ž…๋˜๋Š” redidual adapter ๋ชจ๋“ˆ์ด๋ผ๋Š”๊ฑธ ์ œ์•ˆํ–ˆ์—ˆ์Œ ๊ทธ๋ž˜์„œ ์ƒˆ task ์— ์ €๋น„์šฉ์œผ๋กœ ํ•™์Šต์ด ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ ์ด๊ฑธ NLP ๋ถ„์•ผ์— ์ ์šฉ์‹œํ‚จ๊ฒŒ ์šฐ๋ฆฌ ์—ฐ๊ตฌ๋ผ๊ณ  ํ•จ
profile
AI & Languages galore.

0๊ฐœ์˜ ๋Œ“๊ธ€