2021 09 24 - KR-HappyFace/meetup-logs GitHub Wiki
ELECTRA is a new pretraining approach which trains two transformer models: the generator and the discriminator. The generatorโs role is to replace tokens in a sequence, and is therefore trained as a masked language model. The discriminator, which is the model weโre interested in, tries to identify which tokens were replaced by the generator in the sequence.
- ํ ๋ฒ์ ํ์ตํ๋ token์ ์์ด BERT๊ฐ ๋ ๋ง๋ค๊ณ ํ๋ค. https://huggingface.co/transformers/model_doc/electra.html์์ ๋์จ ๋๋ก๋ผ๋ฉด...
Masked language modeling (MLM) pretraining methods such as BERT corrupt the input by replacing some tokens with [MASK] and then train a model to reconstruct the original tokens. While they produce good results when transferred to downstream NLP tasks, they generally require large amounts of compute to be effective. As an alternative, we propose a more sample-efficient pretraining task called replaced token detection. Instead of masking the input, our approach corrupts it by replacing some tokens with plausible alternatives sampled from a small generator network. Then, instead of training a model that predicts the original identities of the corrupted tokens, we train a discriminative model that predicts whether each token in the corrupted input was replaced by a generator sample or not. Thorough experiments demonstrate this new pretraining task is more efficient than MLM because the task is defined over all input tokens rather than just the small subset that was masked out.
- Generator๋ train์ํค๋ ๊ฑด๊ฐ ์๋๋ฉด discriminator๋ง train์ํค๋ ๊ฑด๊ฐ? ์ด๊ฑด ๋ฉํ ๋ํํ ์ฌ์ญค๋ณด์.
- Train์ ํ ๋ evaluation loss๊ฐ ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ์์๋คโฆ
- Matthewโs correlation์ด ์ค๊ฐ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์๋ค?
- WPE๊ฐ ์ด๋ฏธ ๋ชจ๋ธ์์ ์๋ ๊ฑธ ๋ณด๊ณ ๋ฐ๋ก ์ ๋ ฅํ ํ์ ์๋ค๊ณ ์๊ฐํ์.
- 76์ ์ด์ ๋์ด๊ฐ๋ฉด ๋ค์ ์ค๋ก ๋์ด๊ฐ๋ค๊ณ ์๊ณ ์์ต๋๋ค.
- ์์ ์์๋ self attention block, batch size๋ฅผ ๋ ์์๋ค๊ณ ํจ.
- ๊ทผ๋ฐ SKT config.json์์๋ GPT-2๋ผ๊ณ ํ๋๋ฐโฆ ๊ตฌ์กฐ๊ฐ ๋น์ทํด์ ์๊ด ์๋ ๊ฑด๊ฐ?
- ๊ทผ๋ฐ GPT-3 Baseline์ ์ฌ์ฉํ๋ ๊ฒ ๋ง๋ ์ถ์. ๋๋ฌด ์ค๋ ๊ฑธ๋ ค. ํ epoch์ 3์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ผ๊ณ .
- Baseline ๋ชจ๋ธ์ Decoder์ฌ์ ๋ค์ ๋จ์ด ํ์ตํ๋ ๊ฑฐ๋ผ์ ์ ์ ํ์ง ์๋ค๊ณ ์๊ฐํ์. WiC Task๋ ํฌ๊ฒ ๊ด๋ จ ์๋ ๊ฒ ๊ฐ์์. ์ ๊ฑธ hidden state๋ฅผ ์ฌ์ฉํ๊ธฐ์๋ ์ ๋งคํ๊ณ .
- ์ธ๊ณผ์ถ๋ก ์๋ ๊ด์ฐฎ์ ์๋ ์๋๋ฐ, ๋ํ์ด์์ด ํ๋จ์๋ ๋ณ๋ก์ธ ๋ฏ.
๊ทผ๋ฐ ์ฑ๋ฅ์ ๋ชจ๋ ๋ฉด์์ outperformํ๋ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ โฆ (BoolQ, CoPA, WiC)
Batch size ๋ผ๋ฆฌ๋ Padding ๋ฃ์ด์ ๊ธธ์ด ๋ง์ถ๋ ๊ฒ ๋ง๋ ๊ฒ ๊ฐ์์. Tokenizer์ paddingํ๋ ๊ฑด ๋ฌธ์ฅ์์ ์ ์ผ ๊ธด ๊ฑธ ๊ธฐ์ค์ผ๋ก ์ฑ์ฐ๋ ๊ฒ ๊ฐ์๋ฐ. Train ์ํฌ ๋ batch ๋จ๊ณ์์ ๊ธธ์ด๋ฅผ ์ค์ผ ์ ์์ ๊ฒ ๊ฐ์์.
- ๋ฌธ์ฅ ๊ธธ์ด๊ฐ ๊ณ์ ๋ฌ๋ผ์ง์์์. Input feature์ ์ด๋ป๊ฒ ์ก์์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ณ ์. Hidden state๊ฐ token ๋ณ๋ก ์ฌ๋ฌ ๊ฐ๊ฐ ์์ํ ๋ฐ. ๋ฌธ์ฅ ๋ณ๋ก ๊ธธ์ด๊ฐ ๋ฌ์์งํ ๋ฐ.
-> Electra๋ก ํ๋ฉด ๋งจ์์ ๋ถ๋ถ์ด class token์ผ๋ก tokenize๊ฐ ๋ผ์. ๊ทธ ๋ค์์ ๋ฌธ์ฅ์ด ์ด์ด์ง๊ฑฐ๋ ์? Classification head๋ก ๊ฐ๋ณด๋๊น. 0๋ฒ์งธ๊ฐ ๊ฐ๋ง ๊ฐ์ง๊ณ ๊ทธ๋ ๊ฒ ์ถ๋ ฅ์ด ๋๋๋ผ๊ณ ์.
- ์์ง
- HanBERT vs KoBART vs KoElectra
- CoLA์์ Fine tuningํ๋ ๋ฐฉ์์ ์ฌ๋ฌ ๊ฐ ํด๋ณผ๊ฒ์
- train์ด๋ dev๋ฅผ ํฉ์ณ์ ํ๋ค๋ ์ง
- ์คํ: CoLA์์ ๋ชจ๋ธ ๋ค์ํ๊ฒ ์ฌ์ฉํด๋ณด๊ณ ์ถ์ด์โฆ ๊ทผ๋ฐ freeze ์ํค๋ ํจ์ฉ์ฑ์ด ์์์ง ์์์ง ์ ๋ชจ๋ฅด๊ฒ ์. Classifier๋ง train์์ผ์ผ ํ๋? NLP์ ์ต์ํด์ง๋ ๊ฒ ์ต์ข ๋ชฉํ.
- ์ฑ์ฑ: CoLA ๋ง๊ณ ๋ค๋ฅธ Task๋ค์ ๋ง์ง๋ง layer์ ์์ ์ ํด์ผ ํ๋ ๊ฑด๊ฐ์? ๋ง์ง๋ง Layer ๊ต์ฒดํ๋ ๊ฒ ๊ฐ๊ณ ์คํ์ ํด๋ณผ ๊ฒ ๊ฐ์.
- ์ฌ์: Automodel์์ head๋ฅผ ๋ถ์ด๋ ๊ฑธ ๋ดค๊ฑฐ๋ ์. Automodel class์์ sequence classification ๋ฑ ๋ค๋ฅธ head๋ฅผ ์ฌ๋ฌ ๊ฐ๊ฐ ๋ถ์ด์๋๋ฐ ๊ทธ๊ฑธ ์กฐ์ ํด์ output์ ๋ง์ง๋ง์ ์์ ํด์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
- ์ฐ์ฃผ: ์ ๋ฐ์ ์ผ๋ก NLP ๊ณต๋ถํ๊ณ CoLA์ ํ๋์ฉ ์ ์ฉ
- ํ์: CoLA๋ฅผ ๋๋ฆด ๋ ์ฌ๋ฌ ๋ชจ๋ธ ๋๋ฆฌ๋ฉด์ ์คํํ๋ ์ค
- ์ธํ: ์๋๋ WiC ์ข ๋ ๋ณด๋ ค๊ณ ํ๋๋ฐ ์ผ๋จ ํต์ผํ์๊ณ ํ์ จ์ผ๋โฆ ๋ชจ๋ธ์ ์ด๋ค ๊ฑฐ ์จ์ผํ ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค์. ์คํ์ ํด์ผ ํ ๊ฒ ๊ฐ์์. Task๋ฅผ ๋ฑ ์ ํ๊ณ ํ ์ ์๋ stage๊ฐ ์๋ ๊ฒ ๊ฐ๋ค๋ ๋๋์ด ๋๋ค์. CoLA ๋ฐ์ดํฐ๋ฅผ ์์ง ์ ๋ค๋ค๋ด์ ์คํํ๋ ๋จ๊ณ๋ก ใ ใ
- ์ฌ์: ์ ๋ ๋ง ์จ๊ฐ ๋ชจ๋ธ ์ ์ฉํด๋ณด๋ ค๊ณ ์.
- KoBART
- ALBERT: https://huggingface.co/kykim/albert-kor-base
- KoElectra-v3
- Baseline GPT-3 model
- HanBERT
- bert-base-kor
- KcBERT
์ฐธ๊ณ ๋ก Electra์ธ์ BERT ๊ณ์ด ๋ชจ๋ธ ์ฑ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค
NSMC (acc) |
Naver NER (F1) |
PAWS (acc) |
KorNLI (acc) |
KorSTS (spearman) |
Question Pair (acc) |
Korean-Hate-Speech (Dev) (F1) |
|
---|---|---|---|---|---|---|---|
KoBERT | 89.59 | 87.92 | 81.25 | 79.62 | 81.59 | 94.85 | 66.21 |
HanBERT | 90.06 | 87.70 | 82.95 | 80.32 | 82.73 | 94.72 | 68.32 |
kcbert-base | 89.87 | 85.00 | 67.40 | 75.57 | 75.94 | 93.93 | 68.78 |
KoELECTRA-Base-v3 | 90.63 | 88.11 | 84.45 | 82.24 | 85.53 | 95.25 | 67.61 |
albert-kor-base | 89.45 | 82.66 | 81.20 | 79.42 | 81.76 | 94.59 | 65.44 |
bert-kor-base | 90.87 | 87.27 | 82.80 | 82.32 | 84.31 | 95.25 | 68.45 |
electra-kor-base | 91.29 | 87.20 | 85.50 | 83.11 | 85.46 | 95.78 | 66.03 |
funnel-kor-base | 91.36 | 88.02 | 83.90 | 84.52 | 95.51 | 68.18 |