Transformer - ynjch97/YNJCH_WIKI GitHub Wiki

๐Ÿค– Transformer

  • ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜ (www.elastic.co)
    • ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM): ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (= ์ดˆ๊ฑฐ๋Œ€์–ธ์–ด๋ชจ๋ธ)
    • LLM โŠƒ Transformer โŠƒ BERT, GPT, ...
  • ์˜ํ–ฅ๋ ฅ
    • ๊ธฐ๊ณ„ ๋ฒˆ์—ญ, ์งˆ์˜์‘๋‹ต, ํ…์ŠคํŠธ ์ƒ์„ฑ ๋“ฑ ๊ด‘๋ฒ”์œ„ํ•œ ๋ถ„์•ผ์—์„œ State-of-the-Art ๋‹ฌ์„ฑ
    • ์ด๋ฏธ์ง€, ์Œ์„ฑ ๋“ฑ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ(Multimodal) AI๋กœ ํ™•์žฅ
    • ์—ฐ๊ตฌ ๋ฐ ์‚ฐ์—… ํ˜„์žฅ์—์„œ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€ ์•„ํ‚คํ…์ฒ˜๋กœ ์ž๋ฆฌ ์žก์Œ

๐Ÿ”ถ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

  • RNN, LSTM ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์˜ ํ•œ๊ณ„
    • ์žฅ๊ธฐ ์˜์กด์„ฑ(Long-term dependencies) ๋ฌธ์ œ
    • ์ˆœ์ฐจ ์ฒ˜๋ฆฌ๋กœ ์ธํ•ด ๋ณ‘๋ ฌํ™”๊ฐ€ ์–ด๋ ค์›€
    • ํ…์ŠคํŠธ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก ํ•™์Šต ํšจ์œจ๊ณผ ์„ฑ๋Šฅ ์ €ํ•˜
  • Attention ๋งค์ปค๋‹ˆ์ฆ˜์˜ ๋“ฑ์žฅ
    • ํŠน์ • ์‹œ์ ์˜ ์ž…๋ ฅ์— ์ง‘์ค‘(๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ)
    • ๋ฒˆ์—ญ(Sequence-to-Sequence) ๋ฌธ์ œ์—์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ
    • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ โ†’ ํ•™์Šต ์†๋„ ๋ฐ ํšจ์œจ ๊ฐœ์„ 
  • Attention Is All You Need (2017)
    • Google Brain ํŒ€์˜ ๋…ผ๋ฌธ
    • ์™„์ „ํ•œ Attention ๊ตฌ์กฐ๋งŒ์œผ๋กœ RNNยทCNN ์—†์ด๋„ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
    • Self-Attention ์„ ํ†ตํ•œ ๋ฌธ๋งฅ ์ดํ•ด์™€ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ทน๋Œ€ํ™”

๐Ÿ”ธ Sequence-to-Sequence ๋ชจ๋ธ ๋“ฑ์žฅ (2014)

  • ์ฃผ์š” ์ธ๋ฌผ: Sutskever, Vinyals, Le (RNN ์ธ์ฝ”๋”-๋””์ฝ”๋” ๊ธฐ๋ฐ˜)
  • ๋‹ค์ธต LSTM์œผ๋กœ ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ๊ณ ์ • ๊ธธ์ด ๋ฒกํ„ฐ๋กœ ์ธ์ฝ”๋”ฉ ํ›„, LSTM ๋””์ฝ”๋”๋กœ ๋””์ฝ”๋”ฉ
  • ์ตœ์ดˆ๋กœ end-to-end ํ•™์Šต์„ ํ†ตํ•œ ๊ธฐ๊ณ„๋ฒˆ์—ญ ์‹œ๋„
  • Cho ๋“ฑ: GRU ์ œ์•ˆ โ†’ ๊ฒŒ์ดํŠธ ๋งค์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ ์™„ํ™”

๐Ÿ”ธ Attention ๋งค์ปค๋‹ˆ์ฆ˜ ๋„์ž… (2015)

  • ์ฃผ์š” ์ธ๋ฌผ: Bahdanau, Cho, Bengio
  • RNN ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์— Attention ๋„์ž…
  • ์ธ์ฝ”๋”์˜ ์€๋‹‰ ์ƒํƒœ๋ฅผ ๊ฐ€์ค‘ํ•ฉ์‚ฐํ•ด ๋””์ฝ”๋”๊ฐ€ ๋™์ ์œผ๋กœ ์ปจํ…์ŠคํŠธ ๋ฒกํ„ฐ ๊ณ„์‚ฐ
  • ๋ฒˆ์—ญ ํ’ˆ์งˆ ๋ฐ ์ •๋ณด ์ง‘์ค‘๋ ฅ ํ–ฅ์ƒ

๐Ÿ”ธ Transformer ๋“ฑ์žฅ (2017)

  • ์ฃผ์š” ์ธ๋ฌผ: Vaswani ๋“ฑ (๊ตฌ๊ธ€)
  • "Attention Is All You Need" ๋…ผ๋ฌธ ๋ฐœํ‘œ
  • Self-Attention, Multi-Head Attention, ํฌ์ง€์…”๋„ ์ธ์ฝ”๋”ฉ ๋„์ž…
  • RNN/CNN ๋Œ€์ฒด โ†’ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ, ๋น ๋ฅธ ํ•™์Šต, ๊ธด ๋ฌธ์žฅ์—์„œ๋„ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ
  • ์ดํ›„ BERT, GPT ๋“ฑ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ์˜ ํ† ๋Œ€ ๋งˆ๋ จ

๐Ÿ”ถ ๊ตฌ์กฐ

  • ์ธ์ฝ”๋”(Encoder): ์ž…๋ ฅ ์‹œํ€€์Šค์˜ ํŠน์ง• ์ถ”์ถœ
  • ๋””์ฝ”๋”(Decoder): ์ธ์ฝ”๋” ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด ์ถœ๋ ฅ ์‹œํ€€์Šค ์ƒ์„ฑ
  • Multi-Head Attention, Position-wise Feed Forward ๋“ฑ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ

๐Ÿ”ถ ๋ชจ๋ธ

  • BERT (2018): ์–‘๋ฐฉํ–ฅ ํ•™์Šต์œผ๋กœ ๋ฌธ๋งฅ ์ดํ•ด ๊ฐ•ํ™”
  • GPT: ์ƒ์„ฑ(Generative) ๋ชจ๋ธ ๋ถ„์•ผ ํ˜์‹ 
  • T5, RoBERTa, XLNet ๋“ฑ ๋‹ค์–‘ํ•œ ๋ณ€ํ˜•ยท๊ฐœ์„  ๋ชจ๋ธ ๋“ฑ์žฅ

๐Ÿค– BERT

  • Bidirectional Encoder Representations from Transformers
  • ์ž์—ฐ์–ด์ดํ•ด(NLU)์— ํŠนํ™”
  • ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋” ๊ตฌ์กฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‹ต์Šต
  • ๊ธฐ์กด์˜ ์–ธ์–ด ๋ชจ๋ธ: ๋Œ€๋ถ€๋ถ„ ๋‹จ๋ฐฉํ–ฅ์ ์ธ ํ•™์Šต (์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋˜๋Š” ๊ทธ ๋ฐ˜๋Œ€๋กœ๋งŒ ํ…์ŠคํŠธ๋ฅผ ์ฝ์Œ)
  • BERT๋Š” ์ฃผ๋ณ€์˜ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ์•ž๋’ค ์–‘๋ฐฉํ–ฅ์—์„œ ๋™์‹œ์— ํŒŒ์•…ํ•˜๋ฏ€๋กœ, ๋‹จ์–ด๋‚˜ ๊ตฌ๋ฌธ์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ชจ๋ธ ํ•™์Šต ๊ณผ์ •์—์„œ ๋งˆ์Šคํฌ๋œ ์–ธ์–ด ๋ชจ๋ธ๋ง(Masked Language Modeling) ๋ฐฉ์‹์„ ์‚ฌ์šฉ
    • ํ…์ŠคํŠธ์˜ ์ผ๋ถ€ ๋‹จ์–ด๋ฅผ ๋ฌด์ž‘์œ„๋กœ ๊ฐ€๋ฆฌ๊ณ (Mask), ๊ทธ ๋งˆ์Šคํฌ๋œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ํ˜•ํƒœ
  • ํŠธ๋žœ์Šคํฌ๋จธ์™€ ๋™์ผํ•˜๊ฒŒ ๋ฏธ์„ธ์กฐ์ •(fine-tuning)์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ํƒœ์Šคํฌ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ
  • ์งˆ๋ฌธ ์‘๋‹ต(QA) ์‹œ์Šคํ…œ, ๊ฐ์ • ๋ถ„์„, ๊ฐœ์ฒด๋ช… ์ธ์‹(NER) ๋“ฑ
  • ๋งค๊ฐœ๋ณ€์ˆ˜(parameter): BERT์˜ ๊ธฐ๋ณธ ๋ชจ๋ธ์ธ BERT-base๋Š” ์•ฝ 1.1์–ต ๊ฐœ, ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•œ BERT-large๋Š” ์•ฝ 3.4์–ต ๊ฐœ
  • GPT๊ฐ€ ์ปค๋ฒ„ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ๋งฅ ํŒŒ์•… ๊ด€๋ จ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰

๐Ÿค– GPT

  • Generative Pre-trained Transformer
  • ์ž์—ฐ์–ด์ƒ์„ฑ(NLG)์— ํŠนํ™”
  • Transformer ์•„ํ‚คํ…์ฒ˜ ์ค‘ ๋””์ฝ”๋”(decoder) ๋ถ€๋ถ„๋งŒ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌ์ถ•
  • ์ฃผ์–ด์ง„ ์ž…๋ ฅ ํ…์ŠคํŠธ์— ๋Œ€ํ•ด ์ ์ ˆํ•œ ๋‹ค์Œ ํ…์ŠคํŠธ(๋˜๋Š” ๋‹จ์–ด)๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ํŠนํ™”๋œ ๋ชจ๋ธ
  • 2022๋…„ 11์›” OpenAI์—์„œ ๋ฐœํ‘œํ•œ ์ฑ—GPT์˜ ๊ธฐ์ดˆ ๋ชจ๋ธ์ธ GPT-3.5์˜ ๋ผˆ๋Œ€๊ฐ€ ๋˜๋Š” ์–ธ์–ด ๋ชจ๋ธ
  • ์ดˆ๊ฑฐ๋Œ€์–ธ์–ด๋ชจ๋ธ(LLM)๊ณผ ์ƒ์„ฑํ˜• ์ธ๊ณต์ง€๋Šฅ์ด๋ผ๋Š” ํŠธ๋ Œ๋“œ๋ฅผ ์ฃผ๋„
  • ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์ „ํ•™์Šต(pre-training)์„ ์ง„ํ–‰ -> ํŠน์ • ํƒœ์Šคํฌ์— ๋Œ€ํ•ด ๋ฏธ์„ธ ์กฐ์ •(fine-tuning)์„ ์ ์šฉํ•˜์—ฌ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
    • ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ํƒœ์Šคํฌ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ
  • ๋Œ€ํ™”ํ˜• ์‹œ์Šคํ…œ, ์Šคํ† ๋ฆฌ ์ƒ์„ฑ, ํ…์ŠคํŠธ ์™„์„ฑ ๋“ฑ
  • OpenAI: 2018๋…„ GPT-1์„ ์‹œ์ž‘์œผ๋กœ ๋งค๋…„ GPT๋ฅผ ๊ธฐ๋ฐ˜ ์ž์‚ฌ์˜ ๊ธฐ์ดˆ๋ชจ๋ธ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋ฐœํ‘œ
    • ๋งค๊ฐœ๋ณ€์ˆ˜(parameter)๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ํ•™์Šต์šฉ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค์–‘ํ™”

GPT-1

  • ๋ฐœํ‘œ ์—ฐ๋„: 2018๋…„ (OpenAI)
  • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜: ์•ฝ 1.17์–ต ๊ฐœ
  • ๋ชจ๋ธ ๊ตฌ์กฐ: Transformer๊ธฐ๋ฐ˜, 12๊ฐœ ๋””์ฝ”๋” ๋ ˆ์ด์–ด
  • ํ•™์Šต ๋ฐ์ดํ„ฐ: BookCorpus(์•ฝ 7,000๊ถŒ, 4.5GB์˜ ํ…์ŠคํŠธ)
  • ์ฃผ์š” ์„ฑ๊ณผ: Zero-shot ํ•™์Šต์˜ ๊ฐ€๋Šฅ์„ฑ ์ œ์‹œ

GPT-2

  • ๋ฐœํ‘œ ์—ฐ๋„: 2019๋…„ (OpenAI)
  • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜: ์•ฝ 15์–ต ๊ฐœ (GPT-1 ๋Œ€๋น„ 10๋ฐฐ ์ฆ๊ฐ€)
  • ํ•™์Šต ๋ฐ์ดํ„ฐ: WebText (์•ฝ 45๋งŒ ์›นํŽ˜์ด์ง€, 40GB ํ…์ŠคํŠธ)
  • ์ฃผ์š” ํŠน์ง•: ๋ชจ๋ธ ๊ทœ๋ชจ ํ™•์žฅ์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP)์ž‘์—… ์„ฑ๋Šฅ ํ–ฅ์ƒ

GPT-1๊ณผ GPT-2 ๋น„๊ต

  • ๊ณตํ†ต์ : Transformer ๋””์ฝ”๋” ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ
  • ์ฐจ์ด์ : GPT-2๋Š” ๋” ๊นŠ๊ณ  ๋„“์€ ๊ตฌ์กฐ๋กœ ํ‘œํ˜„๋ ฅ ๊ฐ•ํ™”, ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ์ฆ๊ฐ€๋กœ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ ํ–ฅ์ƒ

GPT-3 ๋ชจ๋ธ

  • ๋ฐœํ‘œ ์—ฐ๋„: 2020๋…„ (OpenAI)
  • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜: ์•ฝ 1,750์–ต ๊ฐœ (GPT-2 ๋Œ€๋น„ ์•ฝ 100๋ฐฐ ์ฆ๊ฐ€)
  • ํ•™์Šต ๋ฐ์ดํ„ฐ: Common Crawl, Wikipedia ๋“ฑ ์ˆ˜๋ฐฑ GB์˜ ๋ฐ์ดํ„ฐ
  • ์ฃผ์š” ํŠน์ง•
    • Few-shot ๋ฐ Zero-shot ํ•™์Šต์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ ๋ฐœํœ˜
    • ๋Œ€๊ทœ๋ชจ Transformer ๋””์ฝ”๋” ๊ตฌ์กฐ
    • ์Šค์ผ€์ผ ์ฆ๊ฐ€๋กœ ์ธํ•œ ๋งฅ๋ฝ ์ดํ•ด ๋Šฅ๋ ฅ ๊ฐ•ํ™”
  • ์‘์šฉ ์‚ฌ๋ก€: ์ฐฝ์˜์ ์ธ ํ…์ŠคํŠธ ์ƒ์„ฑ, ์งˆ๋ฌธ-๋‹ต๋ณ€, ์ž๋™ ๋ฒˆ์—ญ, ์ฝ”๋“œ ์ƒ์„ฑ

๐Ÿ”ถ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ ํ•™์Šต์˜ ๊ธฐ์ˆ ์  ํ•œ๊ณ„์ 

  • ๊ณ„์‚ฐ ์ž์›์˜ ํ•œ๊ณ„
    • GPT-3 ๋ชจ๋ธ ํ•™์Šต์— ์ˆ˜์ฒœ ๊ฐœ์˜ GPU ๋ฐ TPU ํ•„์š”
    • ๋ง‰๋Œ€ํ•œ ์ „๋ ฅ ์†Œ๋ชจ ๋ฐ ๋น„์šฉ ๋ถ€๋‹ด (์ˆ˜๋ฐฑ๋งŒ ๋‹ฌ๋Ÿฌ ๋‹จ์œ„์˜ ํ•™์Šต ๋น„์šฉ)
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฌธ์ œ
    • ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทœ๋ชจ(์ˆ˜๋ฐฑ์–ต~์ˆ˜์ฒœ์–ต)๋กœ ์ธํ•œ GPU ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„ ์ดˆ๊ณผ ๋ฌธ์ œ
    • ๋‹จ์ผ GPU์—์„œ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›€

๐Ÿ”ถ ๊ธฐ์ˆ ์  ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  • ๋ถ„์‚ฐ ํ•™์Šต (Distributed Training)
    • ์—ฌ๋Ÿฌ GPU์— ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๋Š” ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•
    • ์˜ˆ: Data Parallelism, Model Parallelism, Pipeline Parallelism
  • ํšจ์œจ์  ์ตœ์ ํ™” ๊ธฐ๋ฒ•
    • Mixed-precision ํ•™์Šต (FP16 ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ)
    • Gradient Accumulation (์ ์ง„์  ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€๋‹ด ์™„ํ™”)
    • Checkpointing ๋ฐ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ํ™œ์šฉ

๐Ÿ”ถ ์„ฑ๊ณผ

  • ์ž์—ฐ์–ด ์ƒ์„ฑ ๋ฐ ์ดํ•ด ๋Šฅ๋ ฅ ํ–ฅ์ƒ
    • ์‚ฌ๋žŒ๊ณผ ์œ ์‚ฌํ•œ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฌธ์žฅ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜์˜ ๋†’์€ ์ˆ˜์ค€์˜ ์งˆ๋ฌธ-๋‹ต๋ณ€, ๋ฒˆ์—ญ, ์š”์•ฝ ์„ฑ๋Šฅ
  • ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ ํ™•์žฅ
    • ๋Œ€ํ™”ํ˜• ์ธ๊ณต์ง€๋Šฅ(ChatGPT), ์ž๋™ ์ฝ”๋“œ ์ƒ์„ฑ(Codex)
    • ์ฝ˜ํ…์ธ  ์ƒ์„ฑ, ๊ณ ๊ฐ ์„œ๋น„์Šค ์ž๋™ํ™”, ์ฐฝ์˜์  ๊ธ€์“ฐ๊ธฐ

๐Ÿ”ถ ํ•œ๊ณ„์ 

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

๐Ÿค– Self-Attention(์…€ํ”„ ์–ดํ…์…˜)

  • ์ •์˜
    • ์ž…๋ ฅ ์‹œํ€€์Šค ๋‚ด ๊ฐ ๋‹จ์–ด๊ฐ€ ๋ชจ๋“  ๋‹จ์–ด๋“ค๊ณผ ์ƒํ˜ธ ์ฐธ์กฐ(Attention)
    • ์ค‘์š”ํ•œ ๋‹จ์–ด(์ •๋ณด)์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋งค์ปค๋‹ˆ์ฆ˜
    • Long-Range Dependencies(์žฅ๊ฑฐ๋ฆฌ ์˜์กด์„ฑ) ํ•ด๊ฒฐ, ๋ณ‘๋ ฌ ์—ฐ์‚ฐ ๊ฐ€๋Šฅ
  • ์ดˆ๊ธฐ์˜ ์–ดํ…์…˜ ๋งค์ปค๋‹ˆ์ฆ˜
    • Query์™€ Key๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ ๊ฐ€์ ธ์˜ด
    • ์„œ๋กœ ๋‹ค๋ฅธ ์ •๋ณด์ธ Query์™€ Key๋กœ๋ถ€ํ„ฐ Attention Score๋ฅผ ๊ณ„์‚ฐ
    • ์˜ˆ: ๊ธฐ๊ณ„ ๋ฒˆ์—ญ ์ž‘์—…์—์„œ ํ‚ค๋Š” ํ•œ ์–ธ์–ด์˜ ํ…์ŠคํŠธ ์ฝ”ํผ์Šค์—์„œ, ์ฟผ๋ฆฌ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ๊ฐ€์ ธ์˜ด / ์Œ์„ฑ ์ธ์‹ ์ž‘์—…์—์„œ ์ฟผ๋ฆฌ๋Š” ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ์ด๊ณ  ํ‚ค๋Š” ํ•ด๋‹น ์˜ค๋””์˜ค๋ฅผ ์ „์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์ž„
  • Self-Attention(์…€ํ”„ ์–ดํ…์…˜)
    • Query, Key, Value ๋ชจ๋‘ ๋™์ผํ•œ ์†Œ์Šค์—์„œ ๊ฐ€์ ธ์˜ด
    • Matrix Multiplication ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ฐธ๊ณ ํ•˜์—ฌ Attention Score๋ฅผ ๊ณ„์‚ฐ
    • ์ •๋ณด ์ „์ฒด์˜ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ„์‚ฐ (ffighting.net)

RNN ์ˆœ์ฐจ์ฒ˜๋ฆฌ์˜ ํ•œ๊ณ„

  • ๊ธด ๋ฌธ์žฅ, ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ
  • Self-Attention: ๋ชจ๋“  ๋‹จ์–ด ๊ฐ„ ๊ด€๊ณ„๋ฅผ ๋™์‹œ์— ๊ณ ๋ ค
  • Self-Attention์€ ๋‹จ์–ด ์ˆœ์„œ์— ๋”ฐ๋ฅธ ์˜๋ฏธ ๋ณ€ํ™” ํฌ์ฐฉ์— ์œ ๋ฆฌ(๋งฅ๋ฝ์  ๋™์  ํŒŒ์•…)

๐Ÿ”ถ Attention

  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์—์„œ ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ์ด ๋†’์€ ๋ถ€๋ถ„์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌ(๋˜๋Š” ์ฃผ์˜)ํ•˜๋„๋ก ์ง€์‹œํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ• (www.ibm.com)
  • ์ž‘์—…์— ๋Œ€ํ•œ ์ž…๋ ฅ ์‹œํ€€์Šค์˜ ๊ฐ ๋ถ€๋ถ„์˜ ์ƒ๋Œ€์  ์ค‘์š”์„ฑ์„ ๋ฐ˜์˜ํ•˜๋Š” ์–ดํ…์…˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ„์‚ฐ -> ํ•ด๋‹น ์–ดํ…์…˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์ž…๋ ฅ์˜ ๊ฐ ๋ถ€๋ถ„์˜ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ๊ฐ์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ์ฆ๊ฐ€(๋˜๋Š” ๊ฐ์†Œ)์‹œํ‚ด
  • ์ฃผ๋กœ LLM๊ณผ ๊ด€๋ จ ์žˆ์Œ (์š”์•ฝ, ์งˆ๋ฌธ ๋‹ต๋ณ€, ํ…์ŠคํŠธ ์ƒ์„ฑ ๋ฐ ๊ฐ์ • ๋ถ„์„๊ณผ ๊ฐ™์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ์ž‘์—…์— ์‚ฌ์šฉ)

๐Ÿ”ถ Query, Key, Value (Q,K,V)

  • Query(Q): ํ˜„์žฌ ๊ด€์‹ฌ์„ ๊ธฐ์šธ์ด๋Š” ๋Œ€์ƒ ๋ฒกํ„ฐ
    • ์˜ˆ: ๊ฒ€์ƒ‰์ฐฝ์— ์ž…๋ ฅํ•œ ์งˆ์˜์–ด์— ํ•ด๋‹น
  • Key(K): ๊ฐ ๋‹จ์–ด(ํ† ํฐ)์˜ ์‹๋ณ„ ๋ฒกํ„ฐ(์ •๋ณด ์ œ๋ชฉ) / Query์™€ ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ์žˆ๋Š”์ง€(score) ํŒ๋‹จ์— ์“ฐ์ž„
  • Value(V): ์‹ค์ œ ์ •๋ณด(๋‚ด์šฉ) ๋ฒกํ„ฐ/ Attention ์Šค์ฝ”์–ด๋กœ ๊ฐ€์ค‘ํ•ฉํ•  ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ
  • Q์™€ K์˜ ๋‚ด์ ์œผ๋กœ ์œ ์‚ฌ๋„(AttentionScore) ๊ณ„์‚ฐ โ†’ V ๊ฐ€์ค‘ํ•ฉ ๋ฐ˜์˜

๐Ÿค– ์šฉ์–ด ์ •๋ฆฌ

๐Ÿ”ถ Dependencies

  • ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์ž…๋ ฅ ๊ฐ„์˜ ๊ด€๊ณ„(์˜์กด์„ฑ)
  • ๋ฏผ์ง€๋Š” ํ•™๊ต์— ๊ฐ”๊ณ , 5์‹œ๊ฐ„ ํ›„์— ๊ทธ๋…€๋Š” ์ง‘์— ๋Œ์•„์™”๋‹ค.
    • ๊ทธ๋…€๊ฐ€ ๋ฏผ์ง€๋ฅผ ์ง€์นญํ•˜๋Š” ๊ฑธ ์ดํ•ดํ•˜๋ ค๋ฉด, ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋‹จ์–ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

๐Ÿ”ธ Long-Term Dependencies

  • ์‹œ๊ฐ„(Time) ๊ด€์ ์— ๊ฐ€๊นŒ์›€ -> ์˜ˆ์ „ ์ƒํƒœ(state) ์ •๋ณด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์œ ์ง€๋˜๋Š”๊ฐ€
  • ์‚ฌ์šฉ ๋ถ„์•ผ: RNN, LSTM ๊ฐ™์€ ์‹œ๊ณ„์—ด ๋ชจ๋ธ
  • ์˜ˆ์‹œ: ์˜ˆ์ „ ๋ฌธ์žฅ์˜ ์˜๋ฏธ๋ฅผ ๋ช‡ ์‹œ์  ๋’ค๊นŒ์ง€ ๊ธฐ์–ตํ•˜๋Š” ๋Šฅ๋ ฅ

๐Ÿ”ธ Long-Range Dependencies

  • ์œ„์น˜(Position) ํ˜น์€ ๊ฑฐ๋ฆฌ ๊ด€์  -> ๋–จ์–ด์ ธ ์žˆ๋Š” ๋‘ ๋‹จ์–ด/์š”์†Œ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ํฌ์ฐฉํ•˜๋Š”๊ฐ€
  • ์‚ฌ์šฉ ๋ถ„์•ผ: Transformer, Attention ๋ชจ๋ธ ๋“ฑ
  • ์˜ˆ์‹œ: ์ž…๋ ฅ ๋ฌธ์žฅ ๋‚ด ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋‹จ์–ด ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ธ์‹ํ•˜๋Š” ๋Šฅ๋ ฅ

๐Ÿ”ถ pre-training(์‚ฌ์ „ ํ•™์Šต)

  • ๋ชฉ์ : ์–ธ์–ด์˜ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด, ๋ฌธ๋ฒ•, ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ํ•™์Šต
  • ๋ฐฉ๋ฒ•: ๋Œ€๊ทœ๋ชจ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์…‹(์˜ˆ: BookCorpus, CommonCrawl) ์‚ฌ์šฉ
  • Auto-regressive ๋ฐฉ์‹์œผ๋กœ ๋‹ค์Œ ํ† ํฐ ์˜ˆ์ธก (์˜ˆ์‹œ: "์ด ๋ฌธ์žฅ์€ ..." ์ดํ›„ ๋‹จ์–ด ์˜ˆ์ธก)

๐Ÿ”ถ fine-tuning

  • ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ํŠน์ • ์ž‘์—…(์งˆ๋ฌธ ๋‹ต๋ณ€, ๋ฒˆ์—ญ, ์š”์•ฝ ๋“ฑ)์— ๋งž๊ฒŒ ์ถ”๊ฐ€ ํ•™์Šต
  • ํšจ๊ณผ: ๋ชจ๋ธ์ด ํŠน์ • ๋„๋ฉ”์ธ์ด๋‚˜ ๊ณผ์ œ์— ์ตœ์ ํ™”๋˜์–ด ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ์˜ˆ์‹œ: ChatGPT, Codex ๋“ฑ ์‘์šฉ ์‚ฌ๋ก€

๐Ÿ”ถ Auto-regressive

  • Auto-regressive ๋ชจ๋ธ์˜ ์›๋ฆฌ: ์ด์ „์˜ ๋ชจ๋“  ํ† ํฐ(๋ฌธ๋งฅ)์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์Œ ํ† ํฐ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์˜ˆ์ธก
    • ์˜ˆ: ์–ธ์–ด ๋ชจ๋ธ์—์„œ ๋ฌธ์žฅ์ด๋‚˜ ๋‹จ์–ด ์‹œํ€€์Šค๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ƒ์„ฑ
  • Auto-regressive ๋ฐฉ์‹ ๋•๋ถ„์— GPT๋Š” ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ƒ์„ฑ ์ž‘์—…์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฉฐ, pre-training๊ณผ fine-tuning์„ ํ†ตํ•ด ๋‹ค๋ชฉ์  ์‘์šฉ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘

๐Ÿ”ธ ํ•™์Šต ๋ฐฉ๋ฒ•

  • Teacher Forcing ๋ฐฉ์‹
    • ์‹ค์ œ ์ •๋‹ต(ground truth) ํ† ํฐ์„ ์ž…๋ ฅ์œผ๋กœ ์ œ๊ณตํ•˜๋ฉฐ ํ•™์Šต
    • ์žฅ์ : ๋น ๋ฅธ ํ•™์Šต ๋ฐ ์•ˆ์ •์  ์ˆ˜๋ ด ๊ฐ€๋Šฅ
    • ๋‹จ์ : ํ•™์Šต๊ณผ ์‹ค์ œ ์ƒ์„ฑ ๊ณผ์ •์˜ ์ฐจ์ด ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์กด์žฌ
  • ์ถœ๋ ฅ ๋ถ„ํฌ์™€ Softmax ํ•จ์ˆ˜
    • ๋ชจ๋ธ์€ ์ถœ๋ ฅ ์ธต์—์„œ Softmax ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๋‹จ์–ด์˜ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์˜ˆ์ธก
    • ๊ฐ€์žฅ ํ™•๋ฅ ์ด ๋†’์€ ๋‹จ์–ด๊ฐ€ ์„ ํƒ๋จ

๐Ÿ”ธ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ•

  • Greedy Decoding
    • ๋งค ๋‹จ๊ณ„ ๊ฐ€์žฅ ๋†’์€ ํ™•๋ฅ ์˜ ๋‹จ์–ด ์„ ํƒ
    • ์žฅ์ : ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จ
    • ๋‹จ์ : ๋‹จ์กฐ๋กญ๊ณ  ๋‹ค์–‘์„ฑ ๋ถ€์กฑํ•œ ๋ฌธ์žฅ ์ƒ์„ฑ
  • Beam Search
    • ๋™์‹œ์— ์—ฌ๋Ÿฌ ํ›„๋ณด ๋ฌธ์žฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒ์„ฑ
    • ์žฅ์ : ๋” ๋‚˜์€ ํ’ˆ์งˆ์˜ ๋ฌธ์žฅ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • ๋‹จ์ : ๊ณ„์‚ฐ ๋น„์šฉ ์ฆ๊ฐ€, ๋ฐ˜๋ณต ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ
  • Top-k, Top-p (Nucleus) ์ƒ˜ํ”Œ๋ง
    • ํ™•๋ฅ  ๋ถ„ํฌ ๋‚ด ์ƒ์œ„ ํ›„๋ณด์—์„œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ
    • ์žฅ์ : ๋‹ค์–‘ํ•˜๊ณ  ์ฐฝ์˜์ ์ธ ๋ฌธ์žฅ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • ๋‹จ์ : ๋•Œ๋•Œ๋กœ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Œ

๐Ÿ”ธ ์žฅ์ 

  • ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ์ผ๊ด€๋œ ํ…์ŠคํŠธ ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • ๋ฌธ๋งฅ์— ๋”ฐ๋ฅธ ์กฐ๊ฑด๋ถ€ ์˜ˆ์ธก์œผ๋กœ ๋†’์€ ์œ ์ฐฝ์„ฑ ์ œ๊ณต
  • Few-shot, Zero-shot ํ•™์Šต์—์„œ ๋›ฐ์–ด๋‚œ ์‘์šฉ์„ฑ
    • ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋‚˜ ์„ค๋ช…๋งŒ์œผ๋กœ๋„ ํŠน์ • ์ž‘์—… ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ (GPT-3 ์‚ฌ๋ก€)

๐Ÿ”ธ ๋‹จ์ 

  • ๊ธด ๋ฌธ์žฅ ์ƒ์„ฑ ์‹œ ๋ˆ„์  ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ (๋ฐ˜๋ณต ๋ฐ ์ •๋ณด ๋ˆ„๋ฝ ๋ฌธ์ œ)
  • ์ƒ์„ฑ ๊ณผ์ • ์ˆœ์ฐจ์  ์˜ˆ์ธก์œผ๋กœ ์ธํ•œ ๊ณ„์‚ฐ ๋น„์šฉ ์ฆ๊ฐ€ (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์–ด๋ ค์›€)

๐Ÿ”ธ ์ฃผ์š” ์‘์šฉ ๋ถ„์•ผ

  • ์ฐฝ์˜์ ์ธ ํ…์ŠคํŠธ ์ƒ์„ฑ (์Šคํ† ๋ฆฌ, ๋งˆ์ผ€ํŒ… ์ฝ˜ํ…์ธ )
  • ๋Œ€ํ™”ํ˜• AI์„œ๋น„์Šค (์ฑ—๋ด‡, ๊ณ ๊ฐ ์„œ๋น„์Šค ๋“ฑ)
  • ์ž๋™ ๋ฒˆ์—ญ, ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑ, ์š”์•ฝ ์„œ๋น„์Šค

์‘์šฉ ์‚ฌ๋ก€

  • ChatGPT: ๋Œ€ํ™”ํ˜• ์‘์šฉ ์‚ฌ๋ก€ (์ผ์ƒ ๋Œ€ํ™”, ๊ณ ๊ฐ ์‘๋Œ€ ๋“ฑ)
  • Codex (GitHub Copilot): ์ž๋™ ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์› ์‚ฌ๋ก€
  • ์ฝ˜ํ…์ธ  ์ œ์ž‘: ๋ธ”๋กœ๊ทธ, ๋งˆ์ผ€ํŒ… ์ฝ˜ํ…์ธ  ์ž๋™ํ™” ์‚ฌ๋ก€ ๋“ฑ

๐Ÿ”ถ ZSL(Zero-Shot Learning, ์ œ๋กœ์ƒท ํ•™์Šต)

  • ์‚ฌ์ „์— ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ๋‚˜ ๊ฐœ๋…์˜ ์˜ˆ์ œ๋ฅผ ๋ณด์ง€ ์•Š๊ณ ๋„ ๊ฐ์ฒด๋‚˜ ๊ฐœ๋…์„ ์ธ์‹ํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜๋„๋ก AI ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ๋จธ์‹  ๋Ÿฌ๋‹ ์‹œ๋‚˜๋ฆฌ์˜ค (www.ibm.com)
  • ๊ธฐ๊ณ„ ํ•™์Šต์˜ ํ•œ ๋ถ„์•ผ๋กœ, ๋ชจ๋ธ์ด ํ•™์Šต ๊ณผ์ •์—์„œ ๋ณธ ์ ์ด ์—†๋Š” ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ  (wikidocs.net)