modulabs / beyondBERT

11.5기의 beyondBERT의 토론 내용을 정리하는 repository입니다.
MIT License
60 stars 6 forks source link

ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS #5

Closed datajuny closed 4 years ago

datajuny commented 4 years ago

<작성중>

어떤 내용의 논문인가요? 👋

Gan을 연상시키는 새로운 Pre-train 방법을 소개합니다.

Abstract (요약) 🕵🏻‍♂️

BERT와 같은 MLM Pretrain methods 는 NLP Task에서 좋은 성능을 내고 있지만, 많은 계산량을 요구하는 단점이 있다. 이 문제를 해결하기 위해 small generator network와 discriminative model를 제안한다. discriminative model은 generaotr에 의해 replaced 된 token인지 아닌지를 학습하게 된다.

MLM 은 마스킹된 토큰만 예측하면 되지만, ELECTRA는 모든 Input token에 대해 판별을 하기 때문에 문맥적 표현(Contextual representation)에 더 효과적이다. 따라서 BERT와 동일한 model size, data, compute라면 더 좋은 문맥적 표현이 가능하다. 작은 모델에서 특별히 이점이 많은데 GPU 한개에서 4일동안 학습한 결과, GPT보다 GLUE 스코어가 더 높았다. 뿐만아니라 RoBERTa나 XLNet과 동일한 계산량을 사용했을때도 더 좋은 성능을 보여줬다.

이 논문을 읽어서 무엇을 배울 수 있는지 간략하게 적어주세요! 🤔

BERT와 비교했을때 정확도는 높이고, 계산 효율성은 증가시키는 방법을 소개합니다.

이 논문의 아이디어를 적어주세요.

https://postfiles.pstatic.net/MjAyMDA2MjFfNjYg/MDAxNTkyNzI3ODMzODU0.dfYXFSnHRA5UQFtmjvD6bgXyPOO4BXdX-3NsdaHIkt0g.yq3mA7bXy08y9GZedCaC1tT9zQloticpYdqrX3UgV6Ug.PNG.datajuny/image.png?type=w773

(FLOPs : 1초동안 수행할 수 있는 부동소수점 연산의 횟수) ​ https://postfiles.pstatic.net/MjAyMDA2MjFfMjkw/MDAxNTkyNzI5NzE0MjE4.gIR4uMgh9KJP8pLeRHevHRjdAKrPLhuB5W7ayUJcBIUg.rexp3x_14El7VsHmrN2MKOc4lpmL0HGzqX6BD2t2iaQg.PNG.datajuny/image.png?type=w773

3.2 MODEL EXTENSIONS

<Table 1>

image

<Table 2>

image

- Large model에서 GLUE 성능비교. ![image](https://user-images.githubusercontent.com/44308330/85712821-ac428380-b723-11ea-987b-c47243f7ad98.png) -SQuAD 데이터셋 성능 평가표 - 비슷한 컴퓨팅 자원을 사용하는 ELECTRA-400K는[RoBERTa-100K과 BERT] 보다 성능이 높다. - ELECTRA-400K는 RoBERTa-500K 보다 1/4의 연산을 수행하고 비슷한 성능을 보여주고 있다. - ELECTRA는 일반적으로 SQuAD 1.1 보다 SQuAD2.0에서 더 좋은 성능을 보였다. 그 이유는 SQuAD2.0에서 답할 수 있는 질문과 그렇지 않은 질문을 구분해야되기 때문인 것으로 보인다. 다시말해 ELECTRA가 Input token이 생성된 토큰인지 아닌지 구분하는 pretrain 방법과 유사한 측면이 있어서 SQuAD2.0에서 더 좋은 성능을 보인다. ![image](https://user-images.githubusercontent.com/44308330/85712882-bc5a6300-b723-11ea-9f58-599785033f58.png) **3.5 EFFICIENCY ANALYSIS** - 왼쪽 그림은 BERT와 ELECTRA의 model size 변화에 따른 GLUE 스코어를 표현한 것이다. - 가운데 그림은 왼쪽 그림에서 BERT와 ELECTRA의 GLUE 스코어 차이를 표현한 것. - 오른쪽 그림은 ELECTRA가 단순히 빠르게 학습하는 것 뿐만 아니라 높은 정확도를 보이고 있음을 나타내고 있다. ![image](https://user-images.githubusercontent.com/44308330/85712914-c54b3480-b723-11ea-8c19-15f70c792f25.png) # **이 논문의 결론을 적어주세요.** 핵심 아이디어는 Discriminator가 모든 input token들에 대해서 Generator에 의해 생성된 token인지 아닌지를 구분하는 것이다. 이 방법론은 기존 MLM보다 (1)계산 효율성이 높고, (2)정확도도 좋다. 뿐만 아니라 계산량이 적은 모델에서도 잘 작동한다. 이를 통해 컴퓨팅 리소스가 부족한 연구자와 실무자에게 도움을 줄 수 있다. 앞으로 pre-train 모델 연구는 정확도 뿐만 아니라 계산 효율성도 함께 고려되길 바라며 우리처럼 실험에서 사용된 컴퓨팅 자원 및 파라미터 수를 평가표에 함께 적길 희망한다. ​ # **감상** 계산량을 늘려서 정확도를 높여가는 NLP 연구 흐름에 일침을 가하고 있다. 모델 경량화를 위해 pruning을 한 distilbert나 weight를 sharing한 ALBERT가 있지만, 이러한 방법들은 정확도 손실을 피할 수 없다. 따라서 모델의 정확도 뿐만 아니라 계산 효율성 두마리 토끼를 모두 잡은 ELECTRA를 기점 새로운 pretrain 패러다임이 더욱 발전되길 기대해본다. **​** # **참고자료** **구글 ELECTRA 관련 포스팅 ** [https://ai.googleblog.com/2020/03/more-efficient-nlp-model-pre-training.html](https://ai.googleblog.com/2020/03/more-efficient-nlp-model-pre-training.html) ** KoELECTRA 개발기 ** https://monologg.kr/2020/05/02/koelectra-part1/
kh-kim commented 4 years ago

[질문]

  • 이 논문의 generator는 denoising autoencoder로 이해할 수 있고, discriminator는 anomaly detector로 바라볼 수도 있을 것 같습니다.
  • 즉, MLM scheme에 의해서 generator는 [MASK] 위치의 단어에 그럴싸한 단어로 replacing 하여 augmentation을 수행한 후, discriminator가 (아마도 replaced word는 original word에 비해서 어색할 터이니) 그것을 찾아내도록 학습하는 것으로 이해했습니다.

질문 시작

  • 그런 의미에서 MLE training 방식이 adversarial training 방식보다 더 성능이 높게 나온 것은, generator 방식이 너무 훌륭한 문장을 만들어내면 안되기 때문 아닐까요?
    • generator가 더 작은 네트워크를 가져야 하는 이유도, 같은 이유에서 generator가 너무 뛰어나면 replaced word라도 맞을 확률이 높기 때문이 아닐까요?
  • MLM scheme이 replaced token detection (RTD) scheme 보다 효율이 떨어지는 이유에 대해서도 궁금합니다.
    • 결국 대부분의 downstream task들의 objective들은 RTD scheme이 좀 더 비슷하다라는 것일까요?
    • 그렇다면 MLM scheme이 더 잘 working하는 downstream task들도 당연히 존재하지 않을까요?
bj1123 commented 4 years ago

[질문]

  • electra가 성능이 잘 나오는 이유가 뭘까요? 논문에서는 masked language model을 사용하면 입력 텍스트의 일부( 통상적으로 15%)에 해당하는 token들로부터밖에 loss를 생성할 수 없기 때문이라고 말하고 있는 것 같습니다 (그리고 이게 사실이라면 약간의 trick만 줘서 이 문제를 해결할 수 있어 보이기도 합니다). 그러나 loss의 scale을 생각해보면 과연 그럴지에 대한 의문이 생기긴 합니다. token generation의 경우 loss가 못해도 2가 넘을 것이고, replaced token discrimination의 경우 loss가 0.1 이내로 떨어질 것 같은데요, masking의 비율을 고려해 볼 때, discrimination 방식을 사용하면 오히려 흘릴 수 있는 gradient의 양이 적을 것 같습니다. Electra가 성능이 뛰어나다는 것이 참이라 가정하면, electra의 성능 향상에는 다른 원인이 있을 수 있지 않을까요? 예를 들면, generation 방식으로 학습을 시킬 경우 language distribution이 상당히 skewed 되어있기 때문에, frequent tokens들로 generation이 bias되는 문제가 있는데, 이로 인해 생겨나는 latent space의 왜곡 문제를 discrimination 방식으로 해결할 수 있다 (소설임).

  • 사실 어떤 단어를 가져다 놔도 말이 되는 경우가 많이 있는데요, discriminiation 방식을 사용할 때 이 문제가 학습에 악영향을 끼칠 수 있지 않을까요?

hanjinlp commented 4 years ago

[질문]

-질문 CoLA 데이터(8.5K)와 RTE 데이터(2.5K)에 대한 성능이 전반적으로 떨어지는 것은 단순히 데이터가 적어서 일까요? 그렇다기에는 MRPC 데이터(3.7K)도 많은 양은 아닌데요. MRPC는 패러프레이징 데이터여서 동의어나 유의어 기반으로 구축이 된 데이터이고, RTE는 좀 더 추상화된 형태 또는 담화 차원의 함의까지 상정한 데이터여서 일까요? 다양한 버트 응용 모델에서 SNLI가 벤치마크에서 제외되고 있다는 인상이 있는데 이 데이터 또한 담화 차원에서 함의를 담아내는 데이터이기 때문에 성능이 너무 안나와서 빠진 걸수도 있을까요?(이건 확인해봐야겠네요.) SNLI 데이터는 동일한 사진에 대한 묘사를 통해서 두 문장 사이에 함의 관계를 추론하는 것이더라고요. 근데 table2의 dev 셋 결과에서는 이런 차이가 비교적 선명한데, table3의 tset에서는 task 간 성능 차가 많이 줄어들었네요.

-개인적인 메모 관심 분야가 벤치마크 데이터 셋이어서 모델 경량화 자체보다 다른 것들이 더 궁금해졌네요. 위 질문에서 파생된 메모인데 table2를 보면 BERT 기본모델도 CoLA와 RTE 데이터에서 Train FLOPs 수의 변화에 따라 큰 차이를 보이네요.

wonhocho commented 4 years ago

[질문]

ELECTRA에서는 RL 방식으로는 별 효과를 보지 못했다고 말하고 있는데요. ( We believe the worse accuracy is mainly due to the poor sample efficiency of reinforcement learning when working in the large action space of generating text. )

혹시 'Language Model + RL' 접근방식으로 가능성을 보여준 연구 사례가 있을까요? 또는 향후 어떤 RL 기술이 NLP 분야와 접목되어 발전할 수 있다고 생각하시는지 궁금합니다.

soeque1 commented 4 years ago

[질문]

Generator에서 augmented(or replaced) texts [INPUT] 을

(1) Discriminator(ELECTRA, 논문)에서 제안하는 original vs replaced 판별기 (2) BERT처럼 다시 [mask] (여기서는 augmented input)를 예측하는 방법

상식적으로는 BERT 처럼 학습하는 (2) 번을 먼저 생각했을 것 같은데 (1) 번의 LOSS를 취한 이유는 무엇일까요?

@kh-kim 언급하신 것 처럼 downstream task 들의 유사성과도 관계가 있을 것 같습니다.

warnikchow commented 4 years ago

[질문]

이 논문은 key point로, 기존의 MLM을 RTD로 치환하며, 전체 corpus size에 비해 배울 양이 적고 inefficient한 MLM에 비해, 좀 더 많은 정보를 학습할 수 있는 RTD를 사용한다는 점을 들고 있습니다. 읽으면서 word vector 문제에 negative sampling이라는 전략을 통해 비슷한 관점에서 접근했던 mikolov의 연구가 생각났으며, 저자들도 related work에서 이를 언급하였습니다. 비슷하게 contrastive learning이지만 bag-of-vectors encoder, unigram token frequency-based proposal distribution을 쓴 CBOW와 달리, 본 paper에서는 transformer encoder, learned generator을 사용했음을 강조하고 있습니다. 이 관점에서 본다면, 원래의 MLM은 original CBOW, RTD는 CBOW + NS로 해석할 수 있나? 하는 생각을 해 보았습니다.

두 번째로 궁금한 것은, 원래 word2vec에서 negative sampling을 통해 학습된 공간에서 성립하던 word analogy test같은 성질이, 이렇게 contextual embedding이 되었을 때에도 성립할 수 있는가, 혹은 대응하는 무언가가 있는가 하는 것입니다. NS가 적용되지 않은 MLM과 달리, RTD의 경우에는, single token level의 비교에서 무언가 좀 더 큰 단위로의 비교가 가능할 수 있지 않을까 하는 생각이 들었습니다. 단적인 예로, seoul과 tokyo, 그리고 korea와 japan에 해당하는 token들의 representation에 대해 다양한 문장들에서 analogy test를 진행하게 된다면, 그 경향성이 다르게 나올까요? (즉, context가 산입되었기 때문에, 어느 정도 1-1 mapping을 가정했던 CBOW/SG - NS에서의 경향성은 더 이상 보이지 않게 될까요?) 역으로, contextual한 레벨에서 이러한 analogy test가 가능하게 되는 chunk는 어떤 것들이 될까요?

SGNS와 word analogy의 연관성에 대한 아티클 https://kawine.github.io/blog/nlp/2019/06/21/word-analogies.html

또 추가적으로, 일반적으로 word2vec을 활용한 task들에서는 SG가 보통 좋은 성능을 보여 후속 연구들도 SG를 따른 것으로 알고 있는데, MLM과 RTD의 관점에서 벗어나 SG의 관점에서 self-supervised learning을 할 수 있을지도 궁금합니다.

soeque1 commented 4 years ago

@kh-kim https://openreview.net/forum?id=r1xMH1BtvB

“It will be helpful if the authors provide more empirical analysis why the adversarial ELECTRA perform worse or failed.”

Yes, that is a good question! We did not have too much discussion on this in the submission because it is a negative result and we were limited for space. We found two problems with the adversarially trained generator. The main one is that the adversarial generator is simply worse at masked language modeling. For example, a size-256 adversarial generator after 500k training steps achieves 58% accuracy at masked language modeling compared to 65% accuracy for an MLE-trained one. We believe the worse accuracy is mainly due to the poor sample efficiency of reinforcement learning when working in the large action space of generating text. As evidence for this, the adversarial generator's MLM accuracy was still increasing towards the end of training while the MLE generator‘s accuracy vs train step curve had mostly flattened out. The second problem is that the adversarially trained generator produces a “peaky” low-entropy output distribution where most of the probability mass is on a single token, which means there is not much diversity in the generator samples. Both of these problems have been observed in GANs for text in prior work (see “Language GANs Falling Short” from Caccia et al., 2018 and “Evaluating Text GANs as Language Models” from Tevet et al., 2019). We will add this additional discussion to the paper.

inmoonlight commented 4 years ago

@wonhocho ICLR 2020 에 나온 논문인데, 조금 도움이 되실 것 같아서 공유합니다!

On the Weaknesses of Reinforcement Learning for Neural Machine Translation

inmoonlight commented 4 years ago

[질문] (기록용으로 적습니다)

  • Discriminator 가 Anomaly Detector 와 같은 기능을 하는 것 같은데, class imbalance 에 대한 control 은 따로 하고 있지 않은 것 같은데 그래도 학습이 잘되는 것이 신기하다 왜일까?