The current trend of LM ๐
2017๋ Vaswani ๊ป์ 'Attention Is All You Need'๋ผ๋ ๋ ผ๋ฌธ์ผ๋ก Transformer๋ฅผ ์ฒ์ ์๊ฐํ์๊ณ , ๊ทธ ํ 2018๋ ์ BERT์ GPT๊ฐ ๋์ค๊ฒ ๋๋ฉด์๋ถํฐ LM(Language Model)์ ๋ํ ์ฐ๊ตฌ๋ ๊ทธ ์์์ ์๋ ธ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋น์์ ์๊ฐ๋์๋ pre-training & fine-tuning์ด๋ผ๋ ๊ฐ๋ ์ ์์ง๊น์ง๋ ๋๋ฆฌ ์ฌ์ฉ๋ ์ ๋๋ก ํฌ๋ํฐ LM์ framework๋ฅผ ์ด๋ฃจ๊ฒ ๋์๋ค. ์ด๋ฒ ํฌ์คํ ์์ ์์๋ณด๊ฒ ๋ PEFT(์์ธํ ๋ป์ ์กฐ๊ธ ๋ค์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค! ๐)๋ ์ด ์ค fine-tuning์ ๊ด๋ จ๋ method์ด๋ค. PEFT์ ๋ํด ์์๋ณด๊ธฐ ์ ์ ์ด pre-training๊ณผ fine-tuning์ด ๊ณผ์ฐ ์ ํํ ๋ฌด์์ธ์ง์ ๋ํด์ ์์๋ณด๋๋ก ํ์!
Pre-training & Fine-tuning
pre-training์ ์ด๋ฆ์์๋ถํฐ ์ ์ ์๋ฏ์ด ๋ง ๊ทธ๋๋ก ์ฌ์ ์ ํ์ต์ํจ๋ค๋ ์๋ฏธ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฌด์์ ์ฌ์ ์ ํ์ต์ํค๋ ๊ฒ์ผ๊น? ๋ฐ๋ก LM์ ์ฌ์ ์ ํ์ต์ํค๋ ๊ฒ์ด๋ค! ๐ ์ด๊ฒ ๋ฌด์จ ๋ง์ผ๊น? LM์ ์ฌ์ ์ ํ์ต์ํจ๋ค๋? LM์ ํ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง๋ ๊ฒ ์๋๋ผ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง๋ ๊ฒ์ธ ๊ฑธ๊น? ์ ํํ๋ค! ํ์ฌ์ LM๋ค์ ํ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง์ง ์๋๋ค. LM์ ๋ณดํต pre-training๊ณผ fine-tuning์ 2๋จ๊ณ๋ก ํ์ต๋๋ค.
- Pre-training: LM์ด ์ ๋ฐ์ ์ธ ์ธ์ด์ ์ดํด ๋ฅ๋ ฅ์ ๊ธฐ๋ฅผ ์ ์๊ฒ ํ๋๋ก ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ ์ LM์ ํ์ต์์ผ ๋๋ ๋จ๊ณ โ โ ๋ฐ์ดํฐ & โ ํ์ต ์๊ฐ ๐
- Fine-tuning: pre-training์ ํตํด ์ฌ์ ์ ํ์ต๋ ๋ชจ๋ธ์ ๊ตฌ์ฒด์ ์ธ ๋๋ฉ์ธ์ ๋ํด์ ๋ ์ ์ ์ํ ์ ์๋๋ก ๊ทธ ๋๋ฉ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ํ๋ฒ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํด ๋๊ฐ๋ฉด์ ํ์ต์ํค๋ ๋จ๊ณ โ โ ๋ฐ์ดํฐ & โ ํ์ต ์๊ฐ ๐ช
๋ค์์ ๊ทธ๋ฆผ์ Pre-training๊ณผ Fine-tuning์ ์ค๋ช ํ๋ ์์ฃผ ์ ๋ช ํ ๊ทธ๋ฆผ์ผ๋ก, BERT์ ๋ ผ๋ฌธ์์ ์ ๋ณด์ฌ์ง ๊ทธ๋ฆผ์ด๋ค. ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ผ์ชฝ์ ๋ชจ๋ธ์ ๋ฒ์ฉ์ ์ผ๋ก ํ์ต๋ pre-trained model์ด๊ณ , ์ด pre-trained model์ ๊ฐ task์ ๋ํด์ fine-tuning ์ํจ ๋ชจ๋ธ์ด ์ค๋ฅธ์ชฝ์ fine-tuned model์ด๋ค. ์ด๋ ๊ฒ pre-training์ ํตํด ์ ๋ฐ์ ์ธ LM์ ์ฑ๋ฅ์ ๋ค์ ธ๋๊ณ , fine-tuning์ ํตํด ๊ตฌ์ฒด์ ์ธ task์ ๋ํด์ ๋ชจ๋ธ์ ํนํ์ํด์ผ๋ก์จ ๋น๊ต์ ์ ์ ๋น์ฉ์ผ๋ก ์ฌ๋ฌ task์ ๋ํด ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๊ฒ ๋ ๊ฒ์ด๋ค! ๐ Pre-training & Fine-tuning์ ๊ทธ ํจ๊ณผ์ ํจ์จ์ฑ์ ์ธ์ ๋ฐ์ ์์ง๊น์ง๋ LM์ ๊ตต์ ๋ผ๋๋ฅผ ์ด๋ฃจ๊ณ ์๋ค.

What's the problem of Fine-tuning? ๐ค
์์ ์ค๋ช ํ๋ ๊ฒ์ฒ๋ผ fine-tuning์ ์ฅ์ ์ pre-training์ ๋นํด์ ํจ์ฌ ๋ ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ tuningํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ ์ computation์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค. ์ค์ ๋ก ๋น๊ตํด ๋ด๋ pre-training์ ๋นํด fine-tuning์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ์์ ํจ์ฌ ๋ ์ ์ ์์ด ์ฌ์ฉ๋๋ค. ์ด๋ก ์ธํด์ fine-tuning์ ๋น์ฉ์ด ์๋นํ ์ค์ด๋ค ์ ์๋ ๊ฒ์ด๋ค. ํ์ง๋ง, ์๋ฒฝํ ์ค๋ง ์์๋ fine-tuning์๋ ์ด๋ ์๊ฐ๋ถํฐ ๊ทธ๋ฆผ์ ๋๋ฆฌ์ฐ๊ธฐ ์์ํ์์ผ๋,, ๐ฅ
fine-tuning์ ๋ฌธ์ ์ ์ ๋ชจ๋ธ์ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด์, pre-training์ ๋นํด์ ํจ์ฌ ๋ ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด๋ ๊ฐ๊ฐ์ธ์ด tuning์ ์งํํ๊ธฐ์๋ ์ปดํจํ ์์์ ์ ํ์ด ์๊ธธ ์๋ฐ์ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ค์ ๋ก ๋ช ๋ฐฑ๋ง ๊ฐ์ ๋ฐ์ดํฐ(๋ค์ ์๊ฐํด ๋ณด๋ ์ ์ ์ซ์๋ ์๋๊ธด ํ๋ค ๐คฃ)์์ 13B ๋ชจ๋ธ์ fine-tuning ํ๋ค๊ณ ํด๋ ์ฌ๋ฌ ๋์ GPU๋ฅผ ๊ฐ์ง๊ณ ๋ช์ผ ๋์ ํ์ต์ ์์ผ์ผ ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ๐ฐ ๋ฌผ๋ก ์ปดํจํ ์์์ด ๋ง์ ํ๊ฒฝ์์๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋ ๊ฒ์ด ์์ง๋ง, ํ์์ ๊ฐ์ ๊ฐ์ธ ํ์ต์ ๋๋ ์ฐ๊ตฌ์์ ์ ์ฅ์์ ์ด๋ฌํ ์ปดํจํ ์์์ ์๋นํ ๋ถ๋ด๋ ์๋ฐ์ ์๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์, ๋นจ๋ฆฌ ๊ฐ์ ๋์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.. ๐ญ
ํจ์จ์ฑ์ ์ํด ๋ง๋ค์ด์ง ๋ฐฉ๋ฒ์ธ fine-tuning์ด ํจ์จ์ ์ด์ง ์๋ค๋ฉด, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น? ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก PEFT(Parameter Efficient Fine-tuning)์ด๋ค!! ๐ค PEFT๋ ์ด๋ฆ์์๋ถํฐ ์ ์ ์๋ฏ์ด ์ข ๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ ํตํด ๋์ฑ ํจ์จ์ ์ธ fine-tuning์ ํ ์ ์๊ฒ ๋ง๋๋ method์ด๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์ด PEFT์ ์ด๋ค ๋ฐฉ๋ฒ๋ค์ด ์กด์ฌํ๊ณ , ์ด๋ค ๊ฒฝ์๋ก ์ด๋ฌํ method๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ์ธ์ง์ ๋ํด ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ๋ค. ์, ๊ทธ๋ผ ์์ํด ๋ณด๋๋ก ํ์!! ๐ซ

Parameter Efficient Fine-Tuning ๐ค
๋๋์ด ๋๋ง์ PEFT์ ๋ํด์ ์์๋ณผ ์๊ฐ์ด๋ค. PEFT, ๊ณผ์ฐ ๋ฌด์์ผ๊น? PEFT๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ด๋ผ๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์ ๋งํ๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ๋ฌด์จ ์๋ฏธ์ผ๊น? ์, fine-tuning์ ๊ฐ๋ ์ ๋ํด์ ๋ค์ ํ ๋ฒ ์๊ฐํด ๋ณด์. fine-tuning์ ๊ธฐ์กด์ pre-trained base model์ ๋ํด domain-specific ํ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ 'ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ 'ํจ์ผ๋ก์จ ๋ค์ ํ์ต์ํค๋ ๊ณผ์ ์ ๋งํ๋ค. ์์ ๋ฌธ์ฅ์์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ชฉํด์ผ ํ ๋ถ๋ถ์ 'ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ ' ํ๋ค๋ ๋ถ๋ถ์ด๋ค. ์ด๋, fine-tuning์ ๋ชจ๋ธ์ '๋ชจ๋ ' ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ ํจ์ผ๋ก์จ ์ข ๋ ๋๋ฉ์ธ์ ์๋ง์ ๋ชจ๋ธ์ ์ป์ ์ ์๊ฒ ๋๋ค. PEFT๋ fine-tuning์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ถ๋ถ์ ํ๊ณ ๋ค์ด์ ๊ตณ์ด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์๊ณ ๋ fine-tuning๊ณผ ๋น์ทํ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋๋ก ํ ๋ฐฉ๋ฒ์ด๋ค. ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ง ์๊ณ ๊ทน์์์ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธ ํจ์ผ๋ก์จ ์ข ๋ ํจ์จ์ ์ผ๋ก fine-tuning์ ํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค! ๐

์ด์ ์์ฐ์ค๋ฝ๊ฒ ์๋ฌธ์ด ๋ค ์๋ฐ์ ์๋ค. '์ด๋ ๊ฒ ์กฐ๊ธ์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ ๋ง์ผ๋ก๋ ๊ธฐ์กด์ full parameter update๋ฅผ ํ๋ fine-tuning๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์๊ฐ ์๋ค๊ณ ? ๐ค' ๋น์ฐํ๊ฒ๋ ๋ค ์๋ฐ์ ์๋ ์๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ์๋ ์ฒ์ ๋ณด๊ณ ์ ๋ง ๋ง๋ ์ ๋๋ ๋ ผ๋ฆฌ๋ผ๊ณ ์๊ฐํ์๊ธฐ ๋๋ฌธ์ด๋ค. ๐ ๊ณผ์ฐ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๊ฐ๋ฅํ๋ ๊ฑด์ง ์ฌ๋ฌ PEFT method๋ฅผ ์์๋ณด๋ฉด์ ์๊ธฐํด ๋ณด๋๋ก ํ๊ฒ ๋ค! ๐
Adapter: Parameter-Efficient Transfer Learning for NLP (Houlsby et al., 2019)
๊ฑฐ์ ์ฒ์์ผ๋ก Parameter Efficient ํ์ต ๋ฐฉ์์ ์ ์ํ Adapter๋ 2019๋ ๋ 'Parameter-Efficient Transfer Learning for NLP' ๋ ผ๋ฌธ์ ํตํด์ ๊ณต๊ฐ๋์๋ค. Adapter๊ฐ ๋ง๋ค์ด์ง ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ด๋๋ถํฐ PEFT์ ๊ทผ๋ณธ์ ์ธ ์ด๋ ์ด ๋ง๋ค์ด์ก๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๐
- ์ํ์ Adapter ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ฌ๋ฌ task ๋ณํ์ด ์ฉ์ดํ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์ ํจ. ๐ค
- ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ฌ fine-tuning๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ์ป๊ณ ์ ํจ. ๐ป๐
์์ ๋ชฉํ๋ค์ ๋ฌ์ฑํ๊ธฐ ์ํด Adapter paper์์๋ pre-trained weight๋ frozen(๋๊ฒฐ์์ผ๋๊ณ ์ ๋ฐ์ดํธ๋ฅผ ํ์ง ์๋ ์ํ) ์์ผ๋๊ณ , ์ค์ง Adapter layer๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋ค. ์ด ๋ฐฉ์์ ํตํด ์ ๋ ๋ชฉํ๋ฅผ ํจ๊ป ๋ฌ์ฑํ ์ ์์๋๋ฐ, ์ฐ์ ๊ธฐ์กด์ pre-trained weight๊ฐ ์ ๋ฐ์ดํธ๋์ง ์์๊ธฐ ๋๋ฌธ์, Adapter๋ง ๊ฐ์ ๋ผ์ฐ๊ฒ ๋๋ค๋ฉด ์ด๋ task๋ ์ฉ์ดํ๊ฒ ์ฌ์ฉ๋ ์ ์๊ณ , pre-trained weight๊ฐ frozen ๋์ด ์๊ณ , Adapter๋ง์ ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ๋๋ค! ๐ ๊ทธ๋ ๋ค๋ฉด ์ด์ ์ ํํ Adapter๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด๋๋ก ํ์!
Adapter๋ ๋ฐ๋ก ๊ฑฐ์ฐฝํ ๋ฌด์ธ๊ฐ๊ฐ ์๋ ๊ฒ์ ์๋๊ณ , ๊ทธ ์ค์์ Transformer layer ์ค๊ฐ์ ์ถ๊ฐ๋๋ ํ๋์ ์์ ๋ ์ด์ด์ผ ๋ฟ์ด๋ค. ๐ ๊ทธ๋ ๋ค๋ฉด ์ด ํ๋์ ๋ ์ด์ด๊ฐ ์ด๋ป๊ฒ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ ํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ผ๊น? ๋ค์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด Adapter layer๋ ์ด 3๊ฐ์ ๋ ์ด์ด๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ, 'Feed-forward down-projection', 'Non-linear layer', 'Feed-forward up-projection'์ด๋ค. ์ด๋ down-projection์ ํตํด ๊ธฐ์กด์ d ์ฐจ์์ smaller m ์ฐจ์์ผ๋ก ๋ณํํ๊ณ , ๋น์ ํ ๋ ์ด์ด๋ฅผ ๊ฑฐ์น ๋ค์์, ๋ค์ up-projection์ ํตํด smaller m ์ฐจ์์์ ๊ธฐ์กด์ d ์ฐจ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ ๊ณผ์ ์ ํตํด ๋์ฑ ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์๋ ๊ฒ์ด๋ค! ๐

Adapter๋ ๊ธฐ์กด ๋ชจ๋ธ์ 2~3%์ ๋ถ๊ณผํ๋ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธ ํ์์๋ ๋ถ๊ตฌํ๊ณ , GLUE ๋ฒค์น๋งํฌ์์ ๊ธฐ์กด BERT_LARGE์ 0.4% ๋ฐ์ ๋ค์ง์ง ์๋ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค! ๐ฎ ์ ๋ง์ด์ง ์์ฒญ๋ ๊ฒฐ๊ณผ๊ฐ ์๋ ์๊ฐ ์๋ค! ์ด๋ฌํ ๊ฒฐ๊ณผ๋ ์ง๊ธ๊น์ง์ fine-tuning์ ๋ํ ์ ๋ฐ์ ์ธ ์๊ฐ์ ๋ค์ง์ด์๋ ๊ฒฐ๊ณผ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก Adapter๋ ํ์คํ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ผ๋ก fine-tuning์ ์ฑ๋ฅ์ ๋ฒ๊ธ๊ฐ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์๋ค.

Prefix-Tuning: Optimizing Continuous Prompts for Generation (Li & Liang, 2021)
Adapter์ ๋ค๋ฅผ ์ด์ ๋ ผ๋ฌธ์ Prefix-Tuning์ด๋ค(์ค์ ๋ก ๋ฐ๋ก ํ์์ผ๋ก ๋์จ ๋ ผ๋ฌธ์ธ์ง๋ ์ ๋ชจ๋ฅด๋, ํ์๋ Adapter ์ดํ์ Prefix-Tuning์ ์ฝ๊ธด ํ์ต๋๋ค! ๐ ). Prefix-Tuning์ 2021๋ ๋ 'Prefix-Tuning: Optimizing Continuous Prompts for Generation' ๋ ผ๋ฌธ์์ ์๊ฐ๋์๋ค. Prefix-Tuning๋ Adapter์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์กด์ fine-tuning์ ๋๋ฌด ๋ง์ ํ๋ผ๋ฏธํฐ ํ๋์ ํ์๋ก ํ๊ณ , ํ๋์ task ๋น ํ๋์ full fine-tuned model์ ์ ์ฅํด์ผ ํ๋ค๋ ์ฌ์ค์ ์ง์ ํ๋ฉด์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด prefix๋ง์ ํ๋ํ๋ Prefix-Tuning์ ์ ์ํ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ ๋งํ๋ prefix๋ ๋ฌด์์ผ๊น? ์ฐ์ GPT-2์ GPT-3์ ๋ํด ๋จผ์ ์๊ฐํด๋ณด์. ์ด ๋ ๋ชจ๋ธ์ few-shot์ ํ์ฉํ์๋ค. few-shot์ ํ๊ธฐ ์ํด์๋ ๋ช ๊ฐ์ง example์ ์ฃผ์ด์ผ ํ๋๋ฐ, ์ด๋ ๋ช ๊ฐ์ง example๊ณผ ํจ๊ป ์ฃผ์ด์ง๋ ์ฝ๊ฐ์ instruction ๊ฐ์ ๊ฒ์ prefix๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. (ex. 'input์ ์ด์ฉํ์ฌ input์ ๋ํด ์ค๋ช ํ์์ค.') ์ด๋ ๊ฒ ์ฃผ์ด์ง๋ prefix๋ง์ ํ๋ํ๊ณ , pre-trained model์ frozen ์์ผ๋ ์ฑ, ์ข ๋ input์ ์ ํ์ฉํ์ฌ ๋ ๋์ output์ ์ ๊ณตํ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก Prefix-Tuning์ธ ๊ฒ์ด๋ค! ๐

์ด๋ ๊ฒ ์ป์ด์ง Prefix-Tuning์ ์ฑ๋ฅ์ ์ด๋ ์๊น? ๋ฌด๋ ค ๊ธฐ์กด ๋ชจ๋ธ์ 0.1%์ ํด๋นํ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๊ณ ๋ ์คํ๋ ค ๊ธฐ์กด์ ๋ชจ๋ธ์ ์๋ํ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ์๋ค! ๐ฎ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด์ ๋ ผ๋ฌธ์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๋ค.
PLM์ weight๋ frozen ๋์ด untouched ๋์๊ธฐ ๋๋ฌธ์, general purpose corpora์์
์ป์ด์ง ๋ฅ๋ ฅ์ ์จ์ ํ ์ฌ์ฉํ ์ ์์ด์ ์ฑ๋ฅ์ด ๊ฐ์ ๋

LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)
ํน์ ์ง์ LM์ fine-tuning ํด๋ณด๊ฑฐ๋ LM ๊ด๋ จ ํ๋ก์ ํธ๋ฅผ ์งํํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด, LoRA๋ ์ด๋์ ๊ฐ ๊ฐ๊ฐํ ๋ค์ด๋ณผ ์ ์์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋งํผ, ํ์ฌ๋ ๋ง์ด ์ฌ์ฉ๋๋ PEFT method ์ค ํ๋์ด๋ฉฐ, ์ด LoRA๋ฅผ ๋ฒ ์ด์ค๋ก ํด์ ์์ํ๋ฅผ ์ ์ฉํ QLoRA๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค! ๐ ๊ทธ๋ ๋ค๋ฉด ๋ค์ด๋ณด๊ธด ๋ค์ด๋ดค๋๋ฐ,, ์ ํํ ์ด LoRA๊ฐ ๋ฌด์์ผ๊น? ๐คญ LoRA์ ๋ํด ์ฐจ๊ทผ์ฐจ๊ทผ ์์๊ฐ ๋ณด๋๋ก ํ์!
Low Intrinsic Dimension of LM
LoRA๋ ์ด๋ค ์์ด๋์ด๋ฅผ ๋ฒ ์ด์ค๋ก ํด์ ๊ฐ๋ฐ๋ method์ผ๊น? LoRA๊ฐ ์๊ฐ์ ๋ฐ์ ๋ ผ๋ฌธ์ 2020๋ ์ ๋ฐํ๋ ๋ ผ๋ฌธ์ธ 'Intrinsic Dimensionality Explains the Effectiveness of Training Language Model Fine-tuning' (Aghajanyan et al., 2020) ์ด๋ค. ์ด ๋ ผ๋ฌธ์์๋ ๋ชจ๋ธ์ intrinsic dimension(๋ด์ฌ์ ์ฐจ์)์ ๋ํด์ ์๊ธฐํ๋๋ฐ, ์ด ๋ด์ฌ์ ์ฐจ์์ ์ด ์ฐจ์์ tuning ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ tuningํ๋ ๊ฒ๋งํผ์ ํจ๊ณผ๊ฐ ์๋ ์ฐจ์์ ์๋ฏธํ๋ค. ํ ๋ง๋๋ก ํ๋ ฌ์์ rank ๊ฐ์ ๊ฐ๋ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ด rank๋ฅผ ์ฌ์ฉํด์ ํ๋ ฌ ์ ์ฒด๋ฅผ ๋ง๋ค์ด๋ผ ์ ์๋ ๊ฒ์ฒ๋ผ ์ด rank๋ค์ tuning ํ์ฌ ์ ์ฒด ํ๋ ฌ์ ์ป์ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ง์ด๋ค.
์ด๋ฌํ ์์ด๋์ด์์ ์๊ฐ์ ๋ฐ์ LoRA๋ ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋์ ์, low-rank๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. rank๋ ์์๋ ๋งํ๋ ๊ฒ์ฒ๋ผ ํ๋ ฌ์ ์ด๋ฃจ๋ ๊ธฐ์ ๋ค์ ์๋ฏธํ๋ค.
Adapter vs. LoRA
LoRA์ ๋ํด ์์ธํ๊ฒ ์์๋ณด๊ธฐ ์ ์ LoRA์ Adapter๋ฅผ ํ ๋ฒ ๋น๊ตํด ๋ณด๋๋ก ํ์. LoRA์ ๋ํด ์์๋ณด๊ธฐ๋ ์ ์ LoRA์ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด์ Adapter์ ๋น๊ต๋ฅผ ํ๋ค๋, ๋๋ฌดํ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ์ ๋ง ์ค์ํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋จผ์ ๋ณด์ฌ์ฃผ๊ณ ์์ํด๋ณด๋ ค ํ๋ค! ๐ ์์, ๋ค์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๋ method๋ ๋ชจ๋ down-projection๊ณผ up-projection์ ํ์ฉํ๋ค. ์ด ๋์ ์๋นํ ๊ตฌ์กฐ๊ฐ ๋น์ทํ๋ฐ, ์์ ์ค๋ช ํ Adapter๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด์ ์ดํดํด ๋ณธ๋ค๋ฉด ์ข ๋ ์ฝ๊ฒ LoRA๋ฅผ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ ๊ฒ ์ค๋ช ํ๊ธฐ๋ ์ ์ ๋จผ์ ๊ตฌ์กฐ๊น์ง ๋ณด์ฌ์ฃผ๋ฉด์ ์๊ธฐ๋ฅผ ๊บผ๋ด๋ดค๋ค! ๐

LoRA: Low-Rank Adaptation
LoRA๋ ๋ค๋ฅธ method๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก PLM์ frozen ์์ผ๋๊ณ , adapter ๋ถ๋ถ๋ง์ ํ๋ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค. ์ด๋ adapter๋ ์ค์ง low-rank๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ผ๋ก ์ข ๋ ํจ์จ์ ๋ฐ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ์งํํ๋ค. ์ด๋ LoRA์ tuning ๊ณผ์ ์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ค์ ์์์์ $W_{0}$์ ๊ธฐ์กด์ PLM weight๋ฅผ ์๋ฏธํ๊ณ , $\Delta W$๋ adapter ๋ถ๋ถ์์ ์ ๋ฐ์ดํธ๋ weight๋ฅผ ์๋ฏธํ๋ค. ์ด adapter ๋ถ๋ถ์ A์ B๋ก ๋๋์ด ์๋๋ฐ ๊ฐ๊ฐ์ down-projection๊ณผ up-projection์ด๋ค. ํ ๋ง๋๋ก, LoRA๋ ๊ธฐ์กด์ PLM weight์ adapter ๋ถ๋ถ์ updated weight๋ฅผ ๋ํ๋ ๋ฐฉ์์ธ ๊ฒ์ด๋ค! ๐

์ฌ๊ธฐ์ ์ด์ input $x$๋ฅผ ์ถ๊ฐํ๊ฒ ๋๋ฉด ์ต์ข output $h$๋ฅผ ์ป์ ์ ์๋ ๊ฒ์ด๋ค.


LoRA Experiment Results
LoRA์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๋ฉด, ์๋นํ ์ ์ ์์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ๋ก ์ด๋จ ๋๋ ๊ธฐ์กด์ fine-tuning๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ๋๋ ์์๋ค! ๐ฎ ์ด์ ์ด ์ ๋๋ก๋ ๋ณ๋ก ๋๋์ง๋ ์์ ๋งํผ ์ ์ ์์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ๋ง์ผ๋ก๋ fine-tuning์ ๋ฒ๊ธ๊ฐ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
์ค์ LoRA paper์์๋ ๋ ๋ง์ ์คํ์ ํตํด LoRA๋ฅผ ์ด๋ ๋ถ๋ถ์ ์ ์ฉํด์ผ ์ฑ๋ฅ์ด ๋ ์ข๊ณ , ์ต์ ์ rank ์๊ฐ ์ผ๋ง์ธ์ง์ ๋ํด์ ์์ธํ๊ฒ ๋ถ์ํด ๋ณด๋๋ฐ, ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ๋ก ๊ทธ ๋ถ๋ถ์ ๋ค๋ค๋ณด๋๋ก ํ์ง๋ ์๊ฒ ๋ค. ์ํด ๋ถํ๋๋ฆฝ๋๋ค,, ๐ฅฒ
Overall View of PEFT Methods
์ด๋ ๊ฒ ํด์ ์ฌ๋ฌ PEFT method์ ๋ํด์ ์ ๋ฐ์ ์ผ๋ก ์์๋ณด์๋ค. ๋ฌผ๋ก Adapter, Prefix-Tuning, LoRA ์ธ์๋ ๋ ๋ง์ PEFT method(P-Tuning, (IA)3, etc.)๊ฐ ์กด์ฌํ๋, ๋ค ์์๋ณผ ์ ์๊ธฐ์, ๊ตต์งํ method๋ค์ ๋ํด์๋ง ์์๋ณด์๋ค! ๐ ์ด๋ ๊ฒ ํด์ ์ง๊ธ๊น์ง ์์๋ณธ Adapter, Prefix-Tuning, LoRA๋ฅผ ์ข ํฉ์ ์ผ๋ก ์ดํด๋ณด๋ฉด ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.

So, WHY?? Why PEFT performs well?? ๐ง
์ฌ์ค ๊ฐ์ฅ ์ค์ํ ์ฌ์ค์ ๋ํด์ ๋งํ์ง ์์๋๋ฐ, ๊ทธ๋์ ์! ์? ์ PEFT method๋ค์ด ์ ๋๋ ๊ฒ์ผ๊น? full fine-tuning์ ์ฑ๋ฅ๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์คํ๋ ค ๋ฅ๊ฐํ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ๋๋ฐ, ๋๋์ฒด ์ด๋ป๊ฒ ๊ทธ๋ด ์ ์์๋ ๊ฒ์ผ๊น? ์ด ๋ถ๋ถ์ ๋ํด์๋ ํ์์ ์๊ฐ์ด ํจ์ ๋์ด ์๋ ์ด์ ๋ฅผ ์๊ธฐํด๋ณด๊ณ ์ ํ๋ค.
์ฒซ ๋ฒ์งธ๋ก PEFT๊ฐ ์ฑ๋ฅ์ด ์ข์๋ ์ด์ ๋ 'PLM์ ๊ฑด๋๋ฆฌ์ง ์์๊ธฐ ๋๋ฌธ'์ด๋ผ๊ณ ์๊ฐํ๋ค. PLM์ weight๋ general purpose corpora๋ก๋ถํฐ ํ์ต๋ ๋งค์ฐ ํ๋ฆฌํฐ ์ข์ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ด ๋ฅ๋ ฅ์ fine-tuning์ ๊ฑฐ์น๋ฉด์ ์ด๋ ํน์ ๋๋ฉ์ธ์ ํนํ๋๋๋ก ๋ณํด๊ฐ๋ค. ์ด ๊ณผ์ ์์ PLM์ด ๊ฐ์ง๊ณ ์๋ ํ๋ฆฌํฐ ์ข์ ๋ฅ๋ ฅ์ด ์ํด๋๊ธฐ ๋๋ฌธ์, ์ด PLM์ ์ํฅ์ ์ ๊ฒ ๋ผ์น PEFT method๊ฐ ์ข์ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์์๋ค๊ณ ์๊ฐํ๋ค.
๋ ๋ฒ์งธ๋ก ์ง๊ธ์ fine-tuning์ ๋ถํ์ํ ์ ๋๋ก '์ง๋์น๊ฒ ๋ง์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ'ํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค. LoRA์์ ๋ดค๋ ๊ฒ์ฒ๋ผ ์ค์ ํ๋ผ๋ฏธํฐ์์ ์ค์ํ ํ๋ผ๋ฏธํฐ๋ค๋ง์ ์ ๋ฐ์ดํธํ๋ ๊ฒ๋ง์ผ๋ก๋ full fine-tuning์ ํ์ ํ๋ ์ฑ๋ฅ์ ์ป์ ์ ์๋ค๊ณ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ตณ์ด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ ํ์ ์์ด ์ด๋ ๊ฒ ๋์ฑ ์ค์ํ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธํ๋ ๊ฒ ๋ ๋ซ์ง ์์๊น? ๋ฌผ๋ก ํ์คํ๊ฒ ์ ์๋ ์์ผ๋, ํ์๋ ์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์ fine-tuning์ด ๋ถํ์ํ ์ ๋๋ก ๋ง์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์, ์ ์ง๋ง ์ค์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ PEFT๊ฐ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค๊ณ ์๊ฐํ๋ค.
๋ฌผ๋ก ์ด ์ฃผ์ฅ์๋ ์ค๋ฅ๊ฐ ์์ ์๋ ์๋ค. ๋ง์ฝ ์๋ชป๋ ๋ถ๋ถ์ด๋ ์ค์ ๋ก ํ์ธ๋ ๋ถ๋ถ๋ค์ด ์กด์ฌํ๋ค๋ฉด, ๋๊ธ๋ก ์๋ ค์ค ์ ์๊ธธ ๋ฐ๋๋ค! ๐
How to use PEFT Methods? ๐ซค
์ด๋ ๊ฒ ํด์ ํ์คํ PEFT Method๊ฐ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ผ๋ก fine-tuning์ ์งํํ ์ ์๊ฒ ํด ์ค๋ค๋ ์ฌ์ค์ ์ ์ ์์๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ ๋ ๋ด๊ฐ ์ง๊ธ๊น์ง ํด๋ณด๊ณ ์ถ์์ง๋ง, ์ปดํจํ ์์์ ํ๊ณ์ ๋ถ๋ชํ์ ๊ทธ๋ฌ์ง ๋ชปํ๋ LM์ fine-tuning์ PEFT๋ฅผ ํ์ฉํด์ ์ง์ ํด๋ณผ ์๊ฐ์ด๋ค! ๐ค
๋คํํ๋ ์ง์ ๊ตฌํํด์ ์ฌ์ฉํ ํ์ ์์ด ์ฐ๋ฆฌ์ HuggingFace์ PEFT library์ ๋๋ถ๋ถ์ PEFT method๋ค์ด ๊ตฌํ๋์ด ์๋ค. ๋ฐ๋ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ PEFT๋ฅผ ์งํํ ์ ์๋ค! ์ ํํ ๋ฐฉ๋ฒ์ ๋ค์์ ๋งํฌ์์ ํ์ธํ ์ ์๊ธธ ๋ฐ๋๋ค! ๐
https://huggingface.co/docs/peft/index
PEFT
๐ค Accelerate integrations
huggingface.co
One ray of hope, PEFT! โจ
์ด ๊ธ์ ๋ง์ง๋ง์ ๋ณด๋ ์ฌ๋ฌ๋ถ๊ป ๋ง์ง๋ง์ผ๋ก ์ง๋ฌธ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. PEFT๋ฅผ ๋ณด๋ฉด์ ์ฌ๋ฌ๋ถ์ ์ด๋ค ์๊ฐ์ ํ์ จ์ต๋๊น? ์ฐ์ ํ์์ ์๊ฐ๋ถํฐ ๋จผ์ ๋งํด๋ณด์๋ฉด, ํ์๋ ์ด์ ํฌ์คํ ์์๋ ์ธ๊ธํ๋ ๊ฒ์ฒ๋ผ ์ปดํจํ ์์์ด ์๋นํ ์ ํ๋์ด ์๋ ํ์์ด๋ค.. ๋ฐ๋ผ์ ์๋ก์ด ๋ชจ๋ธ๋ค์ด ๋์จ๋ค๊ณ ํด๋ ์จ๋ณผ ์๋์กฐ์ฐจ ๋ชป ๋ด๊ณ ๋จ๋ค์ด fine-tuning ํด์ ๋ด๋์ ๋ชจ๋ธ๋ค์ ๋ฐ๋ผ๋ณด๊ธฐ๋ง ๊ธ๊ธํ์๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ๋ด์๋ก ์๋ก์ด ๋ชจ๋ธ์ fine-tuningํด์ ์ฌ์ฉํด๋ณด๊ณ ์ถ์ ๋ง์์ ์ ์ ์ปค์ ธ๋ง ๊ฐ๊ณ , ์ด๋ฌํ ๋ง์์ ํด๊ฒฐํด ์คฌ๋ ๊ฒ์ ๋ค๋ฅธ ๋ฌด์๋ ์๋ PEFT์๋ค. PEFT ๋๋ถ์ full fine-tuning์ ๋นํด ์๋นํ ์ ์ ๋น์ฉ์ผ๋ก ๋ชจ๋ธ์ ํ๋์ํฌ ์ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ํ์์ ์ ์ฅ์์๋PEFT๊ฐ ์ ๋ง 'ํ ์ค๊ธฐ ํฌ๋ง'์ด์๋ค๊ณ ์๊ฐํ๋ค. ๐
๋ฌผ๋ก ์ด๋ฌํ ์๊ฐ์ ๊ฐ์์ ์ ์ฅ๋ง๋ค ๋ค๋ฅด๋ค๊ณ ์๊ฐํ๋ค. ์ปดํจํ ์์์ด ์ถฉ๋ถํ ์ ์ฅ์์๋ ๊ตณ์ด PEFT๋ฅผ ํ์ฉํ์ง ์๊ณ , full fine-tuning์ ํด๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง, ํ์์ด๋ ์ฐ๊ตฌ์์ ์ ์ฅ์์ PEFT๋ ์ ๋ง ํฐ ๋์์ด ๋๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์๋ ์ด๋ ํ ๋ถ์ผ๊ฐ ๋ฐ์ ํ๊ธฐ ์ํด์๋ ๊ทธ ๋ถ์ผ์ ๋ํ ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋ชจ๋ ๊ฐ์ถฐ์ค์ผ ํ๋ค๊ณ ์๊ฐํ๋ค. ์ง๊ธ๊น์ง์ NLP๋ LLM์ผ๋ก ์ธํด ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ ๋ชจ๋ ์ ํ์ ๋ฐ์๋ค๊ณ ์๊ฐํ๋๋ฐ, Open-source LM & PEFT ๋ฑ์ ํตํด์ ๋ค์๊ธ ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ฐพ์์๋ค๊ณ ์๊ฐํ๋ค. ๐ ์์ผ๋ก ์ด ๋ถ์ผ์ ๋ฌด๊ถ๋ฌด์งํ ๋ฐ์ ๋ค์ด ์ผ์ด๋ ์ ์๋๋ก ๋น๋ฉฐ ํฌ์คํ ์ ๋ง์ณ๋ด ๋๋ค! ์ฝ์ด์ฃผ์ ๋ชจ๋ ๋ถ๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
'Insight ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
The current trend of LM ๐
2017๋ Vaswani ๊ป์ 'Attention Is All You Need'๋ผ๋ ๋ ผ๋ฌธ์ผ๋ก Transformer๋ฅผ ์ฒ์ ์๊ฐํ์๊ณ , ๊ทธ ํ 2018๋ ์ BERT์ GPT๊ฐ ๋์ค๊ฒ ๋๋ฉด์๋ถํฐ LM(Language Model)์ ๋ํ ์ฐ๊ตฌ๋ ๊ทธ ์์์ ์๋ ธ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋น์์ ์๊ฐ๋์๋ pre-training & fine-tuning์ด๋ผ๋ ๊ฐ๋ ์ ์์ง๊น์ง๋ ๋๋ฆฌ ์ฌ์ฉ๋ ์ ๋๋ก ํฌ๋ํฐ LM์ framework๋ฅผ ์ด๋ฃจ๊ฒ ๋์๋ค. ์ด๋ฒ ํฌ์คํ ์์ ์์๋ณด๊ฒ ๋ PEFT(์์ธํ ๋ป์ ์กฐ๊ธ ๋ค์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค! ๐)๋ ์ด ์ค fine-tuning์ ๊ด๋ จ๋ method์ด๋ค. PEFT์ ๋ํด ์์๋ณด๊ธฐ ์ ์ ์ด pre-training๊ณผ fine-tuning์ด ๊ณผ์ฐ ์ ํํ ๋ฌด์์ธ์ง์ ๋ํด์ ์์๋ณด๋๋ก ํ์!
Pre-training & Fine-tuning
pre-training์ ์ด๋ฆ์์๋ถํฐ ์ ์ ์๋ฏ์ด ๋ง ๊ทธ๋๋ก ์ฌ์ ์ ํ์ต์ํจ๋ค๋ ์๋ฏธ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฌด์์ ์ฌ์ ์ ํ์ต์ํค๋ ๊ฒ์ผ๊น? ๋ฐ๋ก LM์ ์ฌ์ ์ ํ์ต์ํค๋ ๊ฒ์ด๋ค! ๐ ์ด๊ฒ ๋ฌด์จ ๋ง์ผ๊น? LM์ ์ฌ์ ์ ํ์ต์ํจ๋ค๋? LM์ ํ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง๋ ๊ฒ ์๋๋ผ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง๋ ๊ฒ์ธ ๊ฑธ๊น? ์ ํํ๋ค! ํ์ฌ์ LM๋ค์ ํ ๋จ๊ณ๋ก ๋ง๋ค์ด์ง์ง ์๋๋ค. LM์ ๋ณดํต pre-training๊ณผ fine-tuning์ 2๋จ๊ณ๋ก ํ์ต๋๋ค.
- Pre-training: LM์ด ์ ๋ฐ์ ์ธ ์ธ์ด์ ์ดํด ๋ฅ๋ ฅ์ ๊ธฐ๋ฅผ ์ ์๊ฒ ํ๋๋ก ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ ์ LM์ ํ์ต์์ผ ๋๋ ๋จ๊ณ โ โ ๋ฐ์ดํฐ & โ ํ์ต ์๊ฐ ๐
- Fine-tuning: pre-training์ ํตํด ์ฌ์ ์ ํ์ต๋ ๋ชจ๋ธ์ ๊ตฌ์ฒด์ ์ธ ๋๋ฉ์ธ์ ๋ํด์ ๋ ์ ์ ์ํ ์ ์๋๋ก ๊ทธ ๋๋ฉ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ํ๋ฒ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํด ๋๊ฐ๋ฉด์ ํ์ต์ํค๋ ๋จ๊ณ โ โ ๋ฐ์ดํฐ & โ ํ์ต ์๊ฐ ๐ช
๋ค์์ ๊ทธ๋ฆผ์ Pre-training๊ณผ Fine-tuning์ ์ค๋ช ํ๋ ์์ฃผ ์ ๋ช ํ ๊ทธ๋ฆผ์ผ๋ก, BERT์ ๋ ผ๋ฌธ์์ ์ ๋ณด์ฌ์ง ๊ทธ๋ฆผ์ด๋ค. ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ผ์ชฝ์ ๋ชจ๋ธ์ ๋ฒ์ฉ์ ์ผ๋ก ํ์ต๋ pre-trained model์ด๊ณ , ์ด pre-trained model์ ๊ฐ task์ ๋ํด์ fine-tuning ์ํจ ๋ชจ๋ธ์ด ์ค๋ฅธ์ชฝ์ fine-tuned model์ด๋ค. ์ด๋ ๊ฒ pre-training์ ํตํด ์ ๋ฐ์ ์ธ LM์ ์ฑ๋ฅ์ ๋ค์ ธ๋๊ณ , fine-tuning์ ํตํด ๊ตฌ์ฒด์ ์ธ task์ ๋ํด์ ๋ชจ๋ธ์ ํนํ์ํด์ผ๋ก์จ ๋น๊ต์ ์ ์ ๋น์ฉ์ผ๋ก ์ฌ๋ฌ task์ ๋ํด ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๊ฒ ๋ ๊ฒ์ด๋ค! ๐ Pre-training & Fine-tuning์ ๊ทธ ํจ๊ณผ์ ํจ์จ์ฑ์ ์ธ์ ๋ฐ์ ์์ง๊น์ง๋ LM์ ๊ตต์ ๋ผ๋๋ฅผ ์ด๋ฃจ๊ณ ์๋ค.

What's the problem of Fine-tuning? ๐ค
์์ ์ค๋ช ํ๋ ๊ฒ์ฒ๋ผ fine-tuning์ ์ฅ์ ์ pre-training์ ๋นํด์ ํจ์ฌ ๋ ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ tuningํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ ์ computation์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค. ์ค์ ๋ก ๋น๊ตํด ๋ด๋ pre-training์ ๋นํด fine-tuning์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ์์ ํจ์ฌ ๋ ์ ์ ์์ด ์ฌ์ฉ๋๋ค. ์ด๋ก ์ธํด์ fine-tuning์ ๋น์ฉ์ด ์๋นํ ์ค์ด๋ค ์ ์๋ ๊ฒ์ด๋ค. ํ์ง๋ง, ์๋ฒฝํ ์ค๋ง ์์๋ fine-tuning์๋ ์ด๋ ์๊ฐ๋ถํฐ ๊ทธ๋ฆผ์ ๋๋ฆฌ์ฐ๊ธฐ ์์ํ์์ผ๋,, ๐ฅ
fine-tuning์ ๋ฌธ์ ์ ์ ๋ชจ๋ธ์ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด์, pre-training์ ๋นํด์ ํจ์ฌ ๋ ์ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด๋ ๊ฐ๊ฐ์ธ์ด tuning์ ์งํํ๊ธฐ์๋ ์ปดํจํ ์์์ ์ ํ์ด ์๊ธธ ์๋ฐ์ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ค์ ๋ก ๋ช ๋ฐฑ๋ง ๊ฐ์ ๋ฐ์ดํฐ(๋ค์ ์๊ฐํด ๋ณด๋ ์ ์ ์ซ์๋ ์๋๊ธด ํ๋ค ๐คฃ)์์ 13B ๋ชจ๋ธ์ fine-tuning ํ๋ค๊ณ ํด๋ ์ฌ๋ฌ ๋์ GPU๋ฅผ ๊ฐ์ง๊ณ ๋ช์ผ ๋์ ํ์ต์ ์์ผ์ผ ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ๐ฐ ๋ฌผ๋ก ์ปดํจํ ์์์ด ๋ง์ ํ๊ฒฝ์์๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋ ๊ฒ์ด ์์ง๋ง, ํ์์ ๊ฐ์ ๊ฐ์ธ ํ์ต์ ๋๋ ์ฐ๊ตฌ์์ ์ ์ฅ์์ ์ด๋ฌํ ์ปดํจํ ์์์ ์๋นํ ๋ถ๋ด๋ ์๋ฐ์ ์๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์, ๋นจ๋ฆฌ ๊ฐ์ ๋์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.. ๐ญ
ํจ์จ์ฑ์ ์ํด ๋ง๋ค์ด์ง ๋ฐฉ๋ฒ์ธ fine-tuning์ด ํจ์จ์ ์ด์ง ์๋ค๋ฉด, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น? ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก PEFT(Parameter Efficient Fine-tuning)์ด๋ค!! ๐ค PEFT๋ ์ด๋ฆ์์๋ถํฐ ์ ์ ์๋ฏ์ด ์ข ๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ ํตํด ๋์ฑ ํจ์จ์ ์ธ fine-tuning์ ํ ์ ์๊ฒ ๋ง๋๋ method์ด๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์ด PEFT์ ์ด๋ค ๋ฐฉ๋ฒ๋ค์ด ์กด์ฌํ๊ณ , ์ด๋ค ๊ฒฝ์๋ก ์ด๋ฌํ method๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ์ธ์ง์ ๋ํด ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ๋ค. ์, ๊ทธ๋ผ ์์ํด ๋ณด๋๋ก ํ์!! ๐ซ

Parameter Efficient Fine-Tuning ๐ค
๋๋์ด ๋๋ง์ PEFT์ ๋ํด์ ์์๋ณผ ์๊ฐ์ด๋ค. PEFT, ๊ณผ์ฐ ๋ฌด์์ผ๊น? PEFT๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ด๋ผ๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์ ๋งํ๋ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ๋ฌด์จ ์๋ฏธ์ผ๊น? ์, fine-tuning์ ๊ฐ๋ ์ ๋ํด์ ๋ค์ ํ ๋ฒ ์๊ฐํด ๋ณด์. fine-tuning์ ๊ธฐ์กด์ pre-trained base model์ ๋ํด domain-specific ํ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ 'ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ 'ํจ์ผ๋ก์จ ๋ค์ ํ์ต์ํค๋ ๊ณผ์ ์ ๋งํ๋ค. ์์ ๋ฌธ์ฅ์์ ์ฐ๋ฆฌ๊ฐ ์ฃผ๋ชฉํด์ผ ํ ๋ถ๋ถ์ 'ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ ' ํ๋ค๋ ๋ถ๋ถ์ด๋ค. ์ด๋, fine-tuning์ ๋ชจ๋ธ์ '๋ชจ๋ ' ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์กฐ์ ํจ์ผ๋ก์จ ์ข ๋ ๋๋ฉ์ธ์ ์๋ง์ ๋ชจ๋ธ์ ์ป์ ์ ์๊ฒ ๋๋ค. PEFT๋ fine-tuning์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ถ๋ถ์ ํ๊ณ ๋ค์ด์ ๊ตณ์ด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์๊ณ ๋ fine-tuning๊ณผ ๋น์ทํ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋๋ก ํ ๋ฐฉ๋ฒ์ด๋ค. ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ง ์๊ณ ๊ทน์์์ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธ ํจ์ผ๋ก์จ ์ข ๋ ํจ์จ์ ์ผ๋ก fine-tuning์ ํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค! ๐

์ด์ ์์ฐ์ค๋ฝ๊ฒ ์๋ฌธ์ด ๋ค ์๋ฐ์ ์๋ค. '์ด๋ ๊ฒ ์กฐ๊ธ์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ ๋ง์ผ๋ก๋ ๊ธฐ์กด์ full parameter update๋ฅผ ํ๋ fine-tuning๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์๊ฐ ์๋ค๊ณ ? ๐ค' ๋น์ฐํ๊ฒ๋ ๋ค ์๋ฐ์ ์๋ ์๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ์๋ ์ฒ์ ๋ณด๊ณ ์ ๋ง ๋ง๋ ์ ๋๋ ๋ ผ๋ฆฌ๋ผ๊ณ ์๊ฐํ์๊ธฐ ๋๋ฌธ์ด๋ค. ๐ ๊ณผ์ฐ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๊ฐ๋ฅํ๋ ๊ฑด์ง ์ฌ๋ฌ PEFT method๋ฅผ ์์๋ณด๋ฉด์ ์๊ธฐํด ๋ณด๋๋ก ํ๊ฒ ๋ค! ๐
Adapter: Parameter-Efficient Transfer Learning for NLP (Houlsby et al., 2019)
๊ฑฐ์ ์ฒ์์ผ๋ก Parameter Efficient ํ์ต ๋ฐฉ์์ ์ ์ํ Adapter๋ 2019๋ ๋ 'Parameter-Efficient Transfer Learning for NLP' ๋ ผ๋ฌธ์ ํตํด์ ๊ณต๊ฐ๋์๋ค. Adapter๊ฐ ๋ง๋ค์ด์ง ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ด๋๋ถํฐ PEFT์ ๊ทผ๋ณธ์ ์ธ ์ด๋ ์ด ๋ง๋ค์ด์ก๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๐
- ์ํ์ Adapter ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ฌ๋ฌ task ๋ณํ์ด ์ฉ์ดํ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ์ ํจ. ๐ค
- ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ์ฌ fine-tuning๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ์ป๊ณ ์ ํจ. ๐ป๐
์์ ๋ชฉํ๋ค์ ๋ฌ์ฑํ๊ธฐ ์ํด Adapter paper์์๋ pre-trained weight๋ frozen(๋๊ฒฐ์์ผ๋๊ณ ์ ๋ฐ์ดํธ๋ฅผ ํ์ง ์๋ ์ํ) ์์ผ๋๊ณ , ์ค์ง Adapter layer๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋ค. ์ด ๋ฐฉ์์ ํตํด ์ ๋ ๋ชฉํ๋ฅผ ํจ๊ป ๋ฌ์ฑํ ์ ์์๋๋ฐ, ์ฐ์ ๊ธฐ์กด์ pre-trained weight๊ฐ ์ ๋ฐ์ดํธ๋์ง ์์๊ธฐ ๋๋ฌธ์, Adapter๋ง ๊ฐ์ ๋ผ์ฐ๊ฒ ๋๋ค๋ฉด ์ด๋ task๋ ์ฉ์ดํ๊ฒ ์ฌ์ฉ๋ ์ ์๊ณ , pre-trained weight๊ฐ frozen ๋์ด ์๊ณ , Adapter๋ง์ ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ๋๋ค! ๐ ๊ทธ๋ ๋ค๋ฉด ์ด์ ์ ํํ Adapter๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด๋๋ก ํ์!
Adapter๋ ๋ฐ๋ก ๊ฑฐ์ฐฝํ ๋ฌด์ธ๊ฐ๊ฐ ์๋ ๊ฒ์ ์๋๊ณ , ๊ทธ ์ค์์ Transformer layer ์ค๊ฐ์ ์ถ๊ฐ๋๋ ํ๋์ ์์ ๋ ์ด์ด์ผ ๋ฟ์ด๋ค. ๐ ๊ทธ๋ ๋ค๋ฉด ์ด ํ๋์ ๋ ์ด์ด๊ฐ ์ด๋ป๊ฒ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ธ fine-tuning์ ํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ผ๊น? ๋ค์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด Adapter layer๋ ์ด 3๊ฐ์ ๋ ์ด์ด๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ, 'Feed-forward down-projection', 'Non-linear layer', 'Feed-forward up-projection'์ด๋ค. ์ด๋ down-projection์ ํตํด ๊ธฐ์กด์ d ์ฐจ์์ smaller m ์ฐจ์์ผ๋ก ๋ณํํ๊ณ , ๋น์ ํ ๋ ์ด์ด๋ฅผ ๊ฑฐ์น ๋ค์์, ๋ค์ up-projection์ ํตํด smaller m ์ฐจ์์์ ๊ธฐ์กด์ d ์ฐจ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ ๊ณผ์ ์ ํตํด ๋์ฑ ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์๋ ๊ฒ์ด๋ค! ๐

Adapter๋ ๊ธฐ์กด ๋ชจ๋ธ์ 2~3%์ ๋ถ๊ณผํ๋ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธ ํ์์๋ ๋ถ๊ตฌํ๊ณ , GLUE ๋ฒค์น๋งํฌ์์ ๊ธฐ์กด BERT_LARGE์ 0.4% ๋ฐ์ ๋ค์ง์ง ์๋ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค! ๐ฎ ์ ๋ง์ด์ง ์์ฒญ๋ ๊ฒฐ๊ณผ๊ฐ ์๋ ์๊ฐ ์๋ค! ์ด๋ฌํ ๊ฒฐ๊ณผ๋ ์ง๊ธ๊น์ง์ fine-tuning์ ๋ํ ์ ๋ฐ์ ์ธ ์๊ฐ์ ๋ค์ง์ด์๋ ๊ฒฐ๊ณผ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก Adapter๋ ํ์คํ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ผ๋ก fine-tuning์ ์ฑ๋ฅ์ ๋ฒ๊ธ๊ฐ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์๋ค.

Prefix-Tuning: Optimizing Continuous Prompts for Generation (Li & Liang, 2021)
Adapter์ ๋ค๋ฅผ ์ด์ ๋ ผ๋ฌธ์ Prefix-Tuning์ด๋ค(์ค์ ๋ก ๋ฐ๋ก ํ์์ผ๋ก ๋์จ ๋ ผ๋ฌธ์ธ์ง๋ ์ ๋ชจ๋ฅด๋, ํ์๋ Adapter ์ดํ์ Prefix-Tuning์ ์ฝ๊ธด ํ์ต๋๋ค! ๐ ). Prefix-Tuning์ 2021๋ ๋ 'Prefix-Tuning: Optimizing Continuous Prompts for Generation' ๋ ผ๋ฌธ์์ ์๊ฐ๋์๋ค. Prefix-Tuning๋ Adapter์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์กด์ fine-tuning์ ๋๋ฌด ๋ง์ ํ๋ผ๋ฏธํฐ ํ๋์ ํ์๋ก ํ๊ณ , ํ๋์ task ๋น ํ๋์ full fine-tuned model์ ์ ์ฅํด์ผ ํ๋ค๋ ์ฌ์ค์ ์ง์ ํ๋ฉด์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด prefix๋ง์ ํ๋ํ๋ Prefix-Tuning์ ์ ์ํ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ ๋งํ๋ prefix๋ ๋ฌด์์ผ๊น? ์ฐ์ GPT-2์ GPT-3์ ๋ํด ๋จผ์ ์๊ฐํด๋ณด์. ์ด ๋ ๋ชจ๋ธ์ few-shot์ ํ์ฉํ์๋ค. few-shot์ ํ๊ธฐ ์ํด์๋ ๋ช ๊ฐ์ง example์ ์ฃผ์ด์ผ ํ๋๋ฐ, ์ด๋ ๋ช ๊ฐ์ง example๊ณผ ํจ๊ป ์ฃผ์ด์ง๋ ์ฝ๊ฐ์ instruction ๊ฐ์ ๊ฒ์ prefix๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. (ex. 'input์ ์ด์ฉํ์ฌ input์ ๋ํด ์ค๋ช ํ์์ค.') ์ด๋ ๊ฒ ์ฃผ์ด์ง๋ prefix๋ง์ ํ๋ํ๊ณ , pre-trained model์ frozen ์์ผ๋ ์ฑ, ์ข ๋ input์ ์ ํ์ฉํ์ฌ ๋ ๋์ output์ ์ ๊ณตํ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก Prefix-Tuning์ธ ๊ฒ์ด๋ค! ๐

์ด๋ ๊ฒ ์ป์ด์ง Prefix-Tuning์ ์ฑ๋ฅ์ ์ด๋ ์๊น? ๋ฌด๋ ค ๊ธฐ์กด ๋ชจ๋ธ์ 0.1%์ ํด๋นํ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๊ณ ๋ ์คํ๋ ค ๊ธฐ์กด์ ๋ชจ๋ธ์ ์๋ํ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ์๋ค! ๐ฎ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด์ ๋ ผ๋ฌธ์์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๋ค.
PLM์ weight๋ frozen ๋์ด untouched ๋์๊ธฐ ๋๋ฌธ์, general purpose corpora์์
์ป์ด์ง ๋ฅ๋ ฅ์ ์จ์ ํ ์ฌ์ฉํ ์ ์์ด์ ์ฑ๋ฅ์ด ๊ฐ์ ๋

LoRA: Low-Rank Adaptation of Large Language Models (Hu et al., 2021)
ํน์ ์ง์ LM์ fine-tuning ํด๋ณด๊ฑฐ๋ LM ๊ด๋ จ ํ๋ก์ ํธ๋ฅผ ์งํํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด, LoRA๋ ์ด๋์ ๊ฐ ๊ฐ๊ฐํ ๋ค์ด๋ณผ ์ ์์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋งํผ, ํ์ฌ๋ ๋ง์ด ์ฌ์ฉ๋๋ PEFT method ์ค ํ๋์ด๋ฉฐ, ์ด LoRA๋ฅผ ๋ฒ ์ด์ค๋ก ํด์ ์์ํ๋ฅผ ์ ์ฉํ QLoRA๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค! ๐ ๊ทธ๋ ๋ค๋ฉด ๋ค์ด๋ณด๊ธด ๋ค์ด๋ดค๋๋ฐ,, ์ ํํ ์ด LoRA๊ฐ ๋ฌด์์ผ๊น? ๐คญ LoRA์ ๋ํด ์ฐจ๊ทผ์ฐจ๊ทผ ์์๊ฐ ๋ณด๋๋ก ํ์!
Low Intrinsic Dimension of LM
LoRA๋ ์ด๋ค ์์ด๋์ด๋ฅผ ๋ฒ ์ด์ค๋ก ํด์ ๊ฐ๋ฐ๋ method์ผ๊น? LoRA๊ฐ ์๊ฐ์ ๋ฐ์ ๋ ผ๋ฌธ์ 2020๋ ์ ๋ฐํ๋ ๋ ผ๋ฌธ์ธ 'Intrinsic Dimensionality Explains the Effectiveness of Training Language Model Fine-tuning' (Aghajanyan et al., 2020) ์ด๋ค. ์ด ๋ ผ๋ฌธ์์๋ ๋ชจ๋ธ์ intrinsic dimension(๋ด์ฌ์ ์ฐจ์)์ ๋ํด์ ์๊ธฐํ๋๋ฐ, ์ด ๋ด์ฌ์ ์ฐจ์์ ์ด ์ฐจ์์ tuning ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ tuningํ๋ ๊ฒ๋งํผ์ ํจ๊ณผ๊ฐ ์๋ ์ฐจ์์ ์๋ฏธํ๋ค. ํ ๋ง๋๋ก ํ๋ ฌ์์ rank ๊ฐ์ ๊ฐ๋ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ด rank๋ฅผ ์ฌ์ฉํด์ ํ๋ ฌ ์ ์ฒด๋ฅผ ๋ง๋ค์ด๋ผ ์ ์๋ ๊ฒ์ฒ๋ผ ์ด rank๋ค์ tuning ํ์ฌ ์ ์ฒด ํ๋ ฌ์ ์ป์ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ด ๋ง์ด๋ค.
์ด๋ฌํ ์์ด๋์ด์์ ์๊ฐ์ ๋ฐ์ LoRA๋ ์ ์ฒด ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋์ ์, low-rank๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. rank๋ ์์๋ ๋งํ๋ ๊ฒ์ฒ๋ผ ํ๋ ฌ์ ์ด๋ฃจ๋ ๊ธฐ์ ๋ค์ ์๋ฏธํ๋ค.
Adapter vs. LoRA
LoRA์ ๋ํด ์์ธํ๊ฒ ์์๋ณด๊ธฐ ์ ์ LoRA์ Adapter๋ฅผ ํ ๋ฒ ๋น๊ตํด ๋ณด๋๋ก ํ์. LoRA์ ๋ํด ์์๋ณด๊ธฐ๋ ์ ์ LoRA์ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด์ Adapter์ ๋น๊ต๋ฅผ ํ๋ค๋, ๋๋ฌดํ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ์ ๋ง ์ค์ํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋จผ์ ๋ณด์ฌ์ฃผ๊ณ ์์ํด๋ณด๋ ค ํ๋ค! ๐ ์์, ๋ค์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๋ method๋ ๋ชจ๋ down-projection๊ณผ up-projection์ ํ์ฉํ๋ค. ์ด ๋์ ์๋นํ ๊ตฌ์กฐ๊ฐ ๋น์ทํ๋ฐ, ์์ ์ค๋ช ํ Adapter๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด์ ์ดํดํด ๋ณธ๋ค๋ฉด ์ข ๋ ์ฝ๊ฒ LoRA๋ฅผ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ ๊ฒ ์ค๋ช ํ๊ธฐ๋ ์ ์ ๋จผ์ ๊ตฌ์กฐ๊น์ง ๋ณด์ฌ์ฃผ๋ฉด์ ์๊ธฐ๋ฅผ ๊บผ๋ด๋ดค๋ค! ๐

LoRA: Low-Rank Adaptation
LoRA๋ ๋ค๋ฅธ method๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก PLM์ frozen ์์ผ๋๊ณ , adapter ๋ถ๋ถ๋ง์ ํ๋ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค. ์ด๋ adapter๋ ์ค์ง low-rank๋ง์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ผ๋ก ์ข ๋ ํจ์จ์ ๋ฐ ํจ๊ณผ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ์งํํ๋ค. ์ด๋ LoRA์ tuning ๊ณผ์ ์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๋ค์ ์์์์ $W_{0}$์ ๊ธฐ์กด์ PLM weight๋ฅผ ์๋ฏธํ๊ณ , $\Delta W$๋ adapter ๋ถ๋ถ์์ ์ ๋ฐ์ดํธ๋ weight๋ฅผ ์๋ฏธํ๋ค. ์ด adapter ๋ถ๋ถ์ A์ B๋ก ๋๋์ด ์๋๋ฐ ๊ฐ๊ฐ์ down-projection๊ณผ up-projection์ด๋ค. ํ ๋ง๋๋ก, LoRA๋ ๊ธฐ์กด์ PLM weight์ adapter ๋ถ๋ถ์ updated weight๋ฅผ ๋ํ๋ ๋ฐฉ์์ธ ๊ฒ์ด๋ค! ๐

์ฌ๊ธฐ์ ์ด์ input $x$๋ฅผ ์ถ๊ฐํ๊ฒ ๋๋ฉด ์ต์ข output $h$๋ฅผ ์ป์ ์ ์๋ ๊ฒ์ด๋ค.


LoRA Experiment Results
LoRA์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๋ฉด, ์๋นํ ์ ์ ์์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ๋ก ์ด๋จ ๋๋ ๊ธฐ์กด์ fine-tuning๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ๋๋ ์์๋ค! ๐ฎ ์ด์ ์ด ์ ๋๋ก๋ ๋ณ๋ก ๋๋์ง๋ ์์ ๋งํผ ์ ์ ์์ ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ๋ง์ผ๋ก๋ fine-tuning์ ๋ฒ๊ธ๊ฐ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
์ค์ LoRA paper์์๋ ๋ ๋ง์ ์คํ์ ํตํด LoRA๋ฅผ ์ด๋ ๋ถ๋ถ์ ์ ์ฉํด์ผ ์ฑ๋ฅ์ด ๋ ์ข๊ณ , ์ต์ ์ rank ์๊ฐ ์ผ๋ง์ธ์ง์ ๋ํด์ ์์ธํ๊ฒ ๋ถ์ํด ๋ณด๋๋ฐ, ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ๋ก ๊ทธ ๋ถ๋ถ์ ๋ค๋ค๋ณด๋๋ก ํ์ง๋ ์๊ฒ ๋ค. ์ํด ๋ถํ๋๋ฆฝ๋๋ค,, ๐ฅฒ
Overall View of PEFT Methods
์ด๋ ๊ฒ ํด์ ์ฌ๋ฌ PEFT method์ ๋ํด์ ์ ๋ฐ์ ์ผ๋ก ์์๋ณด์๋ค. ๋ฌผ๋ก Adapter, Prefix-Tuning, LoRA ์ธ์๋ ๋ ๋ง์ PEFT method(P-Tuning, (IA)3, etc.)๊ฐ ์กด์ฌํ๋, ๋ค ์์๋ณผ ์ ์๊ธฐ์, ๊ตต์งํ method๋ค์ ๋ํด์๋ง ์์๋ณด์๋ค! ๐ ์ด๋ ๊ฒ ํด์ ์ง๊ธ๊น์ง ์์๋ณธ Adapter, Prefix-Tuning, LoRA๋ฅผ ์ข ํฉ์ ์ผ๋ก ์ดํด๋ณด๋ฉด ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.

So, WHY?? Why PEFT performs well?? ๐ง
์ฌ์ค ๊ฐ์ฅ ์ค์ํ ์ฌ์ค์ ๋ํด์ ๋งํ์ง ์์๋๋ฐ, ๊ทธ๋์ ์! ์? ์ PEFT method๋ค์ด ์ ๋๋ ๊ฒ์ผ๊น? full fine-tuning์ ์ฑ๋ฅ๊ณผ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์คํ๋ ค ๋ฅ๊ฐํ๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ๋๋ฐ, ๋๋์ฒด ์ด๋ป๊ฒ ๊ทธ๋ด ์ ์์๋ ๊ฒ์ผ๊น? ์ด ๋ถ๋ถ์ ๋ํด์๋ ํ์์ ์๊ฐ์ด ํจ์ ๋์ด ์๋ ์ด์ ๋ฅผ ์๊ธฐํด๋ณด๊ณ ์ ํ๋ค.
์ฒซ ๋ฒ์งธ๋ก PEFT๊ฐ ์ฑ๋ฅ์ด ์ข์๋ ์ด์ ๋ 'PLM์ ๊ฑด๋๋ฆฌ์ง ์์๊ธฐ ๋๋ฌธ'์ด๋ผ๊ณ ์๊ฐํ๋ค. PLM์ weight๋ general purpose corpora๋ก๋ถํฐ ํ์ต๋ ๋งค์ฐ ํ๋ฆฌํฐ ์ข์ ๋ฅ๋ ฅ์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ด ๋ฅ๋ ฅ์ fine-tuning์ ๊ฑฐ์น๋ฉด์ ์ด๋ ํน์ ๋๋ฉ์ธ์ ํนํ๋๋๋ก ๋ณํด๊ฐ๋ค. ์ด ๊ณผ์ ์์ PLM์ด ๊ฐ์ง๊ณ ์๋ ํ๋ฆฌํฐ ์ข์ ๋ฅ๋ ฅ์ด ์ํด๋๊ธฐ ๋๋ฌธ์, ์ด PLM์ ์ํฅ์ ์ ๊ฒ ๋ผ์น PEFT method๊ฐ ์ข์ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์์๋ค๊ณ ์๊ฐํ๋ค.
๋ ๋ฒ์งธ๋ก ์ง๊ธ์ fine-tuning์ ๋ถํ์ํ ์ ๋๋ก '์ง๋์น๊ฒ ๋ง์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ'ํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค. LoRA์์ ๋ดค๋ ๊ฒ์ฒ๋ผ ์ค์ ํ๋ผ๋ฏธํฐ์์ ์ค์ํ ํ๋ผ๋ฏธํฐ๋ค๋ง์ ์ ๋ฐ์ดํธํ๋ ๊ฒ๋ง์ผ๋ก๋ full fine-tuning์ ํ์ ํ๋ ์ฑ๋ฅ์ ์ป์ ์ ์๋ค๊ณ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ตณ์ด ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ ํ์ ์์ด ์ด๋ ๊ฒ ๋์ฑ ์ค์ํ ํ๋ผ๋ฏธํฐ๋ง์ ์ ๋ฐ์ดํธํ๋ ๊ฒ ๋ ๋ซ์ง ์์๊น? ๋ฌผ๋ก ํ์คํ๊ฒ ์ ์๋ ์์ผ๋, ํ์๋ ์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์ fine-tuning์ด ๋ถํ์ํ ์ ๋๋ก ๋ง์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์, ์ ์ง๋ง ์ค์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ PEFT๊ฐ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค๊ณ ์๊ฐํ๋ค.
๋ฌผ๋ก ์ด ์ฃผ์ฅ์๋ ์ค๋ฅ๊ฐ ์์ ์๋ ์๋ค. ๋ง์ฝ ์๋ชป๋ ๋ถ๋ถ์ด๋ ์ค์ ๋ก ํ์ธ๋ ๋ถ๋ถ๋ค์ด ์กด์ฌํ๋ค๋ฉด, ๋๊ธ๋ก ์๋ ค์ค ์ ์๊ธธ ๋ฐ๋๋ค! ๐
How to use PEFT Methods? ๐ซค
์ด๋ ๊ฒ ํด์ ํ์คํ PEFT Method๊ฐ ํ๋ผ๋ฏธํฐ ํจ์จ์ ์ผ๋ก fine-tuning์ ์งํํ ์ ์๊ฒ ํด ์ค๋ค๋ ์ฌ์ค์ ์ ์ ์์๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ ๋ ๋ด๊ฐ ์ง๊ธ๊น์ง ํด๋ณด๊ณ ์ถ์์ง๋ง, ์ปดํจํ ์์์ ํ๊ณ์ ๋ถ๋ชํ์ ๊ทธ๋ฌ์ง ๋ชปํ๋ LM์ fine-tuning์ PEFT๋ฅผ ํ์ฉํด์ ์ง์ ํด๋ณผ ์๊ฐ์ด๋ค! ๐ค
๋คํํ๋ ์ง์ ๊ตฌํํด์ ์ฌ์ฉํ ํ์ ์์ด ์ฐ๋ฆฌ์ HuggingFace์ PEFT library์ ๋๋ถ๋ถ์ PEFT method๋ค์ด ๊ตฌํ๋์ด ์๋ค. ๋ฐ๋ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ PEFT๋ฅผ ์งํํ ์ ์๋ค! ์ ํํ ๋ฐฉ๋ฒ์ ๋ค์์ ๋งํฌ์์ ํ์ธํ ์ ์๊ธธ ๋ฐ๋๋ค! ๐
https://huggingface.co/docs/peft/index
PEFT
๐ค Accelerate integrations
huggingface.co
One ray of hope, PEFT! โจ
์ด ๊ธ์ ๋ง์ง๋ง์ ๋ณด๋ ์ฌ๋ฌ๋ถ๊ป ๋ง์ง๋ง์ผ๋ก ์ง๋ฌธ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. PEFT๋ฅผ ๋ณด๋ฉด์ ์ฌ๋ฌ๋ถ์ ์ด๋ค ์๊ฐ์ ํ์ จ์ต๋๊น? ์ฐ์ ํ์์ ์๊ฐ๋ถํฐ ๋จผ์ ๋งํด๋ณด์๋ฉด, ํ์๋ ์ด์ ํฌ์คํ ์์๋ ์ธ๊ธํ๋ ๊ฒ์ฒ๋ผ ์ปดํจํ ์์์ด ์๋นํ ์ ํ๋์ด ์๋ ํ์์ด๋ค.. ๋ฐ๋ผ์ ์๋ก์ด ๋ชจ๋ธ๋ค์ด ๋์จ๋ค๊ณ ํด๋ ์จ๋ณผ ์๋์กฐ์ฐจ ๋ชป ๋ด๊ณ ๋จ๋ค์ด fine-tuning ํด์ ๋ด๋์ ๋ชจ๋ธ๋ค์ ๋ฐ๋ผ๋ณด๊ธฐ๋ง ๊ธ๊ธํ์๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ๋ด์๋ก ์๋ก์ด ๋ชจ๋ธ์ fine-tuningํด์ ์ฌ์ฉํด๋ณด๊ณ ์ถ์ ๋ง์์ ์ ์ ์ปค์ ธ๋ง ๊ฐ๊ณ , ์ด๋ฌํ ๋ง์์ ํด๊ฒฐํด ์คฌ๋ ๊ฒ์ ๋ค๋ฅธ ๋ฌด์๋ ์๋ PEFT์๋ค. PEFT ๋๋ถ์ full fine-tuning์ ๋นํด ์๋นํ ์ ์ ๋น์ฉ์ผ๋ก ๋ชจ๋ธ์ ํ๋์ํฌ ์ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ํ์์ ์ ์ฅ์์๋PEFT๊ฐ ์ ๋ง 'ํ ์ค๊ธฐ ํฌ๋ง'์ด์๋ค๊ณ ์๊ฐํ๋ค. ๐
๋ฌผ๋ก ์ด๋ฌํ ์๊ฐ์ ๊ฐ์์ ์ ์ฅ๋ง๋ค ๋ค๋ฅด๋ค๊ณ ์๊ฐํ๋ค. ์ปดํจํ ์์์ด ์ถฉ๋ถํ ์ ์ฅ์์๋ ๊ตณ์ด PEFT๋ฅผ ํ์ฉํ์ง ์๊ณ , full fine-tuning์ ํด๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง, ํ์์ด๋ ์ฐ๊ตฌ์์ ์ ์ฅ์์ PEFT๋ ์ ๋ง ํฐ ๋์์ด ๋๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์๋ ์ด๋ ํ ๋ถ์ผ๊ฐ ๋ฐ์ ํ๊ธฐ ์ํด์๋ ๊ทธ ๋ถ์ผ์ ๋ํ ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋ชจ๋ ๊ฐ์ถฐ์ค์ผ ํ๋ค๊ณ ์๊ฐํ๋ค. ์ง๊ธ๊น์ง์ NLP๋ LLM์ผ๋ก ์ธํด ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ ๋ชจ๋ ์ ํ์ ๋ฐ์๋ค๊ณ ์๊ฐํ๋๋ฐ, Open-source LM & PEFT ๋ฑ์ ํตํด์ ๋ค์๊ธ ์ ๊ทผ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ฐพ์์๋ค๊ณ ์๊ฐํ๋ค. ๐ ์์ผ๋ก ์ด ๋ถ์ผ์ ๋ฌด๊ถ๋ฌด์งํ ๋ฐ์ ๋ค์ด ์ผ์ด๋ ์ ์๋๋ก ๋น๋ฉฐ ํฌ์คํ ์ ๋ง์ณ๋ด ๋๋ค! ์ฝ์ด์ฃผ์ ๋ชจ๋ ๋ถ๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!