๊ฐœ์š”

BERT(Bidirectional Encoder Representations from Transformers)๋Š” Google AI๊ฐ€ 2018๋…„ 10์›”์— ๋ฐœํ‘œํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ํ‘œํ˜„ ๋ชจ๋ธ์ด๋‹ค1. ํŠธ๋žœ์Šคํฌ๋จธ(Transformer)์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„๋งŒ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์–‘๋ฐฉํ–ฅ(bidirectional) ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ ํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ํŠน์ง•์ด๋‹ค.

BERT๋Š” ๋Œ€๊ทœ๋ชจ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์ „ ํ•™์Šต(pre-training)์„ ์ˆ˜ํ–‰ํ•œ ํ›„, ํ•˜๋‚˜์˜ ์ถ”๊ฐ€ ์ถœ๋ ฅ ๋ ˆ์ด์–ด๋งŒ์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ œ์— ํŒŒ์ธํŠœ๋‹(fine-tuning)ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๋ฐœํ‘œ ๋‹น์‹œ 11๊ฐœ์˜ NLP ๊ณผ์ œ์—์„œ ์ตœ๊ณ  ์„ฑ๋Šฅ(state-of-the-art)์„ ๋‹ฌ์„ฑํ•˜๋ฉฐ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค.

์•„ํ‚คํ…์ฒ˜

๋ชจ๋ธ ๊ตฌ์กฐ

BERT๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋”(encoder-only) ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ดˆ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ํฌ๊ธฐ์˜ ๋ชจ๋ธ์ด ๊ณต๊ฐœ๋˜์—ˆ๋‹ค:

  • BERT-BASE: 12๊ฐœ ๋ ˆ์ด์–ด, 768 hidden units, 12 attention heads, ์•ฝ 1์–ต 1์ฒœ๋งŒ ๊ฐœ ํŒŒ๋ผ๋ฏธํ„ฐ
  • BERT-LARGE: 24๊ฐœ ๋ ˆ์ด์–ด, 1024 hidden units, 16 attention heads, ์•ฝ 3์–ต 4์ฒœ๋งŒ ๊ฐœ ํŒŒ๋ผ๋ฏธํ„ฐ

ํ† ํฌ๋‚˜์ด์ €

BERT๋Š” WordPiece ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, 30,000๊ฐœ์˜ ํ† ํฐ ์–ดํœ˜๋ฅผ ๊ฐ€์ง„๋‹ค. ํŠน์ˆ˜ ํ† ํฐ์œผ๋กœ [CLS](๋ฌธ์žฅ ์‹œ์ž‘), [SEP](๋ฌธ์žฅ ๊ตฌ๋ถ„), [MASK](๋งˆ์Šคํ‚น๋œ ํ† ํฐ)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์‚ฌ์ „ ํ•™์Šต ๋ฐฉ์‹

BERT์˜ ํ˜์‹ ์€ ๋‘ ๊ฐ€์ง€ ๋น„์ง€๋„ ํ•™์Šต ๊ณผ์ œ๋ฅผ ํ†ตํ•œ ์‚ฌ์ „ ํ•™์Šต ๋ฐฉ์‹์— ์žˆ๋‹ค:

1. Masked Language Modeling (MLM)

  • ์ž…๋ ฅ ํ† ํฐ์˜ 15%๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•˜์—ฌ ์˜ˆ์ธกํ•˜๋„๋ก ํ•™์Šต
  • ์„ ํƒ๋œ ํ† ํฐ ์ค‘:
    • 80%๋Š” [MASK] ํ† ํฐ์œผ๋กœ ๊ต์ฒด
    • 10%๋Š” ๋ฌด์ž‘์œ„ ๋‹จ์–ด๋กœ ๊ต์ฒด
    • 10%๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€
  • ์ด๋ฅผ ํ†ตํ•ด ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ์„ ๋ชจ๋‘ ํ™œ์šฉํ•˜์—ฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋Šฅ๋ ฅ ํ•™์Šต

2. Next Sentence Prediction (NSP)

  • ๋‘ ๋ฌธ์žฅ์ด ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ์˜ˆ์ธกํ•˜๋Š” ์ด์ง„ ๋ถ„๋ฅ˜ ๊ณผ์ œ
  • 50%๋Š” ์‹ค์ œ ์—ฐ์†๋œ ๋ฌธ์žฅ, 50%๋Š” ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ ๋ฌธ์žฅ ์Œ
  • ๋ฌธ์žฅ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๋Šฅ๋ ฅ ํ•™์Šต

ํ•™์Šต ๋ฐ์ดํ„ฐ

BERT๋Š” ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต๋˜์—ˆ๋‹ค:

  • BookCorpus: ์•ฝ 8์–ต ๋‹จ์–ด
  • ์˜์–ด Wikipedia: ์•ฝ 25์–ต ๋‹จ์–ด

BERT-BASE ๋ชจ๋ธ์€ 16๊ฐœ์˜ TPU ์นฉ์œผ๋กœ ์•ฝ 4์ผ๊ฐ„ ํ•™์Šต๋˜์—ˆ์œผ๋ฉฐ, ํ•™์Šต ๋น„์šฉ์€ ์•ฝ $500๋กœ ์ถ”์ •๋œ๋‹ค.

์„ฑ๋Šฅ

BERT๋Š” ๋ฐœํ‘œ ๋‹น์‹œ ์—ฌ๋Ÿฌ NLP ๋ฒค์น˜๋งˆํฌ์—์„œ ํš๊ธฐ์ ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์˜€๋‹ค:

  • GLUE: 80.5% (7.7%p ํ–ฅ์ƒ)
  • MultiNLI: 86.7% ์ •ํ™•๋„
  • SQuAD: ์งˆ์˜์‘๋‹ต ๊ณผ์ œ์—์„œ ํฐ ์„ฑ๋Šฅ ๊ฐœ์„ 

2020๋…„ ๊ธฐ์ค€์œผ๋กœ BERT๋Š” NLP ์‹คํ—˜์˜ ๊ธฐ๋ณธ ๋ฒ ์ด์Šค๋ผ์ธ์œผ๋กœ ์ž๋ฆฌ์žก์•˜์œผ๋ฉฐ, ๋ชจ๋ธ์˜ ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ์„ ์—ฐ๊ตฌํ•˜๋Š” โ€œBERTologyโ€๋ผ๋Š” ์—ฐ๊ตฌ ๋ถ„์•ผ๊นŒ์ง€ ์ƒ๊ฒจ๋‚ฌ๋‹ค.

์ฃผ์š” ๋ณ€ํ˜• ๋ชจ๋ธ

BERT์˜ ์„ฑ๊ณต ์ดํ›„ ๋‹ค์–‘ํ•œ ๋ณ€ํ˜• ๋ชจ๋ธ๋“ค์ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค:

  • RoBERTa: ํ•™์Šต ๋ฐฉ์‹ ๊ฐœ์„  (NSP ์ œ๊ฑฐ, ๋” ํฐ ๋ฐฐ์น˜, ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ)
  • DistilBERT: ์ง€์‹ ์ฆ๋ฅ˜(knowledge distillation)๋ฅผ ํ†ตํ•ด ํฌ๊ธฐ์™€ ์†๋„ ๊ฐœ์„ 
  • ALBERT: ๋ ˆ์ด์–ด ๊ฐ„ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ณต์œ ๋กœ ๋ชจ๋ธ ํฌ๊ธฐ ๊ฐ์†Œ
  • ELECTRA: ์ƒ์„ฑ์  ์ ๋Œ€ ํ•™์Šต(GAN) ๋ฐฉ์‹ ์ ์šฉ

ํ•œ๊ตญ์–ด BERT ๋ชจ๋ธ

KoBERT

SKT AI(๊ตฌ SKT Brain)๊ฐ€ ๊ฐœ๋ฐœํ•œ ํ•œ๊ตญ์–ด ํŠนํ™” BERT ๋ชจ๋ธ์ด๋‹ค. ๊ตฌ๊ธ€์˜ ๋‹ค๊ตญ์–ด BERT๊ฐ€ ํ•œ๊ตญ์–ด์—์„œ ๋ณด์ด๋Š” ์„ฑ๋Šฅ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•:

  • ํ•™์Šต ๋ฐ์ดํ„ฐ: ํ•œ๊ตญ์–ด Wikipedia (์•ฝ 500๋งŒ ๋ฌธ์žฅ, 5,400๋งŒ ๋‹จ์–ด)
  • ์•„ํ‚คํ…์ฒ˜: 12 ๋ ˆ์ด์–ด, 768 units, 512 max sequence length, 12 attention heads
  • ์–ดํœ˜ ํฌ๊ธฐ: 8,002 ํ† ํฐ (๋‹ค๊ตญ์–ด BERT๋ณด๋‹ค ์ž‘์Œ)
  • ํŒŒ๋ผ๋ฏธํ„ฐ: ์•ฝ 9,200๋งŒ ๊ฐœ (๋‹ค๊ตญ์–ด BERT๋Š” 1์–ต 1์ฒœ๋งŒ ๊ฐœ)
  • ํ† ํฌ๋‚˜์ด์ €: SentencePiece (ํ•œ๊ตญ์–ด ์œ„ํ‚ค ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต)
  • ํ•™์Šต ํ™˜๊ฒฝ: 32๊ฐœ V100 GPU, Horovod ์‚ฌ์šฉ

์„ฑ๋Šฅ:

  • ๋„ค์ด๋ฒ„ ๊ฐ์„ฑ ๋ถ„์„ ๋ฐ์ดํ„ฐ์…‹์—์„œ 90.1% ์ •ํ™•๋„ (๋‹ค๊ตญ์–ด BERT 87.5%)

์ง€์› ํ”„๋ ˆ์ž„์›Œํฌ:

  • PyTorch, ONNX, MXNet-Gluon

KR-BERT

์„œ์šธ๋Œ€ํ•™๊ต ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ์—ฐ๊ตฌ์‹ค์—์„œ ๊ฐœ๋ฐœํ•œ ์†Œ๊ทœ๋ชจ ํ•œ๊ตญ์–ด ํŠนํ™” ๋ชจ๋ธ์ด๋‹ค2.

์ฃผ์š” ํŠน์ง•:

  • ๋‹ค๊ตญ์–ด BERT๋ณด๋‹ค ์•ฝ 1/10 ํฌ๊ธฐ์˜ ์ž‘์€ ์ฝ”ํผ์Šค๋กœ ํ•™์Šต
  • ํ•œ๊ตญ์–ด๋Š” ํ˜•ํƒœ๋ก ์ ์œผ๋กœ ํ’๋ถ€ํ•˜๋ฉด์„œ ๋น„๋ผํ‹ด ๋ฌธ์ž ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ €์ž์› ์–ธ์–ด
  • ์—ฌ๋Ÿฌ ํ† ํฌ๋‚˜์ด์ € ์‹คํ—˜ (์Œ์ ˆ ๋‹จ์œ„, ์ž์†Œ ๋‹จ์œ„ ๋“ฑ)
  • โ€œBidirectionalWordPiece Tokenizerโ€ ์ œ์•ˆ

์„ฑ๊ณผ:

  • ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ๋„ ๊ธฐ์กด ์‚ฌ์ „ํ•™์Šต ๋ชจ๋ธ๊ณผ ๋™๋“ฑํ•˜๊ฑฐ๋‚˜ ๋” ๋‚˜์€ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
  • ์–ธ์–ด๋ณ„ ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•œ ์†Œ๊ทœ๋ชจ ํŠนํ™” ๋ชจ๋ธ์˜ ํšจ๊ณผ์„ฑ ์ž…์ฆ

๊ธฐํƒ€ ํ•œ๊ตญ์–ด BERT ๋ชจ๋ธ

  • KcBERT: ์ด์ค€๋ฒ”์ด ๊ฐœ๋ฐœํ•œ ๋ชจ๋ธ๋กœ, ์˜จ๋ผ์ธ ๋‰ด์Šค ๋Œ“๊ธ€ ๋ฐ์ดํ„ฐ(2019-2020, ์•ฝ 1์–ต 1์ฒœ๋งŒ ๋ฌธ์žฅ)๋กœ ํ•™์Šตํ•˜์—ฌ ๊ตฌ์–ด์ฒด, ์‹ ์กฐ์–ด, ๋น„ํ‘œ์ค€ ํ‘œํ˜„์„ ์ž˜ ์ฒ˜๋ฆฌ
  • KoreALBERT: ALBERT ๊ตฌ์กฐ๋ฅผ ํ•œ๊ตญ์–ด์— ์ ์šฉํ•œ ๊ฒฝ๋Ÿ‰ํ™” ๋ชจ๋ธ
  • KLUE: ํ•œ๊ตญ์–ด ์ž์—ฐ์–ด ์ดํ•ด ๋ฒค์น˜๋งˆํฌ ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ ๊ณต๊ฐœ๋œ KLUE-BERT์™€ KLUE-RoBERTa ๋ชจ๋ธ

์˜ํ–ฅ๊ณผ ์˜์˜

BERT๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค:

  1. ์ „์ด ํ•™์Šต(Transfer Learning) ๋Œ€์ค‘ํ™”: ์‚ฌ์ „ ํ•™์Šต ํ›„ ํŒŒ์ธํŠœ๋‹ํ•˜๋Š” ๋ฐฉ์‹์ด NLP์˜ ํ‘œ์ค€์ด ๋จ
  2. ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ ํ™œ์šฉ: ์ด์ „ ๋ชจ๋ธ๋“ค(GPT ๋“ฑ)์ด ๋‹จ๋ฐฉํ–ฅ์ด์—ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์–‘๋ฐฉํ–ฅ ๋ฌธ๋งฅ ํ™œ์šฉ
  3. ๊ฐœ๋…์  ๋‹จ์ˆœ์„ฑ: ๋ณต์žกํ•œ ๊ณผ์ œ๋ณ„ ๊ตฌ์กฐ ์—†์ด๋„ ๋†’์€ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
  4. ์—ฐ๊ตฌ ์ƒํƒœ๊ณ„ ํ˜•์„ฑ: ์ˆ˜๋งŽ์€ BERT ๋ณ€ํ˜• ๋ชจ๋ธ๊ณผ BERTology ์—ฐ๊ตฌ ๋ถ„์•ผ ์ƒ์„ฑ

์ฐธ๊ณ  ์ž๋ฃŒ

Footnotes

  1. Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). โ€œBERT: Pre-training of Deep Bidirectional Transformers for Language Understandingโ€. arXiv:1810.04805 โ†ฉ

  2. Lee, S., Jang, H., Baik, Y., Park, S., & Shin, H. (2020). โ€œKR-BERT: A Small-Scale Korean-Specific Language Modelโ€. arXiv:2008.03979 โ†ฉ