π κ΅λ΄ 'μΈκ³΅μ§λ₯' μμ μ ν΅ν΄ 곡λΆν λ΄μ©μ μ 리ν κ²μ λλ€.
β https://ratsgo.github.io/nlpbook/docs/language_model/transformers/
Summary
β¨ Transformer
κΈ°κ³ λ²μ(machine translation) λ± μνμ€-ν¬-μνμ€(sequence-to-sequence) κ³Όμ λ₯Ό μννκΈ° μν λͺ¨λΈ
βΎ Attention is all you need : Encoder + Decoder block
βΎ encoder λΆλΆμμ λ³λ ¬μ μΌλ‘ λ¬Έμ₯μ λͺ¨λ λ¨μ΄λ₯Ό λμμ μ²λ¦¬νλ€.
βΎ μλκ° λΉ λ₯΄κ³ λͺ¨λ λ§₯λ½μ μ λΆ attention νλ―λ‘ κΈ°κ³λ²μ μ±λ₯λ μ’μμ§
β¨ BERT
βΎ Pre-training of Deep Bidirectional Transforemrs
βΎ encoder λΆλΆλ§ μ°¨μ©
βΎ Pre-training
- maked language model π self supervised learning
- next sentence prediction π supervised learning
β¨ GPT
βΎ Generative Pre-training Transforemrs
βΎ decoder λΆλΆλ§ μ°¨μ© → BERTμ λ¬λ¦¬ μμ°¨μ ꡬ쑰λ₯Ό κ°μ§λ€.
βΎ Next word prediction μΌλ‘ μ¬μ νλ ¨λ λͺ¨λΈλ‘ fine-tuning κ³Όμ μ BERTμ μ μ¬νλ€ .
π κ°μ νλΌλ―Έν° κ°μ λλΉ BERT μ±λ₯μ΄ λ μ’μ
π μ΄κ±°λ AI λ₯Ό λ§λλλ° μμ΄μλ GPT κ° λ μ 리ν ꡬ쑰
Recap
β¨ seq2seq
- νΉμ μμ±μ μ§λ μνμ€λ₯Ό λ€λ₯Έ μμ±μ μνμ€λ‘ λ³ννλ μμ
- κΈΈμ΄κ° λ¬λΌλ ν΄λΉ κ³Όμ λ₯Ό μννλ λ° λ¬Έμ κ° μμ΄μΌνλ€.
- λͺ¨λΈμ ꡬ쑰λ λκ² μΈμ½λ-λμ½λ ννΈλ‘ ꡬμ±λλ€.
β¨ Attention
βΎ Encoder → context vector → Decoder π information bottleneck problem π ν΄κ²°μ± : Attention
βΎ μ 체 λ¬Έλ§₯μ λͺ¨λ κ³ λ €ν΄ κ·Έ μ€μμ νΉλ³ν μ°κ΄μ±μ΄ λμ λ¨μ΄λ€μ μ£ΌμκΉκ² 보λ λ°©λ² → assign higher weights
βΎ decoder μͺ½ RNN(LSTM) μ μ΄ν μ μ μΆκ°νλ€.
βΎ νκΉ μΈμ΄λ₯Ό λμ½λ©ν λ μμ€ μΈμ΄μ λ¨μ΄ μνμ€ κ°μ΄λ° λμ½λ©μ λμμ΄ λλ λ¨μ΄λ€ μμ£Όλ‘ μ ννμ¬ λ²μ νμ§μ λμ΄μ¬λ¦°λ€. μ¦, attention μ λμ½λ©ν λ μμ€ μνμ€ κ°μ΄λ° μ€μν μμλ₯Ό μΆλ¦°λ€.
1. Attention Score
2. Attention Distribution
3. Attention Value
- h3 μ λμλλ wearing μ΄λΌλ λ¨μ΄μ attention value C3 λ₯Ό μ»λλ€.
- κ° λ¨μ΄μ λν΄ C1,C2,C3 λ± attention value λ₯Ό μ»λ κ³Όμ μ λ°λ³΅
4. Calculate Output
1οΈβ£ Transformer
π νμ¬ μμ°μ΄ μ²λ¦¬ κ΄λ ¨ μΈκ³΅μ§λ₯μ ꡬννλ λ° μμ΄ λλΆλΆ μ°μ΄κ³ μλ ꡬ쑰
π BERT, GPT κ°μ΄ μμ°μ΄μ²λ¦¬λ₯Ό μν κ±°λ NN λ€μ΄ transformer λͺ¨λΈμ κΈ°λ°μΌλ‘ νκ³ μλ€.
β Attention is general technique
π λ²μ©μ μΌλ‘ μ¬μ© κ°λ₯ν λͺ¨λΈκ΅¬μ‘°
- κΈ°κ³λ²μμμ Attention μ΄ ν° μ±λ₯ κ°μ μ 보μ¬μ£Όμλ€.
- κ·Έλ¬λ CNN μ ν¬ν¨ν λ§μ λͺ¨λΈ ꡬ쑰μ λν΄μλ Attention μ μ¬μ©ν μ μλ€.
π μΌλ°μ μΈ μ μ
- Value vector, Query vector λ₯Ό ν΅ν΄ weighted sum κ°μ μ»λλ€.
- weighted sum Value λ₯Ό ν΅ν΄ Query μ dependent ν attention μ μ°Ύλλ€. (compute a weighted sum of values dependent on the query)
- Query κ° value μ attend νλ€κ³ λ§ν μ μλ€.
π κΈ°κ³λ²μ
- Query : λ²μνκ³ μ νλ λ¨μ΄ (h3)
- Value : κ° λ¨μ΄μ λμλλ attention κ°λ€ (z1,z2,z3,z4)
- attention κ°λ€μ weighted sum νμ¬ attention score λ₯Ό μ»μ
π weighted sum : value μ ν¬ν¨λ μ 보λ₯Ό μ νμ μΌλ‘ μμ½
- The weighted sum is a selective summary of the information contained in the values where the query determines which values to focus on
- β query κ° μ΄λ€ value μ μ§μ€ν΄μΌ ν μ§λ₯Ό μ νκ² λλ€.
β‘ Transformer : Attention is All You Need
π κΈ°μ‘΄μ κΈ°κ³λ²μ : RNN(LSTM) + Attention ꡬ쑰
β RNN λΆλΆμ μ κ±°νκ³ attention λ§ κ°μ§κ³ κΈ°κ³λ²μμ μνν μ μμκΉμ λν μ°κ΅¬ → Transformers
1) Model Architecture
π Get rid of the sequential parts : RNN κ³Ό κ°μ΄ μμ°¨μ μΌλ‘ μ²λ¦¬νλ λΆλΆμ λͺ¨λ μ κ±°νμ¬ μ°μ°μλλ₯Ό λμΈλ€.
- Transformer λ μμ°¨μ μΈ ννμ κ°λ μ λ³λ ¬μ μΌλ‘ λμμ μ²λ¦¬νλ€
- μμ°¨μ μΈ μ λ ₯μ λ°λΌ μμ°¨μ μΌλ‘ μ°μ°μ μ§ννλ RNN κ΅¬μ‘°λ³΄λ€ μ°μ°μλκ° ν¨μ¬ λΉ¨λΌμ§ μ μκ² λλ€
π Encoder - Decoder with only attention and fully-connected layers π no recurrence or convolutions
- μμ°¨μ μ°μ°μ νμλ‘ νλ recurrence layer λ νΉμ Conv layer κ° νμ μλ€.
- multi-head attention + feed forward (=fully connected) λ§ κ°μ§κ³ μ°μ°μ μν
π (Encoder - Decoder) x N stacks
- Encoder-decoder κ΅¬μ‘°κ° N κ° λ§νΌ μμΈ νν
- Encoder λ input μ λν΄ μμ°¨μ°μ°μ μννμ§ μμ§λ§, decoder λ μμ°¨μ°μ° (λ¬Έμ₯μ μΌμͺ½μμλΆν° μ€λ₯Έμͺ½μΌλ‘ decoding) μ μννλ€.
π Encoder 3κ°μ§ ꡬμ±μμ
- Self-attention (multi head attention)
- positional encoding
- layer normalization
- add & Norm : λ€μ΄μ€λ input κ³Ό multi-head attention output μ add ν΄μ£Όκ³ normalization μ°μ°μ ν΄μ€
- feed forward = fully connected
π νΈλμ€ν¬λ¨Έμ νμ΅(train)μ μΈμ½λμ λμ½λ μ λ ₯μ΄ μ£Όμ΄μ‘μ λ λͺ¨λΈ μ΅μ’ μΆλ ₯μμ μ λ΅μ ν΄λΉνλ λ¨μ΄μ νλ₯ κ°μ λμ΄λ λ°©μμΌλ‘ μνλλ€.
2) Self Attention
π ex. μΈμ½λ λΈλ‘ λ΄λΆμμλ 'κ±°κΈ°' λΌλ λ¨μ΄λ₯Ό μΈμ½λ©ν λ, 'μΉ΄ν', 'κ°μμ΄' λΌλ λ¨μ΄μ μλ―Έλ₯Ό κ°μ‘°ν΄ λ°μνλ€.
π decoder, RNN μμ΄ μκΈ° μμ μ λν΄ attention μ μννλ€.
- κ°λ³ λ¨μ΄μ μ 체 μ λ ₯ μνμ€λ₯Ό λμμΌλ‘ μ΄ν μ μ μνν΄ λ¬Έλ§₯ μ 체λ₯Ό κ³ λ €νλ€. μμΈλ¬ λͺ¨λ λ¨μ΄μμ κ²½μ°μ μλ₯Ό κ³ λ €νλ―λ‘ μνμ€ κΈΈμ΄κ° κΈΈμ΄μ Έλ μ 보λ₯Ό μμ μΌλ €κ° μλ€.
- μ΄ν μ μ νκΉ μΈμ΄λ₯Ό 1κ° μμ±ν λ 1ν μννλ ꡬ쑰μ΄μ§λ§, μ ν μ΄ν μ μ μΈμ½λ, λμ½λ, λΈλ‘μ κ°μλ§νΌ λ°λ³΅μννλ€.
π input : sequence of vectors
π output: sequence of vectors, each one a weighted sum of the input sequence
- x1 κ³Ό x2 μ λ΄μ κ³± π λ¨μ΄ κ° μ μ¬λ κ³μ°
β https://towardsdatascience.com/self-attention-5b95ea164f61
π μ λ ₯ λ¬Έμ₯ λ΄μ λ¨μ΄λ€λΌλ¦¬ μ μ¬λλ₯Ό ꡬν΄, it νΉμ The μ κ°μ₯ μ°κ΄μλ λ¨μ΄λ₯Ό μ΄ν΄λ³Έλ€.
3) Query, Key, Value
π Input vector λ 3κ°μ§ λ°©μμΌλ‘ μ°μΈλ€.
- Query : μ΄λ€ 벑ν°μ λν attention μ κ³μ°ν κ²μΈκ°
- Key : attention weight λ₯Ό κ³μ°νκΈ° μν΄μ λΉκ΅λκ³ μ νλ κ°
- value : weighted sum κ°μ λ§λ€κΈ° μν΄ νμν input vector
- λ§μ½ μ λ ₯ λ¬Έμ₯μ΄ 6κ°μ λ¨μ΄λ‘ ꡬμ±λμ΄ μλ€λ©΄, μ ν μ΄ν μ κ³μ° λμμ μΏΌλ¦¬λ²‘ν° 6κ°, ν€ λ²‘ν° 6κ°, λ°Έλ₯ λ²‘ν° 6κ°λ‘ λͺ¨λ 18κ°κ° λλ€.
- μ ν μ΄ν μ μ query, key, value 3κ° μμ μ¬μ΄μ λ¬Έλ§₯μ κ΄κ³μ±μ μΆμΆνλ€.
π attention μ train μ 3κ°μ§ κ°μ€μΉ νλ ¬μ λν train μΌλ‘ μ΄λ£¨μ΄μ§λ€.
- query, key, value μ λμλλ weight matrix π task λ₯Ό κ°μ₯ μ μννλ λ°©ν₯μΌλ‘ νμ΅ κ³Όμ μμ μ λ°μ΄νΈλλ€.
π μ°μ° κ³Όμ - νλμ λ¨μ΄ μλ² λ© λ²‘ν° ex
(1) Q, K, V λ²‘ν° μ»κΈ°
(2) q•k'
(3) softmax(w') = w , w•v
π μ°μ° κ³Όμ - νλ ¬ μ°μ°μΌλ‘ μΌκ΄ μ²λ¦¬
β https://ratsgo.github.io/nlpbook/docs/language_model/tr_self_attention/ : μ°μ° κ³Όμ κΌ μ΄ν΄λ³΄κΈ°!
4) Multi-Head Attention
π μ¬λ¬κ°μ self attention μ΄ λ³λ ¬μ μΌλ‘ μ‘΄μ¬νλ attention
- self attention μ μ¬λ¬λ² μν : μ¬λ¬ ν€λκ° λ μμ μΌλ‘ μ ν μ΄ν μ μ κ³μ°νλ€.
- κ°λ Ή 3κ°κ° λ³λ ¬μ μΌλ‘ μλ€κ³ νλ©΄ Wq,Wk,Wv κ° κ°κ° 3κ° μ‘΄μ¬νλ μ°μ°
- λͺ¨λ head μ μΆλ ₯ κ²°κ³Όλ₯Ό concat νμ¬ λ€μ λ¨κ³λ‘ λκΈ΄λ€.
- λ€μν κ΄μ μμ attention μ μννκΈ° μν΄ multi-head attention μ μ¬μ©νλ€ π ν΄μμ λͺ¨νΈν¨μ μμ¨ μ μμ
5) Layer Normalization
π layer λ κ° μ°¨μμμ input vector κ° uniform ν νκ· κ³Ό λΆμ°μ κ°μ§κ³ μμ λ μ΅μ μ κ²°λ‘ μ λμΆν΄λΈλ€.
- λ―Έλ λ°°μΉμ μΈμ€ν΄μ€(xx)λ³λ‘ νκ· μ λΉΌμ£Όκ³ νμ€νΈμ°¨λ‘ λλ μ€ μ κ·ν(normalization)μ μννλ κΈ°λ²
- λ μ΄μ΄ μ κ·νλ₯Ό μννλ©΄ νμ΅μ΄ μμ λκ³ κ·Έ μλκ° λΉ¨λΌμ§λ λ±μ ν¨κ³Όκ° μλ€.
π input μ΄ attention, FC λ‘ κ΅¬μλ network λ₯Ό μ§λ λλ§λ€ νκ· κ³Ό νμ€νΈμ°¨κ° μλ§μ΄ λλ€ π layer normalization μ ν΄μ£Όλ©΄ λ€μ mean μ deviation μ μ¬μ λ ¬ μμΌμ€ μ μλ€.
6) Positional Embedding
π μμ μ λ³΄κ° κ³ λ €λ μλ² λ© λ²‘ν°
- Transformer μ°μ°κ³Όμ μμ sequence μμκ° κ²°κ³Όμ μν₯μ λ―ΈμΉμ§ μμμ§λ§, μΈμ΄μμλ λ¨μ΄μ μμκ° μ€μνλ―λ‘ κ° input vector μ λν΄ position μ 보λ₯Ό μ λ ₯ν΄μΌ νλ€.
- μΈμ½λ μ λ ₯μ μμ€ μνμ€μ μ λ ₯ μλ² λ©(input embedding)μ μμΉ μ 보(positional encoding)μ λν΄μ λ§λ λ€.
7) Mask
π Decoder → Masked multi-head attention
- Transformer μ self-attention κΈ°λ²μ input sequence λ₯Ό νλ²μ λ€ λ³΄λ λ°©μμΌλ‘ μ΄λ£¨μ΄μ§κΈ° λλ¬Έμ, sequence μ λ€μ λ¨μ΄ μμΈ‘μ μν΄μλ λ―Έλμ κ°μ attention νλ©΄ μλκΈ° λλ¬Έμ weight μ mask λ₯Ό μμ΄λ€.
- mask λ₯Ό μμμ νμ¬ attention μ νμ¬μ κ³Όκ±° κ°λ§ λ³Ό μ μλλ‘ νλ€
- Mask = μ λ΅μ ν¬ν¨ν λ―Έλ μ 보λ₯Ό μ ν μΈν μ μ°μ°μμ μ μΈ (νλ₯ μ΄ 0μ΄ λκ² ν¨)
π Decoder μ attention ꡬ쑰
- μ ν μ΄ν μ μ Encoder μμ λ°μνλ κ²μΌλ‘ Query, Key, Value κ° λμΌν κ²½μ° (벑ν°μ μΆμ²κ° μΈμ½λλ‘ κ°λ€λ μλ―Έ, κ°μ΄ λμΌν κ²μ΄ μλ) λ₯Ό λ§νλ€. (1λ² κ·Έλ¦Ό)
- Decoder λ 2λ² κ·Έλ¦Όμ maekd-self attention, 3λ² κ·Έλ¦Όμ encoder-decoder attention μ΄ μ΄λ£¨μ΄μ§λ€.
1. Encoder μ ν μ΄ν μ : Query = Key = Value
2. Decoder masked μ ν μ΄ν μ : Query = Key = Value
3. λμ½λμ Encoder-Decoder μ΄ν μ : Query: λμ½λ λ²‘ν° <-> Key = Value: μΈμ½λ 벑ν°
8) Remarks
π Transformer μ μ±κ³΅ μμΈ
- λ§€μ° κΈ΄ λ¬Έμ₯μ λν΄μλ encoding μ νλ²μ μννλ―λ‘ μμ°¨μ μΌλ‘ νμ λ λ°μνλ information loss λ₯Ό μμ¨ μ μλ€
- Transformer λ₯Ό νλ ¨ν λ label μ΄ μλ λ°μ΄ν°μ μ κ°μ§κ³ self supervised learning μΌλ‘ μννλλ°, κ·Έλ κΈ° λλ¬Έμ language model μ λ§λλλ° μ ν©ν κ΅¬μ‘°κ° λμλ€.
π Training
- Pre-training on large unlabeled datasets : self-supervised learning
- Training for downstream-tasks on labeled data : supervised learning → fine-tuning
π Self-supervised learning
- Unsupervsied learning μ€μ ν λΆμΌμ μνλ μ°κ΅¬μ£Όμ λ‘, λ°μ΄ν°μ μ λ μ΄λΈμ΄ μ‘΄μ¬νμ§ μλ λ°μ΄ν°λ§μ μ¬μ©νλ€. κ·Έλ¬λ μΌλ°μ μΈ λΉμ§λνμ΅κ³Όλ λ¬λ¦¬, μκΈ° μ€μ€λ‘ νμ΅ λ°μ΄ν°μ λν λΆλ₯λ₯Ό μννλ€.
- network λ₯Ό pretraining μν¨ λ€ downstream task λ‘ transfer learning μ νλ μ κ·Όλ°©λ²μ΄ ν΅μ¬ κ°λ μ΄λ€.
- pre-trained : λλμ Untagged data λ₯Ό μ΄μ©ν΄ μ λ°μ μΈ νΉμ§ (generalizable representations) μ νμ΅νλ λ¨κ³
- BERT : masking κ³Ό next sentence prediction μ ν΅ν΄ λͺ¨λΈ νμ΅μ μ§ννλ€. μ£Όμ΄μ§ λ¬Έμ₯μ κ·Έλλ‘ νμ©νκΈ° λλ¬Έμ label (tagging) μ΄ νμ μλ€.
- Downstream task : μλμ Tagged (labeled) data λ₯Ό νμ©ν΄ μ¬μ© λͺ©μ μ λ§κ² Fine tuning μ νλ€.
- BERT example : μ§μμλ΅ (Q&A) μνμ΄λ λ¬Έμ₯ μ κ°μ λΆλ₯ λ± λͺ©μ μ λ§κ² layer λ₯Ό 1~2κ° μ λ λ μΆκ°νμ¬ Tagged data μ ν¨κ» νμ΅μ μ§ννλ€.
2οΈβ£ Transformer models
β BERT
π Transformer λͺ¨λΈμ νμ₯
- μ¬λ¬μΈ΅μ κ°μ§ μλ°©ν₯ transformer encoder π λΉμΉΈ (mask) μλ€ λ¬Έλ§₯μ μ΄ν μ μλ€.
- κΈ°μ‘΄ transformer λͺ¨λΈ ꡬ쑰μμ λμ½λλ₯Ό μ μΈνκ³ , μΈμ½λλ§μ μ¬μ©
- 'bidirectional masking' κ³Ό 'next sentence prediction' μ pre-training task λ‘ μΆκ°νλ€.
- Pre-training dataset μΌλ‘ self-supervised learning μ μννλ€.
- λ¬Έμ₯μ μλ―Έλ₯Ό μΆμΆνλλ° κ°μ μ κ°μ§κ³ μλ€.
1) Input
π Token embedding
- κ° λ¨μ΄μ λν΄ word embedding μ μννλ€. (tokenizing)
π Segment embedding
- κ°λ Ή A λ¬Έμ₯ νΉμ B λ¬Έμ₯μ μν λ¨μ΄μμ νκΈ°
π Position embedding
- λ¨μ΄μ μμμ λν μ 보λ₯Ό encoding
βΌ classification symbol : [CLS] λ¬Έμ₯μ λν΄ λΆλ₯λ₯Ό μνν κ²μ΄λΌλ κ²μ μμ§νλ ν ν°
βΌ Sentence separator token : [SEP] λ¬Έμ₯ κ΅¬λΆ ν ν°
βΌ play ν ν°κ³Ό ##ing ν ν° : ing κ° κ°μ§κ³ μλ '~μ€μ΄λ€' λΌλ μλ―Έλ₯Ό λ°μνκΈ° μνμ¬ play μ ꡬλΆνμ¬ ν ν°ν νμκ³ , ## μ μμ μλ play λΌλ λ¨μ΄μ μ΄μ΄μ§λ€λ νκΈ°λ‘ νμν κ²μ΄λ€.
π κΈ°μ‘΄ Transformer λ Next word prediction λ°©μμΌλ‘ μμ°¨μ μΈ decoder λ₯Ό μ¬μ©νμ¬ self-supervised training μ μ§ννμμ§λ§, BERT μμλ 2κ°μ§μ μ°¨λ³νλ λ°©λ²μ ν΅ν΄ Pre-train μ μ§ννλ€.
2) Pretraining task (1) - mask language model
β λ¬Έμ₯ μ€κ°μ λΉμΉΈμ λ§λ€κ³ ν΄λΉ λΉμΉΈμ μ΄λ€ λ¨μ΄κ° μ μ ν μ§ λ§μΆλ κ³Όμ μμ Pre-train νλ€.
π Replace with [MASK] : λΉμΉΈμ±μ°κΈ° λ¬Έμ λ₯Ό λ§μΆλ 격μΌλ‘ νλ ¨μ΄ μ΄λ£¨μ΄μ§λ€.
π Replace with random word : 무μμ λ¨μ΄λ‘ λ°κΎΈμ΄μ€ (regularizaiton)
π leave as : λ¨μ΄λ₯Ό κ·Έλλ‘ μ μ§
3) Pretraining task (2) - Next sentence prediction
β λ¬Έμ₯μ ꡬλΆνλ λΆλ₯ λ¬Έμ λ₯Ό μννμ¬ Pre-train μ μ§ννλ€.
π λ¬Έμ₯μ λν΄ μ΄μ§λΆλ₯λ₯Ό μν
- 50%κ° Is Next μ΄κ³ , 50% κ° NotNext class μ ν΄λΉνλ€
- EX) λ¬Έμ₯1 λ€μμ λ¬Έμ₯2κ° μ¬ κ²μ΄λ μμ¬κ²μ΄λλ₯Ό λΆλ₯νλ λ¬Έμ
4) Architecture
π 3μ΅ 4μ²λ§κ°μ νλΌλ―Έν°λ‘ ꡬμ±λμ΄ μλ€.
π 24κ°μ transformer block κ³Ό, κ° block λ§λ€ 16κ°μ (attention multi) head κ° μ‘΄μ¬νλ€.
5) Fine tuning
π Frozen : pre-training μ΄νμ BERT μ weight λ₯Ό λ³ννμ§ μκ² νλ€.
π labeled dataset μΌλ‘ downstream task λ₯Ό μννλ€ : νλ λλ κ·Έ μ΄μμ layer λ₯Ό μΆκ°νμ¬ supervised learning μ μννλ€
β‘ GPT
- μ΄μ λ¨μ΄λ€μ΄ μ£Όμ΄μ‘μ λ λ€μ λ¨μ΄κ° 무μμΈμ§ λ§μΆλ κ³Όμ μμ Pre-train νλ language model μ΄λ€.
- λ¬Έμ₯ μμλΆν° μμ°¨μ μΌλ‘ κ³μ°νλ€λ μ μμ μΌλ°©ν₯μ΄λ€.
- λ¬Έμ₯ μμ±μ κ°μ μ μ§λλ€.
1) Generative Pre-Trained Transformer
π Developed by OpenAI
π Unidirectional : trained to predict next word in a sentence
- GPT λ BERT μ λ¬λ¦¬ unidirectional λ°©ν₯μΌλ‘ traing μ μ§ννλ€.
- λν μΌλ°μ μΈ Transformer decoder ꡬ쑰μ κ°μ΄ next word prediction μ νλλ‘ νλ ¨νλ€.
- κ·Έλ¬λ GPT λ Transformer μμ decoder λ§ μ¬μ©νλ€.
π GPT generation
2) Key-concepts
π labeled data λ μΈμ΄λͺ¨λΈμ νλ ¨νλλ° λΆμ‘±νλ―λ‘ self-supervised learning λ°©μμ μ ννλ€.
π 2-step training process
1. Generative pre-training on unlabeled data : self-supervised learning
- Maksed Multi-Head Attention : μ λ΅ λ¨μ΄ μ΄νμ λͺ¨λ λ¨μ΄λ₯Ό mask (unidirectional)
2. Discriminative fine-tuning on labeled data : supervised learning
β Transformer model μ decoder λΆλΆλ§ μ°¨μ©
3) Architecture
βΌ pre-training μ ν΅ν΄ μ»μ weight λ‘ downstream task μ λν΄ fine-tuning μ μννλ€.
'1οΈβ£ AIβ’DS > π Deep learning' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μΈκ³΅μ§λ₯] μΆμ²μμ€ν (0) | 2022.06.13 |
---|---|
[μΈκ³΅μ§λ₯] GAN (0) | 2022.06.13 |
[μΈκ³΅μ§λ₯] NLP (0) | 2022.06.10 |
[μΈκ³΅μ§λ₯] RNN (0) | 2022.06.07 |
[μΈκ³΅μ§λ₯] Regularization (0) | 2022.04.26 |
λκΈ