Skip to content

coleea/ML-mastering-transformers-summary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Mastering Transformers ์š”์•ฝ

์ €์ž : SavaลŸ Yฤฑldฤฑrฤฑm, Meysam Asgari-Chenaghlu
์ถœ๊ฐ„์ผ : 2021/09 (packt publishing)

์ฑ…ํ‘œ์ง€

์ฑ•ํ„ฐ๋ณ„ ๋ถ„๋ฅ˜

์ด ์ฑ…์€ ํฌ๊ฒŒ ์•„๋ž˜๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค

์„น์…˜ 1: ๋„์ž…๋ถ€ (Introduction)

1์žฅ๋ถ€ํ„ฐ 2์žฅ๊นŒ์ง€๋Š” ๋„์ž…๋ถ€์ด๋‹ค. ๋„์ž…๋ถ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃฌ๋‹ค\

  1. NLP๋ถ„์•ผ์˜ ์—ญ์‚ฌ
  2. transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์„ค์น˜ ํ›„ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

1์žฅ. NLP์˜ ์—ญ์‚ฌ (From Bag-of-Words to the Transformer)

๋”ฅ๋Ÿฌ๋‹ ์ด์ „ ์‹œ๋Œ€๋ถ€ํ„ฐ ํŠธ๋žœ์Šคํฌ๋จธ๊นŒ์ง€์˜ NLP์˜ ์—ญ์‚ฌ๋ฅผ ์งš์–ด๋ณธ๋‹ค

2์žฅ. introduction (A Hands-On Introduction to the Subject)

transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‹ค์Šตํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค

์„น์…˜ 2: ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ๋“ค ์†Œ๊ฐœ (Transformer Models)

From Autoencoding to Autoregressive Models

3์žฅ. ์˜คํ† ์ธ์ฝ”๋”ฉ ๋ชจ๋ธ๋“ค ์†Œ๊ฐœ (Autoencoding Language Models)

BERT๋“ฑ์˜ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ๋ชจ๋ธ๋“ค์„ ์†Œ๊ฐœํ•œ๋‹ค

4์žฅ. ๋””์ฝ”๋” (Autoregressive and Other Language Models)

GPT-1๋“ฑ์˜ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ๋””์ฝ”๋” ๋ชจ๋ธ๋“ค์„ ์†Œ๊ฐœํ•œ๋‹ค

5์žฅ. ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ํŒŒ์ธํŠ  (fine-tune for classifier)

์ œ๋ชฉ ๊ทธ๋Œ€๋กœ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ํŒŒ์ธํŠ  ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค

6์žฅ. ํ† ํฐ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ํŒŒ์ธํŠ  (fine-tune for token classification)

์ œ๋ชฉ ๊ทธ๋Œ€๋กœ ํ† ํฐ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•œ ํŒŒ์ธํŠ  ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค

7์žฅ. text representation (์›Œ๋“œ ์ž„๋ฒ ๋”ฉ or ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ)

๋‹ค์–‘ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์žฅ์„ ํ‘œํ˜„ํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋ฒ•์„ ๋ฐฐ์šด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ค๋ฃฌ๋‹ค

  1. Universal Sentence Encoder (USE) ๋ชจ๋ธ
  2. Siamese BERT (Sentence-BERT) ๋ชจ๋ธ
  3. BART๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ ์ œ๋กœ์ƒท ํ•™์Šต์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค
  4. Few-shot ํ•™์Šต ๋ฐฉ๋ฒ•๋ก 

์„น์…˜ 3: ์‹ฌํ™” ์ฃผ์ œ (Advanced Topics)

8์žฅ. ํšจ์œจ์ ์ธ ํŠธ๋žœ์Šคํฌ๋จธ (Working with Efficient Transformers)

๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ํ…Œํฌ๋‹‰์„ ์†Œ๊ฐœํ•œ๋‹ค

9์žฅ. ๋‹ค๋ฅธ ์–ธ์–ด๊ฐ„ ๋ฒˆ์—ญ๋ชจ๋ธ (Cross-Lingual and Multilingual Language Modeling)

์ง€๊ธˆ๊นŒ์ง€๋Š” ๋‹จ์ผ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฌธ์ œ๋งŒ์„ ๋‹ค๋ฃจ์—ˆ์ง€๋งŒ ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด๊ฐ„ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” mT5, mBART๋“ฑ์˜ ๋ชจ๋ธ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณธ๋‹ค

10์žฅ. ํŠธ๋žœ์Šคํฌ๋จธ๋ฅผ ์›น API๋กœ ์‚ฌ์šฉํ•˜๊ธฐ (Serving Transformer Models)

FastAPI๋“ฑ์˜ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์„ REST API๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ฒ• ๋“ฑ์„ ์†Œ๊ฐœํ•œ๋‹ค

11์žฅ. ์–ดํ…์…˜ ์‹œ๊ฐํ™” & ์‹คํ—˜์  ํŠธ๋ž˜ํ‚น (Attention Visualization and Experiment Tracking)

์–ดํ…์…˜์„ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์„ฑ๋Šฅ๊ฐœ์„  ๋“ฑ์— ์ฐธ๊ณ ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค


์†Œ์ฑ•ํ„ฐ๋ณ„ ๋ถ„๋ฅ˜

1์žฅ. NLP์˜ ์—ญ์‚ฌ (From Bag-of-Words to the Transformer)

1.1 transformers ๊นŒ์ง€์˜ ์—ญ์‚ฌ (์ด๋ก ์ค‘์‹ฌ์œผ๋กœ ์„ค๋ช…)

์•„ํ‚คํ…์ฒ˜์™€ ์•„ํ‚คํ…์ฒ˜๋“ค์˜ ๋ณ€ํ™”๋Š” ๋‹ค์Œ ๊ธฐ์ˆ ๋“ค์˜ ์ง„๋ณด๋กœ ์„ฑ๊ณต์ ์ด์—ˆ๋‹ค

  1. ๋ฌธ๋งฅ์  ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ (BERT๋“ฑ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค)
  2. ๋”๋‚˜์€ ์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (BERT์˜ ํ† ํฌ๋‚˜์ด์ €์ธ Wordpiece tokenizer.)
  3. ์ž…๋ ฅ ํ† ํฐ์„ ๋ฌธ์žฅ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ• (์˜ˆ BERT์˜ CLSํ† ํฐ ๋“ฑ. ์ด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ํ† ํฐ์ด๋ผ๊ณ  ํ•œ๋‹ค)
  4. ์ž…๋ ฅ ๋ฌธ์žฅ์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๊ฐ™์€ ์šฐ์„ ์ˆœ์œ„๋กœ ๋‘๊ณ  ๋””์ฝ”๋”ฉํ•˜๋Š” ๋ฌธ์ œ (์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐ )
  5. ๋ฉ€ํ‹ฐํ—ค๋“œ ์…€ํ”„ ์–ดํ…์…˜
  6. ํฌ์ง€์…”๋„ ์ธ์ฝ”๋”ฉ
  7. ๋” ๋น ๋ฅธ ํ›ˆ๋ จ์„ ์œ„ํ•œ ๋ณ‘๋ ฌ ์•„ํ‚คํ…์ฒ˜
  8. ๋ชจ๋ธ ์••์ถ• (distillation, quantization ๋“ฑ)
  9. ์ „์ดํ•™์Šต (Transfer Learning)

๊ธฐ์กด์˜ ์ „ํ†ต์ ์ธ ๋ชจ๋ธ์€ sparsity, unseen words representation, tracking long-term dependencies ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์˜ ๋Œ€์‘์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ์ ‘๊ทผ๋ฒ•์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.
2013๋…„์€ word2vec์ด ๋“ฑ์žฅํ•˜์—ฌ ์ฐจ์›๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ํ•˜์˜€๋‹ค. word2vec์€ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๋‹ค.
์žฌ๊ท€(recurrent) ๋ฐ ์ปจ๋ณผ๋ฃจ์…˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋กœ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ์ธ์ฝ”๋” ๋ฐ ๋””์ฝ”๋”๋Š” sequence to sequence ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ์ด ์ดˆ๊ธฐ๋ชจ๋ธ๋“ค์˜ ๋ฌธ์ œ์ ์€ ๋‹ค์˜์–ด์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋œป์„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋’ค์ด์–ด ๊ณ ์•ˆ๋œ Universal Language Model Finetuning (ULMFit) and Embeddings from Language Models (ELMo) ๋“ฑ์˜ ๋ชจ๋ธ์€ ๋‹จ์–ด๋ฅผ ๋ฌธ์žฅ ์ˆ˜์ค€์˜ ์ •๋ณด๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ๋‹ค์˜์–ด ๋ฌธ์ œ๋ฅผ ์–ด๋Š์ •๋„ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ์ •์  ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์—์„œ ํ•œ๋‹จ๊ณ„ ์ง„๋ณด๋œ ํ˜•ํƒœ์˜€๋‹ค. ์ด๋“ค ๋‘ ๋ชจ๋ธ์€ RNN์ด ์ง„๋ณด๋œ LSTM ๋ชจ๋ธ ๊ธฐ๋ฐ˜์ด์—ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ pre-train๊ณผ fine-tune์˜ ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๋‹ค. ์ด ๋ชจ๋ธ์€ ์ „ํ†ต์ ์ธ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋‹จ์–ด์˜ ๋œป์„ ํ‘œํ˜„ํ•˜์˜€๋Š”๋ฐ ์ด ๋ชจ๋ธ์—์„œ๋Š” ๋ฌธ์žฅ๋‚ด์˜ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ๋ฌธ์žฅ ์ „์ฒด์˜ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•˜์—ฌ ์ž„๋ฒ ๋”ฉ๋œ๋‹ค. ์ด๊ฒƒ์„ ๋ฌธ๋งฅ์  ์ž„๋ฒ ๋”ฉ์ด๋ผ๊ณ  ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  2015๋…„ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์†Œ๊ฐœ๋˜์—ˆ๋‹ค.
2๋…„ํ›„ 2017๋…„ ํŠธ๋žœ์Šคํฌ๋จธ ๊ธฐ๋ฐ˜์˜ ์ธ์ฝ”๋”-๋””์ฝ”๋” ๋ชจ๋ธ์ด ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๊ธฐ์กด์˜ ์žฌ๊ท€(recurrent) ๋ชจ๋ธ์„ ๋ฒ„๋ฆฌ๊ณ  ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜๋งŒ์„ ์ฐจ์šฉํ•˜์˜€๋‹ค.

1.2 ๋ถ„์‚ฐ ์‹œ๋ฉ˜ํ‹ฑ์Šค(distributional semantics) ์ดํ•ดํ•˜๊ธฐ

๋ถ„์‚ฐ ์‹œ๋ฉ˜ํ‹ฑ์Šค๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค. ๋ถ„์‚ฐ ์‹œ๋ฉ˜ํ‹ฑ์Šค์˜ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๋กœ๋Š” ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์ด ์žˆ๋‹ค.
์ด ์ ‘๊ทผ๋ฒ•์€ ์‚ฌ์ „์— ์ •์˜๋œ ์˜๋ฏธ๋ฅผ ์ฐพ๊ธฐ๋ณด๋‹ค๋Š” ๋ถ„์‚ฐ์  ์ฆ๊ฑฐ๋ฅผ ์ฐพ๋Š”๊ฒƒ์„ ์„ ํ˜ธํ•œ๋‹ค. ๋ถ„์‚ฐ์  ์ฆ๊ฑฐ๋ผ๋Š” ๋ง์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์ง€๋งŒ ๋น„์Šทํ•œ ์œ„์น˜์— ์กด์žฌํ•˜๋Š” ๋‹จ์–ด๋“ค์€ ๋œป์ด ์œ ์‚ฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๋œป์ด๋‹ค. ๊ฐ™์€ ๋ฌธ๋งฅ์—์„œ ํ•จ๊ป˜ ๋“ฑ์žฅํ•˜๋Š” ํ•œ์Œ์˜ ๋‹จ์–ด๋“ค์€ ์œ ์‚ฌํ•œ ๋œป์ธ ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•”์‹œํ•œ๋‹ค. ์ผ๋ก€๋กœ ๊ฐœ์™€ ๊ณ ์–‘์ด๋Š” ๊ฐ™์€ ๋ฌธ๋งฅ์—์„œ ํ•จ๊ป˜ ๋“ฑ์žฅํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฏ€๋กœ ์œ ์‚ฌํ•œ ๋œป์œผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค. ๋‹จ์–ด๋Š” ์‹œ๊ฐ„์ด ํ๋ฅด๊ฑฐ๋‚˜ ๋„๋ฉ”์ธ์ด ๋ฐ”๋€Œ๋ฉด ๊ทธ ์˜๋ฏธ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ lexical semantic change problem์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ถ„์‚ฐ ์‹œ๋ฉ˜ํ‹ฑ์Šค (distributional semantics)๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์„ ์ค€๋‹ค. ๊ณ ์ „์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ Bag-of-Words (BoW)์™€ n-gram์ด ๋‹จ์–ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. BoW์—์„œ๋Š” ๋‹จ์–ด์™€ ๋ฌธ์žฅ๋“ค์ด one-hot ์ธ์ฝ”๋”ฉ์œผ๋กœ ํ‘œํ˜„๋˜์—ˆ๋‹ค. n-gram ๋ชจ๋ธ์€ ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ๋‹จ์–ด์— ํ™•๋ฅ ์„ ๋ถ€์—ฌํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ฌธ์žฅ์ด ์ฝ”ํผ์Šค ๋‚ด์— ์†ํ•  ํ™•๋ฅ ์„ ๊ตฌํ•˜๊ฑฐ๋‚˜ ๋žœ๋คํ•œ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์“ฐ์˜€๋‹ค.

1.2.1 bag of word

bag of word๋Š” ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์ด๋‹ค. ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์ด๋ž€ ๋‹จ์–ด์— ์ˆซ์ž๋ฅผ ๋ ˆ์ด๋ธ”๋งํ•˜๋Š” ์ž‘์—…์ด๋‹ค.
์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์˜ ๋‹จ์  : ๋‹จ์–ด์™€ ๋‹จ์–ด๊ฐ„์— ์•„๋ฌด๋Ÿฐ ๊ด€๊ณ„๋„ ๋ถ€์—ฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋‹จ์–ด๊ฐ€ ์–ด๋–ค ๋งฅ๋ฝ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€ ์•Œ์ˆ˜์—†๋‹ค
์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์„ ๊ฐœ์„ ํ•˜์—ฌ ๋‹จ์–ด์™€ ๋‹จ์–ด๊ฐ„์— ๋งฅ๋ฝ(context)์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค

1.2.2 ์ฐจ์› ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ

์ฐจ์› ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Latent Semantic Analysis(LSA)๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ์ด๋Š” ์ €์ฐจ์› ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์“ฐ์ธ๋‹ค. LSA๊ธฐ๋ฐ˜์˜ ํ™•๋ฅ ๋ชจ๋ธ์€ ๋‹จ์ผ ๋ ˆ์ด์–ด๋กœ์„œ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•ด๋ณผ๋งŒ ํ•˜์ง€๋งŒ ์ตœ๊ทผ์˜ ๋”ฅ๋Ÿฌ๋‹(DL) ๋ชจ๋ธ์€ ๋‹ค์ค‘ ๋ ˆ์ด์–ด ๊ธฐ๋ฐ˜์ด๋‹ค.

1.2.3 ์–ธ์–ด ๋ชจ๋ธ๊ณผ ์–ธ์–ด ๋ชจ๋ธ์˜ ์ƒ์„ฑ

๊ธฐ์กด์˜ ์–ธ์–ด ์ƒ์„ฑ ๋ชจ๋ธ์€ n-gram๊ธฐ๋ฐ˜์˜ ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ๋‹ค. ๋ฌธ์žฅ์„ ์ด๋ฃจ๋Š” ๊ฐ ๋‹จ์–ด๋Š” ์ด์ „ ๋‹จ์–ด์˜ ํด๋Ÿฌ์Šคํ„ฐ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ƒ์„ฑ๋œ๋‹ค. unigram , bigram, ngram ๋“ฑ์ด ์žˆ๋‹ค ์ดํ›„ n-gram์„ ์‹ค์Šตํ•จ

1.3 ๋ ˆ๋ฒ„๋ฆฌ์ง• ๋”ฅ๋Ÿฌ๋‹(DL)

NLP์—ญ์‚ฌ๋ฅผ ๋Œ์•„๋ณด๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€์˜ ์—ฌ๋Ÿฌ ์ ‘๊ทผ๋ฒ•์„ ๋ฐฐ์›Œ๋ณธ๋‹ค

1.3.1 ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ๊ณผ word2vec(2013)

Word2vec ์€ ๊ฐ€์žฅ ๋„๋ฆฌ ์•Œ๋ ค์ง„ ์›Œ๋“œ์ž„๋ฒ ๋”ฉ ์†”๋ฃจ์…˜์ด๋‹ค. word2vec์€ ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์— ๋งฅ๋ฝ(context)์„ ๋ถ€์—ฌํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ํ•™๊ต๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ ๋‹จ์–ด์— ๋Œ€ํ•œ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์„œ ๊ทธ ๋‹จ์–ด์™€ ์ธ์ ‘ํ•œ ๋‹จ์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‚ฝ์ž…ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ['๊ณต๋ถ€', 'ํ•™์ƒ', '์„ ์ƒ๋‹˜', '์‹œํ—˜'] ์™€ ๊ฐ™์€ ๋ฐฐ์—ด์ด ์ƒ์„ฑ๋œ๋‹ค

word2vec์˜ ๋‹จ์ ์€ ์˜ค์ง ๋งฅ๋ฝ์— ์˜ํ•ด์„œ๋งŒ ๋‹จ์–ด์˜ ์“ฐ์ž„์ƒˆ๋ฅผ ์œ ์ถ”ํ•˜๋Š”๋ฐ์„œ ์˜จ๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด

๋‚˜๋Š” ํ•™๊ต์— ๊ฐ”๋‹ค  
๋‚˜๋Š” ๊ฑฐ๊ธฐ์— ๊ฐ”๋‹ค  

ํ•™๊ต์—์™€ ๊ฑฐ๊ธฐ์—๋Š” ์ •ํ™•ํžˆ ๊ฐ™์€ ๋งฅ๋ฝ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋“ค ๋‘ ๋‹จ์–ด๋Š” ์œ ์‚ฌํ•œ ๋‹จ์–ด๋กœ ์ •์˜๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ์ด๋“ค ๋‘ ๋‹จ์–ด๋Š” ์œ ์‚ฌํ•œ ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค.

๋˜๋‹ค๋ฅธ ๋ฌธ์ œ๋กœ๋Š” ๋™์Œ ์ด์˜์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๋Š”๋ฐ ์žˆ๋‹ค
๋‚˜๋Š” ๋ง์„ ๋ณด๋ฉฐ ๋ง์„ ํ–ˆ๋‹ค.
์œ„์™€ ๊ฐ™์€ ๋ฌธ์žฅ์—์„œ ์ฒซ๋ฒˆ์งธ ๋ง์€ horse์ด๊ณ  ๋‘๋ฒˆ์งธ ๋ง์€ speech์ด์ง€๋งŒ word2vec์€ ๋™์Œ์ด์˜์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•œ๋‹ค

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹จ์–ด ์ˆ˜์ค€์˜ ์ดํ•ด๋ฅผ ๋ฌธ์žฅ ๋‹จ์œ„์˜ ์ดํ•ด๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์•ผํ•œ๋‹ค
์ด ๋ฌธ์žฅ ์ˆ˜์ค€์˜ ์‹œ๋„ํ•œ๊ฒŒ RNN์ด๋‹ค. RNN์ด ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜์–ด LSTM์ด ๋˜์—ˆ๊ณ  LSTM์ด ๊ฐœ์„ ๋˜์–ด transformer ๋ชจ๋ธ์ด ๋˜์—ˆ๋‹ค

word2vec์€ sklearn๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” Principal Component Analysis (PCA) ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ๊ฐํ™”๋„ ๊ฐ€๋Šฅํ•˜๋‹ค
์ดํ›„ Word2vec ์‹ค์Šต

1.3.2 RNN

RNN๊ธฐ๋ฐ˜์˜ ๋ฒˆ์—ญ ๋ชจ๋ธ์€ ์ธ์ฝ”๋”-๋””์ฝ”๋” ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ด๋‹ค. ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋ฅผ ๊ฐ๊ฐ์˜ ํ•จ์ˆ˜๋กœ ๋†“๊ณ  ํ•ฉ์„ฑํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋‹ค๊ณ  ์ดํ•ดํ•ด๋„ ์ข‹๋‹ค. ๋จผ์ € ์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ์œผ๋กœ ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋‹จ์–ด๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๊ฐ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ๋งˆ๋‹ค ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ ๋งˆ๋‹ค ๋ฌธ์žฅ์˜ ์ •๋ณด๋ฅผ ๊ฐฑ์‹ ํ•œ ์ฑ„๋กœ ์ˆ˜์ •๋œ๋‹ค. ๋ฌธ์žฅ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ์–ด๊นŒ์ง€ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด ์ตœ์ข…์ ์ธ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ(context vector)๊ฐ€ ์™„์„ฑ๋œ๋‹ค. ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ์ž…๋ ฅ ๋ฌธ์žฅ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ชจ๋“  ์ปจํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋””์ฝ”๋”๋Š” ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ์ž…๋ ฅ์— ๋Œ€์‘๋˜๋Š” ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ์ƒ์„ฑํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋” ์‚ฌ์ด์— ์œ„์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ค‘๊ฐ„ ํ‘œํ˜„๊ฐ’(intermediate representation)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋””์ฝ”๋”๊ฐ€ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” 1๊ฐœ ๋‹จ์–ด์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์ด ์ž‘์—…์€ end ํ† ํฐ์„ ๋งŒ๋‚ ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ๊ฐฑ์‹ ํ•  ๋•Œ๋งˆ๋‹ค ์ดˆ๊ธฐ์— ์ž…๋ ฅ๋ฐ›์€ ๋‹จ์–ด์˜ ์ •๋ณด๊ฐ€ ์ ์ฐจ ์†Œ์‹ค๋˜์–ด ์ •๋ณด๊ฐ€ ์œ ์‹ค๋ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ RNN๊ธฐ๋ฐ˜์˜ ์ธ์ฝ”๋”๋Š” ๊ธด ๋ฌธ์žฅ์ด ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์™”์„ ๋•Œ ์ƒ๋‹น๋Ÿ‰์˜ ์ •๋ณด๊ฐ€ ์†Œ์‹ค๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
๋‘๋ฒˆ์งธ ๋ฌธ์ œ, ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ณ ์ •๋œ ์‚ฌ์ด์ฆˆ์ด๋‹ค. ์ž…๋ ฅ์˜ ๊ธธ์ด๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์—์„œ ๊ณ ์ • ์‚ฌ์ด์ฆˆ์˜ ๋ฐฐ์—ด์„ ํ™œ์šฉํ•œ๋‹ค๋Š” ๊ฑด ์ตœ์ ํ™”์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

์–ดํ…์…˜์€ ์–ด๋–ป๊ฒŒ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋Š”๊ฐ€ ?

ํ•˜๋‚˜์˜ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐˆ ๋•Œ ๋งˆ๋‹ค ์ƒ์„ฑ๋˜๋Š” ๋ชจ๋“  ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ ๋‹จ์–ด์˜ ์ •๋ณด๊ฐ€ ์†Œ์‹ค๋˜์ง€ ์•Š์€ ์ƒํ™ฉ, ๋‹ค์‹œ๋งํ•ด ๋‹จ์–ด์˜ ์ปจํ…์ŠคํŠธ ์ •๋ณด๊ฐ€ ์ „ํ˜€ ์†Œ์‹ค๋˜์ง€ ์•Š์€ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ์™€ ์ „์ฒด์ ์ธ ๋ฌธ์žฅ์˜ ์ปจํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ๋™์‹œ์— ์ฐธ๊ณ ํ•˜์—ฌ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์ž…๋ ฅ ๋‹จ์–ด๊ฐ€ 3๊ฐœ๋ผ๋ฉด ์ค‘๊ฐ„๊ณผ์ •์— ์ƒ์„ฑ๋˜๋Š” ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ์™€ ์ตœ์ข…์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ฒกํ„ฐ๋ฅผ ํ•ฉ์ณ ์ด 3๊ฐ€์ง€์˜ ๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ด 3๊ฐ€์ง€์˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ๋‹ค ์ด์šฉํ•˜์—ฌ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์–ดํ…์…˜์˜ ๋Œ€๋žต์ ์ธ ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค ์–ด๋–คํ•จ์ˆ˜(์ƒ์„ฑ๋œ ๋ชจ๋“  ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ) + ์–ด๋–คํ•จ์ˆ˜(๊ฐ€์žฅ ์ตœ๊ทผ์— ์ƒ์„ฑ๋œ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ) ์ด ์–ดํ…์…˜์€ fully-connected neural network์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ์ตœ์ข… ๋ ˆ์ด์–ด์—์„œ๋Š” ์ž…๋ ฅ๋‹จ์–ด์˜ ๊ฐฏ์ˆ˜๋งŒํผ์˜ weight๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ด ์ตœ์ข… ๋ ˆ์ด์–ด์˜ weight๋“ค์— softmaxํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๋ฉด ๋ชจ๋“  weight์˜ ์ดํ•ฉ์ด 1์ด ๋˜๋Š” ํ™•๋ฅ ๋ถ„ํฌ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ด weight๋ฅผ ์–ดํ…์…˜ weight๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ด ์–ดํ…์…˜ weight๋Š” ์ž…๋ ฅ ๋‹จ์–ด๋“ค ์ค‘ ์–ด๋Š ๋‹จ์–ด์— ๋น„์ค‘์„ ๋‘์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ์ด ์–ดํ…์…˜ weight์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๋‹จ์–ด ์ƒ์„ฑ์— ์‚ฌ์šฉํ•  ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด ์ตœ์ข… ์ƒ์„ฑ๋œ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ƒ์„ธ ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ ๊ฐ•์˜ (https://www.youtube.com/watch?v=WsQLdu2JMgI) ๋ฅผ ์ฐธ์กฐํ•  ๊ฒƒ

1.3.3 LSTM & GRU

LSTM (long-short term memory)๋Š” ์ด๋ฆ„์ฒ˜๋Ÿผ ๊ธฐ์–ต๊ณผ ๊ด€๋ จํ•œ ์†”๋ฃจ์…˜์ด๋‹ค. ๊ธด ๋ฌธ์žฅ ๋‚ด์—์„œ ์ดˆ๊ธฐ์— ๋“ฑ์žฅํ•œ ๋‹จ์–ด์˜ ์ •๋ณด๊ฐ€ ์ ์ฐจ ์†Œ์‹ค๋˜๋Š” long-term dependency problem์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ์ •๋ณด์˜ ๋ณด์กด์„ ์œ„ํ•ด cell state๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ•˜์˜€๋‹ค. ์…€์€ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ ์ด ์ƒํƒœ์— ์–ด๋–ค ํ˜•ํƒœ์˜ ์ •๋ณด๋ฅผ ๋‹ด์„์ง€ ๋˜๋Š” ์–ด๋–ค ํ˜•ํƒœ์˜ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ• ์ง€๊ฐ€ LSTM์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ์ž์ฒด์ ์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค.

1.3.4 LSTM ๊ตฌํ˜„ํ•˜๊ธฐ

LSTM์„ tf, keras๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•œ๋‹ค

1.3.5 CNN ์˜ค๋ฒ„๋ทฐ

cnn์˜ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๊ณ  keras๋กœ cnn์„ ๊ตฌํ˜„ํ•œ๋‹ค

1.4 ํŠธ๋žœ์Šคํฌ๋จธ ์•„ํ‚คํ…์ฒ˜

ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๋Œ€๋ถ€๋ถ„์˜ NLP๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์•„ํ‚คํ…์ฒ˜๋‹ค. ํŠธ๋žœ์Šคํฌ๋จธ์˜ ํ•ต์‹ฌ์€ ๋ณ‘๋ ฌํ™”์ด๋‹ค. ํŠธ๋žœ์Šคํฌ๋จธ๋Š” recurrent๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ฌธ์žฅ์˜ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ํ•œ๋ฒˆ์— ๋ณ‘๋ ฌ๋กœ ์ธ์ฝ”๋”ฉํ•œ๋‹ค
ํŠธ๋žœ์Šคํฌ๋จธ์˜ ๋˜๋‹ค๋ฅธ ํ•ต์‹ฌ์€ ์–ดํ…์…˜ ๋ฉ”์นด๋‹ˆ์ฆ˜์ด๋‹ค. ํŠธ๋žœ์Šค ํฌ๋จธ ์ด์ „์—๋„ ์–ดํ…์…˜์€ ์กด์žฌํ–ˆ๋‹ค. ๊ณผ๊ฑฐ LSTM๋ชจ๋ธ์—์„œ ์–ดํ…์…˜์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์˜ต์…˜์œผ๋กœ ์กด์žฌํ–ˆ์ง€๋งŒ ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ๋Š” ์–ดํ…์…˜์ด ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.

1.4.1 ์–ดํ…์…˜

์–ดํ…์…˜์€ 2015๋…„ Bahdanau๋“ฑ์— ์˜ํ•ด ์ œ์•ˆ๋˜์—ˆ๋‹ค. LSTM๊ธฐ๋ฐ˜์˜ ์ธ์ฝ”๋”-๋””์ฝ”๋” ๋ชจ๋ธ์€ ๋จผ์ € ์ธ์ฝ”๋”๊ฐ€ ๋ฌธ์žฅ์„ ์žฌ๊ท€(recurrent) ๊ธฐ๋ฐ˜์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜๋Š”๋ฐ ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ์žฌ๊ท€์œ ๋‹›(recurrent unit)์ธ ๋””์ฝ”๋”์˜ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ฌธ์žฅ์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์†Œ๋น„ํ•œ ํ›„์— ๋‹ค์‹œ ๋กค๋ง์•„์›ƒํ•˜๋Š” ๊ณผ์ •์€ ๋””์ฝ”๋”์—๊ฒŒ ๋ฒ„๊ฑฐ์› ๋‹ค ์™œ๋ƒํ•˜๋ฉด ๋””์ฝ”๋”๋Š” ๋ฌธ์žฅ์— ๊ด€๋ จํ•œ ๋ชจ๋“  ์˜์กด์„ฑ๋“ค์„ ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๊ณ  ์˜ค์ง ์ตœ์ข… ์ƒ์„ฑ๋œ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋งŒ์„ ์ž…๋ ฅ์œผ๋กœ์„œ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ์–ดํ…์…˜์ด ๊ณ ์•ˆ๋˜์—ˆ๋Š”๋ฐ ์–ดํ…์…˜์—์„œ๋Š” ์žฌ๊ท€(recurrent) ํ”„๋กœ์„ธ์‹ฑ ์ค‘๊ฐ„์— ์ƒ์„ฑ๋œ ๋ชจ๋“  ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ๋ณ„๋„์˜ ์Šคํ…Œ์ดํŠธ๋กœ ์ €์žฅํ•œ ํ›„์— ์ด ๋ชจ๋“  ์Šคํ…Œ์ดํŠธ๊ฐ€ ๋””์ฝ”๋”์— ์ž…๋ ฅ๋œ๋‹ค. ์–ดํ…์…˜์˜ ๋“ฑ์žฅ ์ดํ›„ ๋งŽ์€ ๋ณ€์ข…๋“ค์ด ์ƒ๊ฒจ๋‚ฌ๊ณ  ๊ทธ์ค‘์—์„œ๋„ ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๋ฉ€ํ‹ฐํ—ค๋“œ ์–ดํ…์…˜ (multi-head attention mechanism)์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฌธ์žฅ๋‚ด ๋‹จ์–ด๊ฐ„ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ชจ๋ธ์„ self-attention์ด๋ผ๊ณ  ํ•œ๋‹ค
word2vec๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฌธ์žฅ๋‚ด ์ธ์ ‘ํ•œ ๋‹จ์–ด๋ผ๋ฆฌ ๊ด€๊ณ„๋„๊ฐ€ ๋†’๋‹ค
transformers๋Š” ๋ฌธ์žฅ ์ „์ฒด์— ๋Œ€ํ•œ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค. ๋ฐฐ์—ด์€ N์ฐจ์› ์ขŒํ‘œํ‰๋ฉด์ƒ์˜ ํŠน์ • ์ขŒํ‘œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ด ๋ฌธ์žฅ์˜ ๋ฐฐ์—ด์—๋Š” ํŠน์ • ๋‹จ์–ด์˜ ์ขŒํ‘œ๋Š” ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.
์ด ๊ณผ์ •์„ language model์ด๋ผ๊ณ  ํ•œ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€์˜ ์ž‘์—…์ด pre-train์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด language model์„ ๊ฐ€์ ธ์™€์„œ sentiment analysis๋ฅผ ํ•˜๊ฑฐ๋‚˜ ์–ธ์–ด ๋ฒˆ์—ญ์„ ํ•˜๊ณ ์‹ถ์„๋•Œ๋Š” fine-tuning์œผ๋กœ ํ…Œ์Šคํฌ์— ํŠน์„ฑํ™”๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์ด ์ผ๋ จ์˜ ๊ณผ์ •์„ ํ•ฉ์ณ์„œ transfer learning, ํ•œ๊ตญ์–ด๋กœ ์ „์ด ํ•™์Šต์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๊ณผ์ •์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ํ‰๊ท ์„ ๋‚ด๊ธฐ ๋•Œ๋ฌธ์— โ€˜multiโ€™๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋ถ™์—ฌ์„œ multi-head selt-attention์ด๋ผ๊ณ  ํ•œ๋‹ค

1.4.2 ๋ฉ€ํ‹ฐํ—ค๋“œ ์–ดํ…์…˜ (Multi-head attention)

๋ฉ€ํ‹ฐํ—ค๋“œ์˜ ์ดํ•ด์— ์•ž์„œ ์…€ํ”„ ์–ดํ…์…˜(self-attention, ๋‹ค๋ฅธ๋ง๋กœ dot-product attention)์„ ์•Œ์•„๋ณด์ž. ์…€ํ”„ ์–ดํ…์…˜์˜ ํ•ต์‹ฌ์€ ์–ดํ…์…˜ ์Šค์ฝ”์–ด๋ฅผ ์ž…๋ ฅ ๋ฌธ์žฅ์— ์˜์กดํ•ด์„œ ์Šค์Šค๋กœ(self) ์ƒ์„ฑํ•ด์„œ ํ™œ์šฉํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์–ดํ…์…˜ ์Šค์ฝ”์–ด๋ž€ ํ˜„์žฌ ์‹œ์ ์—์„œ ๋””์ฝ”๋”์˜ ์ƒํƒœ์™€ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์ƒํƒœ๋ฅผ ์ธ์ฝ”๋”์˜ ํžˆ๋“ ์Šคํ…Œ์ดํŠธ ์ค‘์—์„œ ๊ตฌํ•œ๋‹ค๋Š” ๊ฐœ๋…์ด๋‹ค.

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

dot-product attention์—์„œ์˜ ์–ดํ…์…˜ ์Šค์ฝ”์–ด๋Š” Query ํ–‰๋ ฌ๊ณผ Key ํ–‰๋ ฌ์˜ ๋‚ด์ (dot-product)์„ ํ•˜์—ฌ ๊ตฌํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฆ„์ด dot-product attention์ด๋‹ค. ์ด ๊ฒฐ๊ณผ๋ฌผ์€ ์ •์‚ฌ๊ฐ ํ–‰๋ ฌ์ด๋‹ค. ์ด ์–ดํ…์…˜ ์Šค์ฝ”์–ด๋ฅผ ์ž…๋ ฅ ๋ฌธ์žฅ๊ณผ ํ–‰๋ ฌ๊ณฑ์„ ํ•˜์—ฌ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ’์„ ๊ตฌํ•œ๋‹ค

์ด์™€๊ฐ™์€ dot-product attention์— scaling์„ ์ถ”๊ฐ€ํ•œ๊ฒŒ scaled dot-product attention์ด๋‹ค. ์ด scaled dot-product attention๋ฅผ ๋ณ‘๋ ฌ๋กœ ์—ฌ๋Ÿฌ๋ฒˆ ์‹คํ–‰ํ•˜์—ฌ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฌผ๋“ค์„ ๋”ํ•˜๋Š”๊ฒŒ ๋ฉ€ํ‹ฐํ—ค๋“œ ์–ดํ…์…˜์ด๋‹ค.

๊ทธ ์™ธ ํ•ต์‹ฌ๊ฐœ๋… : positional encoding. ์ด๋Š” ์ž…๋ ฅ๊ฐ’์— ์‚ฌ์ธ๊ณผ ์ฝ”์‚ฌ์ธ์„ ์ ์šฉํ•˜์—ฌ ๊ตฌํ•œ๋‹ค

1.4.3 ์ธ์ฝ”๋” & ๋””์ฝ”๋”

์ธ์ฝ”๋”๋Š” ์–‘๋ฐฉํ–ฅ(bi-directional) ํ† ํฐ์„ ์ด์šฉํ•ด์„œ ์ค‘๊ฐ„์— ์œ„์น˜ํ•œ ํ† ํฐ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋ฅผ ์–‘๋ฐฉํ–ฅ ํŠธ๋žœ์Šคํฌ๋จธ๋ผ๊ณ  ํ•œ๋‹ค.
๋””์ฝ”๋”๋Š” ํ•œ์ชฝ๋ฐฉํ–ฅ ํ† ํฐ์„ ์ด์šฉํ•ด์„œ ๋‹ค์Œ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋Š” ์ƒ์„ฑ์ž์ด๋‹ค

1.5 ์ „์ดํ•™์Šต(tranfer learning, TL)์„ ํŠธ๋žœ์Šคํฌ๋จธ์™€ ๊ฐ™์ด์“ฐ๊ธฐ

์ „์ดํ•™์Šต์€ pre-trained model์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.
์ „์ดํ•™์Šต์€ shallow model๊ณผ deep model๋กœ ๋‚˜๋‰œ๋‹ค. shallow TL์˜ ์˜ˆ๋กœ๋Š” Word2vec์ด ์žˆ๋‹ค. ์–•์€ ๋ชจ๋ธ(shallow model)์€ pre-trained vector ๊ธฐ๋ฐ˜์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ „์ดํ•™์Šต ๋’ค์—๋Š” ์•„๋ฌด๋Ÿฐ ๋ชจ๋ธ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์–•์€ ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ๋ชจ๋ธ ๋Œ€์‹  pre-trained ๋ฒกํ„ฐ๊ฐ€ ํ™œ์šฉ๋œ๋‹ค. deep model์€ language model์ด๋‹ค.
ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๋น„์ง€๋„ ํ•™์Šต ๊ธฐ๋ฐ˜์œผ๋กœ ์ „์ดํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งˆ์Šคํฌ ์–ธ์–ด ๋ชจ๋ธ(Masked Language Model) ์„ ํ™œ์šฉํ•˜๋ฉด ์–ธ์–ด ๊ทธ์ž์ฒด๊ฐ€ ์Šค์Šค๋กœ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠน์ •ํ•œ ๋‹จ์–ด๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พธ์–ด ๋†“๊ณ  ์ด ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค ํŠธ๋žœ์Šคํฌ๋จธ๋ฅผ ํ™œ์šฉํ•œ ์ตœ์ดˆ์˜ ์–ธ์–ด ๋ชจ๋ธ์€ BERT์ด๋‹ค. ์ด๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ํŒŒํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. BERT๋Š” ๋งˆ์Šคํฌ ์–ธ์–ด ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์Šค๋กœ ํ•™์Šตํ•œ๋‹ค. ๋ฐ”ํŠธ๋Š” ์ „์ด ๊ฐ€๋Šฅํ•œ ์–ธ์–ด๋ชจ๋ธ์ด๋ฏ€๋กœ ํ•œ๋ฒˆ ํ•™์Šตํ•ด ๋†“์œผ๋ฉด ํ† ํฐ ๋ถ„๋ฅ˜, Q&A, ๋ฌธ์žฅ ๋ถ„๋ฅ˜๋“ฑ ๋‹ค์–‘ํ•œ ํ•„๋“œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
BERT์˜ ํ•™์Šต์—๋Š” 2๊ฐ€์ง€ ๋ฌธ์žฅ์ด ๋™์‹œ์— ์ž…๋ ฅ๋œ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ด๋Š” ๋ฌธ์žฅ๊ณผ ๋ฌธ์žฅ๊ด€์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•จ์œผ๋กœ์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.
์ฃผ์˜ ! : BERT์™€ BART๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. BERT๋Š” ์ธ์ฝ”๋” ๋ชจ๋ธ์ด๋ฉฐ BART๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๊ฐ€ ๊ฒฐํ•ฉ๋œ seq2seq ๋ชจ๋ธ์ด๋‹ค

2์žฅ. introduction (์‹ค์Šตํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• ์†Œ๊ฐœ)

2.1 ์•„๋‚˜์ฝ˜๋‹ค์™€ transformers ์„ค์น˜

์ฝ์ง€ ์•Š์Œ

2.1.1 colab์—์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

!pip install Transformer

!(๋Š๋‚Œํ‘œ)๋Š” shell์—์„œ ์‹คํ–‰ํ•˜๋„๋ก ํ•ด์ค€๋‹ค. ํŒŒ์ด์ฌ์—์„œ์˜ ์‹คํ–‰์ด ์•„๋‹ˆ๋‹ค

2.2 ์–ธ์–ด๋ชจ๋ธ๊ณผ ํ† ํฌ๋‚˜์ด์ € ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

transformers ์‚ฌ์šฉ๋ฒ• : ๋ชจ๋ธํ•จ์ˆ˜ ์•ˆ์— ์ธ์ฝ”๋”ฉ๋œ ํ† ํฐ์„ ์ง‘์–ด๋„ฃ์œผ๋ฉด ๋.

2.3 ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๊ฒฐ๋ก  : pipeline()ํ•จ์ˆ˜๋กœ ๋ถˆ๋Ÿฌ์˜ค์‹œ์˜ค

2.4 ๋ฒค์น˜๋งˆํ‚น ํ•จ์ˆ˜์™€ ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

2.4.1 ์ค‘์š”ํ•œ ๋ฒค์น˜๋งˆํ‚น ํ•จ์ˆ˜

โ€ข GLUE
โ€ข SuperGLUE
โ€ข XTREME
โ€ข XGLUE
โ€ข SQuAD

2.4.2 ๋ฐ์ดํ„ฐ์…‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

pip install dataset

dataset์ด๋ž€ ? ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ์…‹์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ•จ์ˆ˜.
์˜ˆ) glue์—์„œ cola๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
the GLUE dataset which is an agregated benchmark comprised of 10 subsets: COLA, SST2, MRPC, QQP, STSB, MNLI, QNLI, RTE, WNLI and the diagnostic subset AX.

from datasets import load_dataset
cola = load_dataset('glue', 'cola')
cola['train'][25:28]

2.5 ์†๋„ ๋ฒค์น˜๋งˆํ‚น

์ฝ์ง€ ์•Š์Œ

2.6 ์š”์•ฝ

๋ฉ€ํ‹ฐํƒœ์Šคํ‚น(GLUE) ๋ฐ ๊ต์ฐจ ์–ธ์–ด ๋ฒค์น˜๋งˆํ‚น(XTREME) ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์–ธ์–ด๋ชจ๋ธ์ด ๋” ๊ฐ•๋ ฅํ•ด์ง€๋„๋ก ๋•๋Š”๋‹ค.
evaluate ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ํ‰๊ฐ€๋Š” ์—ฐ์‚ฐ์†๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค

3์žฅ. ์˜คํ† ์ธ์ฝ”๋”ฉ ๋ชจ๋ธ๋“ค ์†Œ๊ฐœ

์ด๋ฒˆ์žฅ์€ ์ธ์ฝ”๋”๋ฅผ ํŠธ๋ ˆ์ด๋‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šด๋‹ค.
์—ฌ๊ธฐ์„œ๋Š” ๋‹จ์ผ์–ธ์–ด์— ๋Œ€ํ•œ ํ•™์Šต์„ ๋ฐฐ์šด๋‹ค. ์ด๋ฒˆ์žฅ์€ ๋‹ค์Œ ๋‹ค์„ฏ๊ฐœ๋ฅผ ๋ฐฐ์šด๋‹ค
โ€ข BERT ๋ชจ๋ธ
โ€ข ๋ชจ๋ธ ํ•™์Šต
โ€ข ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋ชจ๋ธ ๊ณต์œ ํ•˜๊ธฐ
โ€ข ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค
โ€ข ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ดํŽด๋ณด๊ธฐ

3.1 BERT ๋ชจ๋ธ

BERT๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „์— ๋จผ์ € GPT-1์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. BERT๋Š” GPT-1 ๊ณต๊ฐœ ์ดํ›„ GPT-1์˜ ๋‹จ์ ์„ ์ง€์ ํ•˜๋ฉด์„œ ๋“ฑ์žฅํ–ˆ๋‹ค. ์žฌ๊ท€(recurrent)๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ธ GPT-1์€ ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•  ๋•Œ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ๋ฐฉํ–ฅ ์ ‘๊ทผ๋ฒ•์€ ๋ฌธ๋งฅ ์ดํ•ด์— ์–ด๋ ค์›€์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณ ์•ˆ๋œ ๋ชจ๋ธ์ด ์–‘๋ฐฉํ–ฅ ์ ‘๊ทผ๋ฒ•์ด๋‹ค. BERT๋Š” ์ตœ์ข…์ ์œผ๋กœ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ ์ธ์ฝ”๋” ๋ชจ๋ธ์ด ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๋‹ค. ๋‹ค๋งŒ ์ด ๋ฐฉ์‹์€ RNN์ฒ˜๋Ÿผ ์žฌ๊ท€์ ์œผ๋กœ(recurrent) ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ํ•œ๋ฒˆ์— ๋ชจ๋“  ๋ฌธ์žฅ์„ ์ฝ์–ด๋“ค์—ฌ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ์˜ ์ƒ์„ฑ์€ RNN์—์„œ์˜ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ fully-connected neural network์—์„œ ์ˆ˜ํ–‰๋œ๋‹ค. ์ด ๋„คํŠธ์›Œํฌ๋Š” ๋‹ค์ค‘๋ ˆ์ด์–ด ๋ชจ๋ธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋Š” ๋‹ค์‹œ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ€ ๋‹ค์‹œ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ์ž‘์—…์„ ๋ฌธ์žฅ์˜ ๋‹จ์–ด๊ฐฏ์ˆ˜ + 1ํšŒ ๋งŒํผ ๋ฐ˜๋ณตํ•œ๋‹ค.

BERT์˜ ํ•ต์‹ฌ : provide better language modeling. ์ฆ‰ ๋”๋‚˜์€ fine-tune ํ•™์Šต์„ ์ œ๊ณตํ•œ๋‹ค.

3.1.1 BERT ๋ชจ๋ธ์˜ pre-train

BERT์˜ ๋งˆ์Šคํฌ ๋ชจ๋ธ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ ค๋ฉด ๋งˆ์Šคํฌ ๋ชจ๋ธ์„ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค
๋งˆ์Šคํฌ ๋ชจ๋ธ์„ ์™œ ์“ฐ๋Š”๊ฐ€ ? ๋งˆ์Šคํฌ ๋ชจ๋ธ์ด cloze ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์–ธ์–ด์˜ ์ผ๋ฐ˜์ ์ธ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
cloze ํ…Œ์ŠคํŠธ๋ž€ ๋ฌธ์žฅ์žฅ์—์„œ ํŠน์ •ํ•œ ๋‹จ์–ด๋ฅผ ์ง€์›Œ๋ฒ„๋ฆฐ ํ›„์— ๊ทธ ์ง€์›Œ์ง„ ๋‹จ์–ด์— ๋“ค์–ด๊ฐˆ ๋‹จ์–ด๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ทธ ์„ ํƒ๋œ ๋‹จ์–ด๊ฐ€ ์ ํ•ฉํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
๋งˆ์Šคํฌ ๋ชจ๋ธ๊ณผ ๋”๋ถˆ์–ด BERT๋Š” ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก (Next Sentence Prediction, NSP) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ•™์Šตํ•œ๋‹ค. ์ด ๋ชจ๋ธ์˜ ํ•™์Šต์—๋Š” 2๊ฐœ์˜ ์ž…๋ ฅ์ด ๋™์‹œ์— ์ฃผ์–ด์ง„๋‹ค. BERT๋Š” ๋‘๊ฐ€์ง€ ๋ฌธ์žฅ์„ ๊ฒ€์‚ฌํ•œ ํ›„์— ๋‘๋ฒˆ์งธ ๋ฌธ์žฅ์ด ์ฒซ๋ฒˆ์งธ ๋ฌธ์žฅ์˜ ํ›„์† ๋ฌธ์žฅ์œผ๋กœ ์ ํ•ฉํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•๋ฅ ๋กœ ํŒ๋‹จํ•œ๋‹ค. ์ด ์ ํ•ฉ์„ฑ ์—ฌ๋ถ€๋Š” ๋‘ ๋ฌธ์žฅ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ด€์„ฑ์„ ์ธก์ •ํ•˜์—ฌ ๊ทธ ์ˆ˜์น˜๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค

3.1.2 BERT ๊นŠ์ด ํŒŒ๋ณด๊ธฐ

BERT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค

  1. BERT๋Š” WordPiece ํ† ํฐํ™”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.
  2. BERT๋Š” ์œ„์น˜์  ์ธ์ฝ”๋”ฉ(positional encoding)์„ ์‚ฌ์šฉํ•œ๋‹ค.
  3. ์‹œํ€€์Šค ๋ถ„๋ฅ˜, ํ† ํฐ ๋ถ„๋ฅ˜, Q&A ๋ชจ๋ธ ๋“ฑ ๋ฌธ์ œ์˜ ๋„๋ฉ”์ธ์— ๋”ฐ๋ผ์„œ BERT๋ชจ๋ธ์˜ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค

3.2 BERT๋ชจ๋ธ์˜ ํ•™์Šต ์‹ค์Šตํ•˜๊ธฐ (Autoencoding language model training for any language)

์ด๋ฒˆ ์žฅ์—์„œ๋Š” BERT ๋ชจ๋ธ์„ ์ด์šฉํ•ด ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์„ ์‹ค์Šตํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” IMDB ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ฐ์ •๋ถ„์„์šฉ ์˜ํ™” ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„์— ์ด๋ฅผ ํ•™์Šตํ•  ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จํ•œ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

  1. ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค
  2. ํ† ํฌ๋‚˜์ด์ €๋ฅผ ํ›ˆ๋ จ์‹œํ‚จ๋‹ค
  3. transformers๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” trainerํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ trainer ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค
  4. trainer๊ฐ์ฒด์˜ train๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ›ˆ๋ จ์„ ์‹œ์ž‘ํ•œ๋‹ค
  5. ํŠธ๋ ˆ์ด๋‹์ด ์ข…๋ฃŒ๋˜๋ฉด trainer๊ฐ์ฒด์˜ save_model ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์ €์žฅํ•œ๋‹ค

3.3 ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ชจ๋ธ ์—…๋กœ๋“œํ•˜์—ฌ ๋‹ค๋ฅธ์‚ฌ๋žŒ๋“ค๊ณผ ๋ชจ๋ธ ๊ณต์œ ํ•˜๊ธฐ

Transformers-cli์™€ git์„ ์ด์šฉํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์—…๋กœ๋“œํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค

3.4 ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค

์ด ์žฅ์—์„œ๋Š” BERT ๋ชจ๋ธ์„ ๊ฐœ์„ ํ•œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์„ ์†Œ๊ฐœํ•œ๋‹ค. ๋ชจ๋ธ์˜ ๊ฐœ์„ ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ํŒŒํŠธ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
์ฒซ์งธ๋Š” ๋” ๋‚˜์€ ์•„ํ‚คํ…์ฒ˜์ด๋ฉฐ ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” pre-train ์ปจํŠธ๋กค์ด๋‹ค

3.4.1 ALBERT

๋Œ€๊ทœ๋ชจ ์ฝ”ํผ์Šค๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋ธ์˜ ํ•™์Šต์€ ๊ฑฐ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ํ•™์Šต์‹œ๊ฐ„์ด ๋ฌธ์ œ์˜€๋‹ค.
Albert (A Lite BERT)๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ BERT์˜ ์žฌ๊ตฌํ˜„๋ฌผ์ด๋‹ค. BERT๋Œ€๋น„ 18๋ฐฐ ๋” ์ž‘์€ ํŒŒ๋ผ๋ฉ”ํ„ฐ๋กœ 1.7๋ฐฐ ๋” ๋น ๋ฅธ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ALBERT ๋ชจ๋ธ์€ ์˜ค๋ฆฌ์ง€๋„ BERT๋Œ€๋น„ ๋‹ค์Œ 3๊ฐ€์ง€ ์ˆ˜์ •์‚ฌํ•ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค โ€ข Factorized embedding parameterization (ํŒŒ๋ผ๋ฉ”ํ„ฐ ๊ฐฏ์ˆ˜ ๊ฐ์†Œ์šฉ) โ€ข ๋ ˆ์ด์–ด๊ฐ„ ํŒŒ๋ผ๋ฉ”ํ„ฐ ๊ณต์œ  (Cross-layer parameter sharing) (ํŒŒ๋ผ๋ฉ”ํ„ฐ ๊ฐฏ์ˆ˜ ๊ฐ์†Œ์šฉ) โ€ข Inter-sentence coherence loss ์œ„์˜ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ก ์€ ํŒŒ๋ผ๋ฉ”ํ„ฐ ๊ฐฏ์ˆ˜๋ฅผ ์ค„์—ฌ์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ธ๋‹ค.

์„ค๋ช…์ด ๋๋‚˜๊ณ  ๊ฐ„๋‹จํ•œ ์‹ค์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ์‹ค์Šต์—์„œ๋Š” transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ AlbertTokenizer, AlbertModel๋ฅผ ์ž„ํฌํŠธํ•˜์—ฌ pre-trained ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ถˆ๋Ÿฌ์˜จ ๋ชจ๋ธ์— ์ธ์ž๋กœ ๊ฐ„๋‹จํ•œ ์˜์–ด๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜๊ณ  ์ด์—๋Œ€ํ•œ ์ถœ๋ ฅ์ด ์–ด๋–ป๊ฒŒ ๋‚˜์˜ค๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์ด ํŒŒํŠธ๋Š” ์ž‘์„ฑ์ค‘์ž…๋‹ˆ๋‹ค

3.4.2 RoBERTa

RoBERTa (Robustly Optimized BERT pre-training Approach)๋Š” ๋” ๋‚˜์€ pre-train์ „๋žต์„ ์ œ๊ณตํ•œ๋‹ค. ์ดํ›„ transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ RobertaTokenizer์™€ RobertaModel๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ pre-trained ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์‹ค์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

3.4.3 ELECTRA (2020)

์—˜๋ ‰ํŠธ๋ผ(ELECTRA)๋Š” BERT์—์„œ ํŒŒ์ƒ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์˜ BERT ๋ชจ๋ธ์€ ๋งˆ์Šคํฌ ๊ธฐ๋ฐ˜ ํ•™์Šต ๋ฐฉ๋ฒ•์ด ๋น„ํšจ์œจ์  ์ด์—ˆ๋‹ค.
์—˜๋ ‰ํŠธ๋ผ๋Š” BERT๋ณด๋‹ค ๋” ๋น ๋ฅธ ์ฒ˜๋ฆฌ์†๋„๋ฅผ ์‹คํ˜„ํ–ˆ๋‹ค.
์ดํ›„ pipeline ํ•จ์ˆ˜๋กœ ์—˜๋ ‰ํŠธ๋ผ ์ œ๋„ค๋ ˆ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์‹ค์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค\

3.5 ํ† ํฌ๋‚˜์ด์ง•

transformers๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” BERT๋ชจ๋ธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํ† ํฌ๋‚˜์ด์ €๋กœ BertWordPieceTokenizer๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ํ† ํฐํ™” ๋ฐฉ๋ฒ•๋“ค์˜ ์ข…๋ฅ˜์™€ ๊ทธ ํŠน์ง•์„ ์‚ดํŽด๋ณธ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํ† ํฐํ™” ๊ณผ์ •์€ ๊ณต๋ฐฑ๋ฌธ์ž ๋‹จ์œ„๋กœ ํ† ํฐ์„ ๋ถ„๋ฆฌํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ์ด๋Š” ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์—†๋Š” ์–ธ์–ด์ธ ์ผ๋ณธ์–ด ๊ฐ™์€ ์–ธ์–ด์—์„œ๋Š” ์ ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ ‘๊ทผ ๋ฒ•์ด๋‹ค.
ํ•œํŽธ ๊ธฐ์กด์˜ ์ „ํ†ต์ ์ธ ํ† ํฐํ™” ๋ฐฉ๋ฒ•์—์„œ ํ•œ๋‹จ๊ณ„ ์ง„๋ณด๋œ ๋ฐฉ์‹์ด ์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™”์ธ๋ฐ ์ด๋Š” ๋‹จ์–ด๋ฅผ ๋” ์ž‘์€ ๋‹จ์–ด๋กœ ๋ถ„ํ•ดํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ† ํฐํ™” ๋Œ€์ƒ์ด ๋˜๋Š” ๋‹จ์–ด๊ฐ€ ์ค„์–ด๋“œ๋Š”๋ฐ ์ด๋Š” ๋‘๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์— ์‚ฌ์šฉ๋˜๋Š” ์ฐจ์›์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•™์Šต๊ณผ์ • ์™ธ์— ์‹ค์ œ ์ƒํ™ฉ์—์„œ ์ž…๋ ฅ๋ฐ›์€ ๋‹จ์–ด๊ฐ€ ํ•™์Šต๋•Œ๋Š” ๋ณธ ์ ์ด ์—†๋Š” ๋‹จ์–ด์ผ ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด๋“ ๋‹ค. ๋ฏธ์ง€์˜ ์–ธ์–ด๊ฐ€ ์ž…๋ ฅ ๋ฌธ์žฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ํ˜„์ƒ์„(Out-Of-Vocabulary Problem, OOV Problem) ๋˜๋Š” ์–ธ๋…ธ์šด ํ† ํฐ ๋ฌธ์ œ(Unknown Token Problem) ๋ผ๊ณ  ํ•œ๋‹ค
transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ self-supervised ๊ธฐ๋ฐ˜์ด๋ฉฐ ์ฝ”ํผ์Šค์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ํ† ํฐํ™” ๋ฃฐ์„ ์ƒ์„ฑํ•œ๋‹ค.
์ตœ๊ทผ ๋ฐ”์ดํŠธ์Œ ์ธ์ฝ”๋”ฉ(byte-pair encoding, BPE)์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŠธ๋žœ์Šคํฌ๋จธ ์•„ํ‚คํ…์ฒ˜์˜ ์ผ๋ถ€๋ถ„์ด ๋˜์—ˆ๋‹ค. ์ด ๊ฐ€์žฅ ํ˜„๋Œ€์ ์ธ ํ† ํฐํ™” ํ”„๋กœ์„ธ์Šค๋Š” ๋‘๊ฐ€์ง€ ๊ณผ์ •์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. ์ฒซ๋ฒˆ์งธ ๋‹จ๊ณ„์ธ pre-tokenization phase๋Š” ๋‹จ์ˆœํžˆ ๊ณต๋ฐฑ๋ฌธ์ž ๋˜๋Š” ์–ธ์–ด์— ๊ธฐ๋ฐ˜ํ•œ ๋ฃฐ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์žฅ์„ ํ† ํฐ์œผ๋กœ ์ชผ๊ฐ ๋‹ค. ๋‘๋ฒˆ์งธ ๊ณผ์ •์ธ tokenization training phase๋Š” ํ† ํฌ๋‚˜์ด์ €๋ฅผ ํ•™์Šตํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋กœ ๊ธฐ๋ณธ ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์„œ๋ธŒ์›Œ๋“œ ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‹จ์–ด๋ฅผ ์ชผ๊ฐค ๋•Œ ๊ธฐ๋ณธ ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐ ๋‹ค
์ด ๋ฐ”์ดํŠธ์Œ ์ธ์ฝ”๋”ฉ์— ๊ธฐ๋ฐ˜ํ•œ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ BertTokenizerFast ๋ชจ๋“ˆ๋กœ ์ œ๊ณต๋œ๋‹ค.

3.5.1 ๋ฐ”์ดํŠธ์Œ ์ธ์ฝ”๋”ฉ (byte-pair encoding)

์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™”๋กœ ์–ธ๋…ธ์šด ํ† ํฐ ๋ฌธ์ œ์˜ ์ƒ๋‹น์ˆ˜๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์™„์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ์€ ์•„๋‹ˆ์—ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์–ธ๋…ธ์šด ํ† ํฐ ๋ฌธ์ œ๋ฅผ ๋” ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ด๋Š” ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ ์ด์Šค ๋‹จ์–ด๋ฅผ ์ถ”๊ฐ€๋กœ ๋Š˜๋ ค์ฃผ๋ฉด ํ•ด๊ฒฐ๋˜๋Š” ๋ฌธ์ œ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‹จ์–ด๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ด๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ•œ๊ฐ€์ง€ ๋ฌธ์ œ์— ๋ด‰์ฐฉํ•œ๋‹ค
๋‹จ์–ด๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๊ฑฐ์˜ ๋ฌดํ•œ๋Œ€๋กœ ๋Š˜์–ด๋‚œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋‹จ์–ด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ ์ฐจ์›์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ๋ฐ–์— ์—†๊ณ  ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ํ•™์Šต๋น„์šฉ์ด ๋Š˜์–ด๋‚œ๋‹ค. ๋”ฐ๋ผ์„œ ์–ด๋– ํ•œ ๋‹จ์–ด๊ฐ€ ์–ธ๋…ธ์šด ์›Œ๋“œ๋กœ ์ž…๋ ฅ๋ ์ง€๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ๊ทธ์— ๋งž๋Š” ์ตœ์†Œํ•œ์˜ ๋‹จ์–ด๋งŒ ์ƒ์„ฑํ•˜๋Š” ์ „๋žต์ด ํ•„์š”ํ•˜๋‹ค. ์‚ฌ์‹ค ์–ด๋– ํ•œ ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ฌ์ง€๋Š” ํ™•๋ฅ ์  ๊ธฐ๋ฐ˜์— ๊ทผ๊ฑฐํ•˜์—ฌ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํ•ฉ๋ฆฌ์ ์ด๋‹ค. ๋ฐ”์ดํŠธ์Œ ์ธ์ฝ”๋”ฉ ์ „๋žต์€ ์ž์ฃผ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ๋ฌถ์–ด ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋‹จ์ˆœํ•œ ์ „๋žต์ด๋‹ค. ์ด ๊ณผ์ •์€ n-gram์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ˆ˜ํ–‰๋œ๋‹ค
์ด๋Ÿฌํ•œ BPE ํ† ํฌ๋‚˜์ด์ง• ๋ฐฉ๋ฒ•๋ก ์€ GPT-2 ๋“ฑ์˜ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

3.5.2 wordPiece ํ† ํฐํ™”

์›Œ๋“œํ”ผ์Šค๋Š” BERT, ELECTRA ๋“ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐํ™” ๊ธฐ๋ฒ•์ด๋‹ค. ์›Œ๋“œํ”ผ์Šค๋Š” 2012๋…„์— ๋‚˜์นด์ง€๋งˆ์— ์˜ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ ์‚ฌ๋žŒ์ด ์ผ๋ณธ์ธ์ธ ๋งŒํผ ๊ทธ๋Š” ์ผ๋ณธ์–ด์˜ ์Œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ† ํฐํ™” ํ…Œํฌ๋‹‰์„ ๊ณ ์•ˆํ•˜์˜€๋‹ค. ๋งŽ์€ ์•„์‹œ์•„ ์–ธ์–ด์—์„œ ๋‹จ์–ด๋ฅผ ์กฐ๊ฐํ™” ํ•˜๋Š” ๊ณผ์ •์€ ์–ด๋ ต๋‹ค. ์ผ๋ณธ์–ด์ฒ˜๋Ÿผ ๋„์–ด์“ฐ๊ธฐ ์ž์ฒด๊ฐ€ ์—†๋Š” ์–ธ์–ด๋„ ์žˆ๊ณ , ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์žˆ๋”๋ผ๋„ ํ•œ๊ตญ์–ด์ฒ˜๋Ÿผ ์ž˜ ์ง€์ผœ์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋ฉฐ ํ•œ๊ตญ์–ด์ฒ˜๋Ÿผ ์€๋Š”์ด๊ฐ€ ๋“ฑ์˜ ์กฐ์‚ฌ๊ฐ€ ๋ถ™๋Š”๊ฒฝ์šฐ ๊ทธ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์ผ์ผ์ด ๋Œ€์‘ํ•˜์—ฌ ํ† ํฐํ™”ํ•˜๋Š” ์ž‘์—…์€ ์–ด๋ ต๋‹ค. BPE์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์›Œ๋“œํ”ผ์Šค๋Š” ๋Œ€๊ทœ๋ชจ ์ฝ”ํผ์Šค๋ฅผ ํ•™์Šต์— ์ด์šฉํ•˜๊ณ  ๊ทœ์น™์„ ๋ณ‘ํ•ฉํ•œ๋‹ค (์ดํ•ด๊ฐ€ ์•ˆ๋จ). BPE๊ฐ€ ๋ณ‘ํ•ฉ๊ทœ์น™(merging rules)์„ ํ•™์Šตํ•  ๋•Œ co-occurrence ํ†ต๊ณ„์— ๊ธฐ๋ฐ˜ํ•˜๋Š” ๋ฐ˜๋ฉด ์›Œ๋“œํ”ผ์Šค๋Š” ์ตœ๋Œ€๊ฐ€๋Šฅ๋„ ๋ฐฉ๋ฒ•(maximum likelihood estimation)์— ์˜์กดํ•œ๋‹ค

3.5.3 Sentence Piece ํ† ํฐํ™”

sentence piece ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ผ๋ณธ์–ด ๋“ฑ ๋‹จ์–ด์™€ ๋‹จ์–ด์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์—†๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. SentencePiece๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ชจ๋ธ๋กœ๋Š” XLNet, T5๋“ฑ์ด ์žˆ๋‹ค. ์ƒ์„ธ ๋‚ด์šฉ์€ SentencePiece ์†Œ๊ฐœ๋…ผ๋ฌธ์„ ์ฐธ์กฐํ•˜๋ผ

3.5.4 ํ† ํฌ๋‚˜์ด์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ—ˆ๊น…ํŽ˜์ด์Šค ํŒ€์€ transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€๋Š” ๋ณ„๊ฐœ์˜ ํ† ํฌ๋‚˜์ด์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ rust๋กœ ๋งŒ๋“ค์–ด์กŒ๊ณ  ๋žฉํ•‘๋˜์–ด ํŒŒ์ด์ฌ์˜ tokenizer ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ œ๊ณต๋œ๋‹ค ํ† ํฌ๋‚˜์ด์ €์˜ ํŒŒ์ดํ”„๋ผ์ธ์€ ์ด 5์Šคํƒญ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค

  1. ์ •๊ทœํ™” : ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋“ฑ์˜ ์ •๊ทœํ™” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค
  2. pre-tokenizer : ์ฝ”ํผ์Šค๋ฅผ ๊ณต๋ฐฑ๋ฌธ์ž ๋“ฑ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.
  3. ๋ชจ๋ธ ํ•™์Šต : BPE๋“ฑ์˜ ์„œ๋ธŒ์›Œ๋“œ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค
  4. ํ›„์ฒ˜๋ฆฌ : ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์ด ์ˆ˜ํ–‰๋œ๋‹ค. CLS๋‚˜ SEPํ† ํฐ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค
  5. ๋””์ฝ”๋” : ๋””์ฝ”๋”๋Š” ํ† ํฐ ์•„์ด๋””๋ฅผ ์›๋ž˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด๋Š” ๋ณ€ํ™˜์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์กฐ์‚ฌํ•˜๋Š” ์šฉ๋„๋กœ ์“ฐ์ธ๋‹ค

์ดํ›„ BPE์™€ wordpice ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์ด์šฉํ•œ ์‹ค์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค ํ—ˆ๊น…ํŽ˜์ด์Šค์˜ ํ† ํฌ๋‚˜์ด์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜๋ผ

3.6 ์š”์•ฝ

์ด๋ฒˆ ์žฅ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์•˜๋‹ค

  1. ์ธ์ฝ”๋”ฉ ๋ชจ๋ธ์„ ์ด๋ก ์ ์œผ๋กœ ์•Œ์•„๋ณด๊ณ  ์‹ค์Šต์„ ํ–ˆ๋‹ค
  2. BERT์˜ ๊ธฐ๋ณธ์„ ๋ฐฐ์šฐ๊ณ  ํ† ํฌ๋‚˜์ด์ €๋ฅผ ํ›ˆ๋ จํ–ˆ๋‹ค
  3. keras๋“ฑ์˜ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ–ˆ๋‹ค
  4. BERT์˜ ํŠธ๋ ˆ์ด๋‹ ๊ณผ์ •์—์„œ WordPiece ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•™์Šตํ–ˆ๋‹ค
  5. WordPiece์™ธ์˜ ๋ฐ”์ดํŠธํŽ˜์–ด ์ธ์ฝ”๋”ฉ ๋“ฑ์˜ ๊ธฐํƒ€ ๋‹ค๋ฅธ ํ† ํฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์‚ดํŽด๋ณด์•˜๋‹ค.

4์žฅ. ๋””์ฝ”๋” (Autoregressive and Other Language Models)

์ด๋ฒˆ์žฅ์€ ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ ๋””์ฝ”๋” ๊ณ„์ธต์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Auto-regressive (AR)์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค
AR์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” GPT-2๋ชจ๋ธ์ด ์žˆ๋‹ค
๊ตฌ์ฒด์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์€ ์•„๋ž˜์˜ 5๊ฐ€์ง€๋‹ค

  1. ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋” ํ•จ๊ป˜์“ฐ๊ธฐ
  2. seq2seq ๋ชจ๋ธ ์‚ฌ์šฉํ•˜๊ธฐ
  3. ์ธ์ฝ”๋” ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ธฐ
  4. AR๋ชจ๋ธ์„ ์จ์„œ ์ž์—ฐ์–ด ์ƒ์„ฑ(NLG)ํ•˜๊ธฐ
  5. simpletransformers ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ๋ฝ์š”์•ฝ ํ…Œ์Šคํฌ ์ˆ˜ํ–‰ํ•˜๊ธฐ

4.1 AR๋ชจ๋ธ ์†Œ๊ฐœ (Working with AR language models)

4.1.1 GPT ๋ชจ๋ธ์˜ ๊ฐœ๋…๊ณผ ํ•™์Šต (Introduction and training models with GPT)

๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜๋ฉด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š”๋ฐ ์ด๋•Œ ์ „์ฒด ๋‹จ์–ด์— ๋Œ€ํ•œ ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•˜๋Š” ๋ชจ๋ธ์ด GPT์ด๋‹ค.
์ด๋“ค์€ 2๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค
์ฒซ๋‹จ๊ณ„๋Š” PRE-TRAIN์ด๋‹ค. ์ด๋Š” ๋น„์ง€๋„ pre-train์ด๋‹ค.
๋‘๋ฒˆ์งธ๋Š” fine-tune์ด๋‹ค. ์ด๋Š” supervised fine-tune์ด๋‹ค. ์ด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์€์–‘์˜ ๋ฐ์ดํ„ฐ๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

GPT-2์™€ GPT-3์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋น„์Šทํ•˜๋‹ค. ๋‹ค๋งŒ ํŒŒ๋ผ๋ฉ”ํ„ฐ ์ˆ˜๊ฐ€ 100๋ฐฐ ์ฆ๊ฐ€๋˜์—ˆ๋‹ค. GPT-3๋Š” ๊ทธ๋ผ๋””์–ธํŠธ ๊ธฐ๋ฐ˜์˜ ํŒŒ์ธํŠœ๋‹ ์—†์ด pre-train๋งŒ์œผ๋กœ ๋”๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ–ˆ๋‹ค.

4.1.2 Transformer-XL

์ด ๋ชจ๋ธ์€ ๊ธฐ์กด์˜ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ๋“ค์˜ ์ž…๋ ฅ์ด ๊ณ ์ •๊ธธ์ด ๊ธฐ๋ฐ˜์ด๋ผ๋Š” ๋ฌธ์ œ์—์„œ ์ถœ๋ฐœํ•œ๋‹ค. ์ด๋“ค ๋Œ€๋ถ€๋ถ„์€ ์ž…๋ ฅ์„ ์ตœ๋Œ€ 512๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋ถ„๋ฆฌํ•˜๋Š”๋ฐ ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ์งฆ์€ ํƒ“์— ๊ธด ๋ฌธ์žฅ์˜ ์ปจํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ๋‹ด์ง€ ๋ชปํ•œ๋‹ค๋Š” ํƒœ์ƒ์  ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์ •๊ธธ์ด ๊ธฐ๋ฐ˜์˜ ๋ฌธ์žฅ์€ ์ ˆ๋ฐ˜์ค‘ ์ „๋ฐ˜์„ ์ดˆ๋ฐ˜ ์ปจํ…์ŠคํŠธ๋กœ ์ƒ์ •ํ•˜๊ณ  ์ ˆ๋ฐ˜์ค‘ ํ›„๋ฐ˜์„ ํ›„๋ฐ˜ ์ปจํ…์ŠคํŠธ๋กœ ์ƒ์ •ํ•˜๋Š” ๋ถˆํ•ฉ๋ฆฌํ•œ ๊ฐ€์ •ํ•˜์— ํ…Œ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‹ค์‹œ๋งํ•ด ๋ฌธ์žฅ์˜ ๋ฐ”์šด๋”๋ฆฌ๋ฅผ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์ƒ์„ฑํ•ด ๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ž˜์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ฌธ์žฅ์˜ ์ปจํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ ๊ณ ์‹ฌํ•˜์—ฌ ๊ณ ์•ˆํ•ด ๋‚ธ ๊ฒƒ์ด ์žฌ๊ท€(recurrence) ๊ธฐ๋ฐ˜์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์‚ฌ์‹ค ์žฌ๊ท€ ๊ธฐ๋ฐ˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ด๋ฏธ ํ† ํฐ ์ƒ์„ฑ์‹œ์— ์ด์ „ ํ† ํฐ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™œ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๊ทธ๋ ‡๊ฒŒ ์ฐธ์‹ ํ•œ ๊ฐœ๋…์€ ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐœ์ƒ์„ ์กฐ๊ธˆ ๋” ํ™•๋Œ€ํ•ด์„œ ์ด์ „์— ์ž…๋ ฅ๋œ ๋ฌธ์žฅ, ์ฆ‰ ์ด์ „์— ์ž…๋ ฅ๋œ ์„ธ๊ทธ๋จผํŠธ์˜ ์ปจํ…์ŠคํŠธ ์ •๋ณด๋„ ์ฐธ์กฐํ•˜๋Š” ์‹์œผ๋กœ ๊ฐœ๋…์„ ํ™•์žฅํ•œ ๊ฒƒ์ด๋‹ค.
์ƒ์„ธ ๋‚ด์šฉ์€ ๋” ์ž˜ ์ •๋ฆฌ๋œ ๋ธ”๋กœ๊ทธ์˜ ๊ธฐ์‚ฌ๋ฅผ ์ฐธ์กฐํ•˜๋ผ

4.1.3 XLNet

๋งˆ์Šคํฌ ๋ชจ๋ธ์€ pre-train๋‹จ๊ณ„๋ฅผ ์žฅ์•…ํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋งˆ์Šคํฌ๋œ ํ† ํฐ์€ pre-train๋‹จ๊ณ„์—๋Š” ์žˆ์ง€๋งŒ fine-tune๋‹จ๊ณ„์—๋Š” ์—†๋‹ค. ๋”ฐ๋ผ์„œ pre-train๊ณผ fine-tune ์‚ฌ์ด์—๋Š” ๋ถˆ์ผ์น˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ด ๋ถˆ์ผ์น˜ ๋•Œ๋ฌธ์— pre-train์—์„œ ํ•™์Šตํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์  ๋•Œ๋ฌธ์— XLNet์€ ๊ธฐ์กด์˜ ๋งˆ์Šคํฌ ๋ชจ๋ธ์„ ๊ฐœ๋Ÿ‰ํ•˜์—ฌ pre-train๋‹จ๊ณ„์—์„œ ํ•™์Šตํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ๋„ํ•˜์˜€๋‹ค. XLNet์€ ๋งˆ์Šคํฌ ๋ชจ๋ธ์„ permuted ์–ธ์–ด ๋ชจ๋ธ (Permuted Language Modeling, PLM)๋กœ ๋Œ€์ฒดํ•œ๋‹ค. ์ด๋Š” ์ž…๋ ฅ ํ† ํฐ๋“ค์„ ๋žœ๋คํ•˜๊ฒŒ ์žฌ๋ฐฐ์—ดํ•˜์—ฌ ์ž…๋ ฅ์œผ๋กœ ์ง‘์–ด๋„ฃ๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ† ํฐ์˜ ์œ„์น˜๊ฐ€ ๋ชจ๋“  ํฌ์ง€์…˜์˜ ๋ฌธ๋งฅ์  ์ •๋ณด๋ฅผ ์ด์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๋ฐ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ ํ† ํฐ๋ณ„๋กœ ์–‘๋ฐฉํ–ฅ ์ปจํ…์ŠคํŠธ์˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์บก์ณํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค XLNet์€ ์ผ๋ฐ˜ํ™”๋œ AR๋ชจ๋ธ์ด์ง€๋งŒ AR๊ณผ AE์˜ ์žฅ์ ์ด ๊ฒฐํ•ฉ๋œ ์ผ์ข…์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. XLNet์ด ์ด ๋‘๊ฐ€์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฒฐํ•ฉํ•œ ์ด์œ ๋Š” AR๊ณผ AE์˜ ๋ชจ๋“  ์žฅ์ ์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. AE๋ชจ๋ธ ์—์„œ๋Š” 2์ŠคํŠธ๋ฆผ ๊ธฐ๋ฐ˜์˜ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ•˜์˜€๊ณ  AR๋ชจ๋ธ ์—์„œ๋Š” Transformer-XL ๋ชจ๋ธ์˜ ์„ธ๊ทธ๋จผํŠธ ๋ ˆ๋ฒจ ์žฌ๊ท€ ๋ฉ”์ปค๋‹ˆ์ฆ˜(segment-level recurrence mechanism)์„ ๋„์ž…ํ•˜์˜€๋‹ค ์ด๋ ‡๊ฒŒ ๋‘๊ฐ€์ง€ ํŒŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ XLNet์€ ์ผ๋ฐ˜ํ™”๋œ AR๋ชจ๋ธ์ด๋ฏ€๋กœ ๋‹ค์–‘ํ•œ ์ˆ˜๋‹จ์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.\

4.2 seq2seq์˜ ๊ฐœ๋…๊ณผ ๋ชจ๋ธ ์†Œ๊ฐœ (Working with Seq2Seq models)

T5, BART, PEGASUS ๋“ฑ์€ ๋Œ€ํ‘œ์ ์ธ seq2seq ๋ชจ๋ธ์ด๋‹ค
์ด๋ฒˆ ์žฅ์€ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ seq2seq ๋ชจ๋ธ์ธ T5์™€ BART์˜ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•˜๊ณ  ์‹ค์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค

4.2.1.T5

T5๋Š” ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋ฅผ ๊ฒฐํ•ฉํ•œ unifying framework์ด๋‹ค. ์ž…๋ ฅ๊ฐ’์— prefix๋ฅผ ์ง‘์–ด๋„ฃ์–ด ์˜๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
prefix์˜ ์˜ˆ๋กœ๋Š” โ€˜์š”์•ฝโ€™, โ€˜์˜์–ด๋กœ ๋ฒˆ์—ญโ€™ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.
T5๋ชจ๋ธ์˜ ์‹ค์Šต์€ 4.4์ ˆ์˜ ๋ฌธ์žฅ ์ƒ์„ฑํ•˜๊ธฐ์—์„œ ์ง„ํ–‰ํ•œ๋‹ค

4.2.2 BART๋ž€?

BART์—ญ์‹œ AR๊ณผ AE๋ชจ๋ธ์„ ๋‘˜๋‹ค ์ด์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ผ์ข…์ด๋‹ค. ํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœํ–ˆ๋‹ค
์ด๋ฒˆ ์žฅ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ค๋ฃฌ๋‹ค

  1. BART์˜ ๊ฐœ๋…
  2. BART์˜ ๊ฐ„๋‹จํ•œ ์‹ค์Šต. ํ—ˆ๊น…ํŽ˜์ด์Šค ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ด๋ฏธ ํ•™์Šต๋œ BART ๋ชจ๋ธ์ธ summarization์„ ๋ถˆ๋Ÿฌ์™€ ์˜์–ด ๋ฌธ์žฅ์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์š”์•ฝ์ด ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰๋˜๋Š”์ง€ ์‹ค์Šตํ•ด๋ณธ๋‹ค

4.3 ํ•™์Šตํ•˜๊ธฐ (AR language model training)

GPT-2 ๋ชจ๋ธ์„ pre-trainํ•˜๋Š” ๊ณผ์ •์„ ์‹ค์Šตํ•œ๋‹ค

4.4 [์‹ค์Šต] AR๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์žฅ ์ƒ์„ฑํ•˜๊ธฐ (Natural Language Generate, NLG)

์ด๋ฒˆ ์žฅ์€ pre-train๋œ GPT-2๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•ด๋ณธ๋‹ค

4.5 [์‹ค์Šต] simpletransformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ฒˆ์—ญํ•˜๊ธฐ (Summarization and MT fine-tuning using simpletransformers)

์ด๋ฒˆ ์žฅ์€ Simple Transformers๋ผ๋Š” ์ด๋ฆ„์˜ T5 ๊ตฌํ˜„์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ธ์–ด๊ฐ„ ๋ฒˆ์—ญ์„ ์‹ค์Šตํ•œ๋‹ค ํ•™์Šต๋œ T5๋ชจ๋ธ์— ์˜์–ด ๋ฌธ์žฅ์„ ์ง‘์–ด๋„ฃ์œผ๋ฉด ํ„ฐํ‚ค์–ด๋กœ ๋ฒˆ์—ญ์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ํ™•์ธํ•œ๋‹ค

4.6 ์š”์•ฝ (Summary)

5์žฅ. fine-tune for classifier (๋ถ„๋ฅ˜์šฉ ํŒŒ์ธํŠ )

์ด๋ฒˆ์žฅ์€ ๋‹ค์Œ์„ ๋‹ค๋ฃฌ๋‹ค

  1. BERT๋กœ ์ด์ง„๋ถ„๋ฅ˜ fine-tuneํ•˜๊ธฐ
  2. ๋ถ„๋ฅ˜๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ธฐ
  3. BERT๋กœ ๋‹ค์ค‘๋ถ„๋ฅ˜ํ•˜๊ธฐ
  4. BERT๋กœ ๋ฌธ์žฅ-์Œ์„ regressionํ•˜๊ธฐ

6์žฅ. fine-tune for token classification

6.1 ํ† ํฐ ๋ถ„๋ฅ˜(token classification) ์†Œ๊ฐœ

6.2 fine-tuneํ•˜๊ธฐ (NER์„ ์œ„ํ•œ)

6.3 ํ† ํฐ ๋ถ„๋ฅ˜๋ฅผ ํ†ตํ•œ Q&A

7์žฅ. text representation (์›Œ๋“œ ์ž„๋ฒ ๋”ฉ or ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ)

text representation์€ ๋น„์ง€๋„ ํ•™์Šต์—์„œ ์ค‘์š”ํ•˜๋‹ค. ์ด ์ž‘์—…์€ Representing sentences๋ผ๊ณ  ํ•œ๋‹ค. ์ด ์ž‘์—…์€ ํŠน์ˆ˜ํ•œ ์—”์ฝ”๋”๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด Siamese BERT๋“ฑ์ด๋‹ค. text representation์œผ๋กœ ์ œ๋กœ์ƒท ๋Ÿฌ๋‹๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. few-shot ๋Ÿฌ๋‹๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. one-shot ๋Ÿฌ๋‹๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

7.1 sentence embedding ์†Œ๊ฐœ

BERT๋Š” ํšจ์œจ์ ์ธ ์ž„๋ฒ ๋”ฉ์„ ํ• ์ˆ˜์—†๋‹ค. ํ•ญ์ƒ fine-tune์„ ์š”๊ตฌํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด pre-trained BERT๋Š” ๋ถ„๋ฆฌ๋ถˆ๊ฐ€๋Šฅํ•œ ์ „์ฒด์ด๊ณ  ์‹œ๋ฉ˜ํ‹ฑ์€ ๋ชจ๋“  ๋”ฅ๋Ÿฌ๋‹ ๋ ˆ์ด์–ด์— ๊ฑธ์ณ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋น„์ง€๋„ํ•™์Šต์ด ์–ด๋ ต๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋งŽ์€ ๋ฌธ์žฅ ์Œ์„ ํ‰๊ฐ€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด๋งŽ์•„ ์‹ค์งˆ์ ์œผ๋กœ๋Š” ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
BERT์˜ ๋ณ€ํ˜•์ธ Sentence BERT๋Š” ์˜๋ฏธ๋ก ์ ์œผ๋กœ ์œ ์˜๋ฏธํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์ด๋‹ค (์ดํ•ด๋ถˆ๊ฐ€). ๋ฒกํ„ฐ๊ณต๊ฐ„์—์„œ ๋ฌธ์žฅ๊ฐ„์˜ ์œ ์˜๋ฏธ์„ฑ์„ ํ‰๊ฐ€ํ• ๋•Œ๋Š” ์ฝ”์‚ฌ์ธ ํ•จ์ˆ˜๋ฅผ ์“ฐ๊ณ  ๋ถˆ์ผ์น˜์„ฑ์„ ํ‰๊ฐ€ํ• ๋•Œ๋Š” ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ๋ฅผ ์“ด๋‹ค.

text representation์ด๋ž€ sentence embeddings์ด๋‹ค.

7.2 ๋ฌธ์žฅ์œ ์‚ฌ๋„ ์‹คํ—˜ (FLAIR๋ฅผ ํ†ตํ•œ)

7.3 ํ…์ŠคํŠธ ํด๋Ÿฌ์Šคํ„ฐ๋ง (Sentence-BERT๋ฅผ ํ†ตํ•œ)

7.4 ์‹œ๋ฉ˜ํ‹ฑ ๊ฒ€์ƒ‰ (Sentence-BERT๋ฅผ ํ†ตํ•œ)

8์žฅ. ํšจ์œจ์ ์ธ ํŠธ๋žœ์Šคํฌ๋จธ

distillation(์ฆ๋ฅ˜), pruning(๊ฐ€์ง€์น˜๊ธฐ), quantization(์ •๋Ÿ‰ํ™”)๋ฅผ ์ด์šฉํ•˜๋ฉด ํšจ์œจ์ ์ธ ๋ชจ๋ธ์„ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค
sparse transformers์— ๋Œ€ํ•ด ๋ฐฐ์šธ๊ฒƒ์ด๋‹ค.
sparse transformers์— ์˜ˆ๋กœ๋Š” BigBird๊ฐ€ ์žˆ๋‹ค.
๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด์ž.
์ด ์žฅ์€ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ํ™˜๊ฒฝ์—์„œ ํ•™์Šตํ• ๋•Œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ๋‹ค๋ฃฌ๋‹ค
DistilBERT๋Š” distillation๋œ BERT์ด๋‹ค. ์ฆ๋ฅ˜๋œ ๋ชจ๋ธ์€ ๋”์šฑ ๊ฐ€๋ณ๋‹ค. attention dot product์˜ 4์ฐจ์›์  ๋ณต์žก์„ฑ ๋ฌธ์ œ๋กœ ๊ธด ๋ฌธ์žฅ์„ ์ž‘์—…ํ•˜๋Š”๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. BigBird๋Š” ๋ณต์žก์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ํ•™์Šต์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•ด์ค€๋‹ค
์ด๋ฒˆ ์žฅ์—์„œ ๋ฐฐ์šธ ๋‚ด์šฉ

  1. ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ํŠธ๋žœ์Šคํฌ๋จธ
  2. ๋ชจ๋ธ ํฌ๊ธฐ ์ค„์ด๊ธฐ
  3. ํšจ์œจ์ ์ธ self-attention (BigBird๊ฐ™์€ ๋ชจ๋ธ๋“ค)

8.1 ๋„์ž…๋ถ€ : ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅธ ํŠธ๋žœ์Šคํฌ๋จธ

8.2 ๋ชจ๋ธ ์‚ฌ์ด์ฆˆ ๊ฐ์†Œ ๊ตฌํ˜„ํ•˜๊ธฐ

8.3 ํšจ์œจ์ ์ธ ์…€ํ”„์–ดํ…์…˜ ๊ตฌํ˜„ํ•˜๊ธฐ

9์žฅ. ์ด์ข…์–ธ์–ด๊ฐ„ ๋ชจ๋ธ

๋‹ค์Œ์€ ๊ธฐ์กด ๋ชจ๋ธ์˜ ์ด์ข…์–ธ์–ดํŒ์ด๋‹ค
Multilingual Bidirectional Encoder Representations from Transformers (mBERT)

Multilingual Text-to-Text Transfer Transformer (mT5)

Multilingual Bidirectional and Auto-Regressive Transformer (mBART)

๋ฐ˜๋ฉด Cross-linual Language ๋ชจ๋ธ์€ ์„ค๊ณ„๋‹จ๊ณ„๋ถ€ํ„ฐ ์ด์ข…์–ธ์–ด๊ฐ„ ๋ชจ๋ธ์„ ์—ผ๋‘ํ•˜๊ณ  ์ œ์ž‘๋˜์—ˆ๋‹ค

Byte-Pair Encoding (BPE)์ด ํ† ํฐํ™”๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์ด์ข…์–ธ์–ด๊ฐ„์˜ ํŽ˜์–ด ์ธ์ฝ”๋”ฉ์ด๋‹ค.

9.1 ๋ฒˆ์—ญ ๋ชจ๋ธ

์–ธ์–ด๋ชจ๋ธ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค
MLM : Masked Language Modeling (๋งˆ์Šคํ‚น)
CLM : Causal Language Modeling (์ธ๊ณผ๊ด€๊ณ„)
CLM์€ ๋ฌธ์žฅ์ƒ์„ฑ๊ธฐ ์ด๋‹ค.

TLM : Translation Language Modeling (๋ฒˆ์—ญ)
๋ฒˆ์—ญ ๋ชจ๋ธ์€ Mask ๋ชจ๋ธ์˜ ๋ณ€ํ˜•ํŒ์ด๋‹ค.
2๊ฐœ์˜ ๊ฐ๊ฐ ๋‹ค๋ฅธ๊ตญ๊ฐ€ ์–ธ์–ด์˜ ๋ฌธ์žฅ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋ฌธ์žฅ์€ ๋žœ๋ค์œผ๋กœ ๋‹จ์–ด๊ฐ€ ๋งˆ์Šคํฌ๋˜์–ด ์žˆ๋‹ค. ๋งˆ์Šคํฌ ๋œ ํ† ํฐ์„ ์ž๊ตญ์–ด๋กœ ์ถ”๋ก ํ•œ๋‹ค. ์ด๊ฒŒ ์ „๋ถ€๋‹ค.

9.2 XLM & mBERT

mBERT๋Š” ๋‹ค์–ธ์–ด ๋ชจ๋ธ์ด๋‹ค. ์ด๋Š” ๋งˆ์Šคํฌ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
๋ฐ˜๋ฉด XLM์€ MLM, CLM, TLM๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

9.2.1 mBERT

104๊ฐœ ๋‹ค๊ตญ์  ์–ธ์–ด๋กœ ํ•™์Šต๋˜์—ˆ๋‹ค.
๋‹จ์  : ์–ธ์–ด๊ฐ„ 1:1 ๋งตํ•‘์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
์–ธ์–ด๊ฐ„ ๋งตํ•‘์„ ํ•˜๋ ค๋ฉด ์ง€๋„ํ•™์Šต์„ ์ถ”๊ฐ€๋กœ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค

9.2.2 XLM

B-pair-E ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ† ํฐ์ด ๊ณต์œ ๋˜๋Š” ์ด์œ  : ๊ณต์œ ๋œ ํ† ํฐ์€ ๋” ์ ์€์ˆ˜์˜ ํ† ํฐ์„ ์ œ๊ณตํ•œ๋‹ค (์–ธ์–ด๊ฐ„ ํ† ํฐ์„ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ ‡๋‹ค.). ๋ฐ˜๋ฉด ๋™์Œ์ด์˜์–ด๋„ ์žˆ๋‹ค. ์šด์ข‹๊ฒŒ๋„ self-attention์€ ์ด์ข…์–ธ์–ด์˜ ๊ฐ™์€ ์Œ์ ˆ์˜ ๋‹จ์–ด์˜ ๋œป์„ ๊ตฌ๋ถ„ํ•ด์ค€๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published