๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ› Research/NLP

[NLP] BERT ๊ฐ„๋‹จ ์„ค๋ช… | Bi-Directional LM | ์–‘๋ฐฉํ–ฅ ์–ธ์–ด ๋ชจ๋ธ

by ๋ญ…์ฆค 2023. 9. 25.
๋ฐ˜์‘ํ˜•
BERT(Bidirectional Encoder Representations from Transformers)

BERT๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ (NLP) ๋ถ„์•ผ์—์„œ ํ˜์‹ ์ ์ธ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋กœ, ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•ด 2018๋…„์— ๊ณต๊ฐœ๋˜์—ˆ๋‹ค. BERT๋Š” ์ด์ „์˜ NLP ๋ชจ๋ธ๋ณด๋‹ค ๋” ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž‘์—…์—์„œ ์ƒ์œ„ ์„ฑ๊ณผ๋ฅผ ์ด๋ฃจ์–ด ๋ƒˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ํŠนํžˆ ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ์–ธ์–ด ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ NLP ์ž‘์—…์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ชฉ์  ๋ชจ๋ธ๋กœ ์ฃผ๋ชฉ๋ฐ›์•˜๋‹ค.
 
๋…ผ๋ฌธ ์ œ๋ชฉ์€ ์•„๋ž˜์™€ ๊ฐ™์œผ๋ฉฐ ํ”ผ์ธ์šฉ์ˆ˜๋Š” ์•ฝ 8๋งŒํšŒ(23๋…„ 9์›” ๊ธฐ์ค€)๋กœ ์ด์ œ๋Š” LM ๋ถ„์•ผ์—์„œ ์ •๋ง ๊ธฐ๋ณธ์ด ๋˜๋Š” ์—ฐ๊ตฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Transformer Encoder & Decoder

  • ๊ธฐ๋ณธ์ ์ธ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋”๋Š” ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋””์ฝ”๋”๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•œ๋‹ค.(์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœ)
  • ๋ฌธ์žฅ์ด ๋‹จ์–ด ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ ธ ํ•œ๋ฒˆ์— ์ธ์ฝ”๋”์˜ ์ธํ’‹์œผ๋กœ ๋“ค์•„๊ฐ€์„œ self-attention์„ ์ทจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์–ด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•œ๋ฒˆ์— ์ถ”์ถœํ•˜๋ฏ€๋กœ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ
  • ๋””์ฝ”๋”์—์„œ๋Š” ์ธ์ฝ”๋”์˜ ํ† ํฐ๋ณ„ ์•„์›ƒํ’‹์ด ํ•˜๋‚˜์”ฉ ๋””์ฝ”๋”์˜ ์ธํ’‹์œผ๋กœ ๋“ค์•„๊ฐ€์„œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์กฐ

 

Traditional LM vs Bidirectional LM

  • ์ธ์ฝ”๋”-๋””์ฝ”๋”์˜ ํŠน์ง•์— ๋งž๊ฒŒ ๋‹จ๋ฐฉํ–ฅ(Traditional) LM์€ ์—ฌ๋Ÿฌ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋ฉด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Œ
  • Bidirectional(์–‘๋ฐฉํ–ฅ) LM์€ ์—ฌ๋Ÿฌ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ๊ทธ ์ค‘์— ๊ฐ€๋ ค์ง„ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šต ๊ฐ€๋Šฅ
  • ์ฆ‰, ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ชจ๋ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ ค์ง„ ๋‹จ์–ด ์•ž๋’ค์˜ ๋ฌธ๋งฅ์„ ๋ณด๊ณ  ๊ฐ€๋ ค์ง„ ๋‹จ์–ด๋ฅผ ์ž˜ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์žฅ์ 

 

BERT ์˜ Input ๊ตฌ์กฐ

BERT ์˜ ์ž…๋ ฅ ๊ตฌ์กฐ๋Š” ํ† ํฐ ์ž„๋ฒ ๋”ฉ, ์„ธ๊ทธ๋จผํŠธ ์ž„๋ฒ ๋”ฉ, ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ ์„ธ ๊ฐ€์ง€์˜ ํ•ฉ๊ณผ ์ŠคํŽ˜์…œ ํ† ํฐ์ธ [CLS], [SEP] ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • ํ† ํฐ ์ž„๋ฒ ๋”ฉ : ๋ฌธ์žฅ์„ ๋‹จ์–ด์˜ ์˜๋ฏธ ๋‹จ์œ„๋กœ ๋Š์–ด์„œ ์ž„๋ฒ ๋”ฉํ•œ ๊ฒฐ๊ณผ
  • ์„ธ๊ทธ๋จผํŠธ ์ž„๋ฒ ๋”ฉ : ๋ฌธ์žฅ ๋ณ„ ์ธ๋ฑ์Šค. BERT ๋Š” 2๊ฐœ์˜ ๋ฌธ์žฅ๋„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•จ
  • ํฌ์ง€์…˜ ์ž„๋ฒ ๋”ฉ : ํ† ํฐ๋ณ„(๋‹จ์–ด๋ณ„) ์ƒ๋Œ€์  ์œ„์น˜. 0~1 ์‚ฌ์ด ๊ฐ’์œผ๋กœ ๋ฌธ์žฅ ํ•˜๋‚˜๊ฐ€ ๊ธธ๋”๋ผ๋„ ๋ชจ๋‘ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ
  • [CLS] : ๋ถ„๋ฅ˜ ํ…Œ์Šคํฌ๋ฅผ ์œ„ํ•œ ํ† ๊ทผ์œผ๋กœ ๋ฌธ์žฅ ์ „์ฒด๊ฐ€ ์ž„๋ฒ ๋”ฉ๋œ ์ŠคํŽ˜์…œ ํ† ํฐ
  • [SEP] : ๋‘ ๋ฌธ์žฅ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š” ๊ฒฝ์šฐ ์ด ํ† ํฐ์„ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๋ฌธ์žฅ์„ ๊ตฌ๋ถ„

 
BERT ๋Š” WordPiece embedding ์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์žฅ์„ ํ† ํฐ ๋‹จ์œ„๋กœ ๋Š๋Š”๋ฐ, ์ด๋Š” ๋‹จ์ˆœํžˆ ๋„์›Œ์“ฐ๊ธฐ ๋‹จ์œ„๋กœ ๋Š๋Š” ๊ฒƒ๋ณด๋‹ค ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.  ์ ‘๋‘์‚ฌ, ์ ‘๋ฏธ์‚ฌ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ๋ถ™์—ˆ์„๋•Œ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ๋ฏ€๋กœ ์ƒˆ๋กœ์šด ๋‹จ์–ด๊ฐ€ ๋‚˜์™”์„ ๋•Œ๋„ ๋œป์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์ƒ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด playing ์ด๋ผ๋Š” ๋‹จ์–ด๋Š” play ์™€ ing ๋กœ ํ† ํฐ์„ ๋‚˜๋ˆˆ๋‹ค.
 
 

BERT Training

BERT์˜ ํ•™์Šต ๊ณผ์ •์€ Pre-training → Fine-tuning ๋‘ ๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค.
 
GPT์™€ ๋น„๊ตํ•˜๋ฉด GPT๋Š” ์ดˆ๊ฑฐ๋Œ€ ๋ชจ๋ธ๋กœ ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ€ ์ƒ๋‹นํžˆ ํฌ๊ณ  ํ•™์Šต์‹œํ‚ค๊ธฐ ์–ด๋ ต์ง€๋งŒ ํ•œ ๋ฒˆ ํ•™์Šตํ•ด๋‘๋ฉด ์—ฌ๋Ÿฌ NLP ์ž‘์—…์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์ด๊ณ , BERT ์˜ ๊ฒฝ์šฐ ๊ฐ€๋ ค์ง„ ๋‹จ์–ด(๋งˆ์Šคํ‚น๋œ ํ† ํฐ)๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๋„๋ก pre-training ์‹œํ‚จ ๋‹ค์Œ, ๊ฐ NLP ํ…Œ์Šคํฌ์— ๋งž๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ fine-tuning ์‹œ์ผœ์ค˜์•ผ ํ•œ๋‹ค.
 
๋•Œ๋ฌธ์—, BERT๋Š” pre-training๋œ ๋ชจ๋ธ์„ ๋ฐ›์•„์„œ ์–ด๋–ป๊ฒŒ fine-tuning ์‹œ์ผœ์„œ ์“ฐ๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.
 

# BERT Pre-training

  • ๋ฌธ์žฅ์ด ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ํ† ํฐ์œผ๋กœ ์ชผ๊ฐ  ๋’ค ๋žœ๋คํ•˜๊ฒŒ ๋‹จ์–ด๋ฅผ ๊ฐ€๋ฆฌ๊ณ (ํ† ํฐ์„ ๋งˆ์Šคํ‚นํ•˜๊ณ ) ์ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•™์Šต
  • ๋•Œ๋ฌธ์— (๋‹จ๋ฐฉํ–ฅ LM ๋ชจ๋ธ๋„ ๊ทธ๋ ‡๊ธด ํ•˜์ง€๋งŒ) BERT๋ฅผ pre-training์‹œํ‚ค๊ธฐ ์œ„ํ•œ ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ GT ๋Š” ๋”ฐ๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์Œ

 

# BERT Fine-tuning

Pre-training ์„ ๋งˆ์นœ BERT ๋ชจ๋ธ์€ ํ…Œ์Šคํฌ์— ๋งž๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ—ค fine-tuning ์„ ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ ๋…ผ๋ฌธ์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ 4๊ฐœ์˜ NLP ํ…Œ์Šคํฌ๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

  • (a) ๋‘ ๋ฌธ์žฅ์„ ์ธํ’‹์œผ๋กœ ๋„ฃ๊ณ  ๋‘ ๋ฌธ์žฅ์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์ธก
  • (b) ํ•œ ๋ฌธ์žฅ์„ ์ธํ’‹์œผ๋กœ ๋„ฃ๊ณ  ์–ด๋–ค ๋ฌธ์žฅ์ธ์ง€ ์˜ˆ์ธก
  • (c) ์งˆ๋ฌธ-๋‹ต ๋‘ ๋ฌธ์žฅ์„ ์ธํ’‹์œผ๋กœ ๋„ฃ๊ณ  ์ž‘๋ฌธ ์† ์ •๋‹ต์˜ ์‹œ์ž‘, ๋ ์ธ๋ฑ์Šค๋ฅผ ์˜ˆ์ธก
  • (d) ํ•œ ๋ฌธ์žฅ์„ ์ธํ’‹์œผ๋กœ ๋„ฃ๊ณ  ํ† ํฐ๋ณ„ ํƒœ๊น…์„ ์˜ˆ์ธก

 


BERT๊ฐ€ ์ฒ˜์Œ ๊ณต๊ฐœ๋˜์—ˆ์„ ๋•Œ๋งŒ ํ•ด๋„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์€ ์—ฐ๊ตฌ์šฉ ML ๋ชจ๋ธ๋กœ ์ทจ๊ธ‰๋ฐ›๊ธฐ๋„ ํ–ˆ์ง€๋งŒ, 19๋…„ ๊ตฌ๊ธ€์€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์— BERT๋ฅผ ํ™œ์šฉํ•ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ–ˆ๊ณ , 23๋…„์ธ ์ง€๊ธˆ์€ BERT๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์–‘ํ•œ ์œ ์ฆˆ์ผ€์ด์Šค(์–ธ์–ด ๋ฒˆ์—ญ, ํ…์ŠคํŠธ ์š”์•ฝ, ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋“ฑ,...)๋ฅผ ์ ‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
 

๋ฐ˜์‘ํ˜•