NL-056, BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (2019-ACL)

■ Comment
  • 기존의 BERT와 다른 점은 Transformer encoder-decoder 구조인 것.
  • 또한 이것을 학습할 때 다양한 denoising AE 방법으로 학습해본 것
  • 이러한 실험들을 하며 여러 가지 실험 결과를 보여주었고 Facebook에서 나온 것이니 제대로 실험했을 것이라 생각됨.
  • 하지만 모델의 크기에 대한 언급은 없어서 아쉬운 점이 있었음. BERT와 같은 파라미터를 가지면서 encoder-decoder 구조를 설계했으면 어땠을까? 라는 생각이 듬.
  • 성능 자체는 SoTA라고 봐도 무방할 것으로 됨.

0. Abstract

  • BART는 다음과 같이 학습이 된다.
    • noise function을 임의로 text에 넣기 (단어 변경 등)
    • 모델이 original text을 재구성하도록 학습하기
  • 모델은 일반적인 Transformer-based NMT 구조를 사용한다.
    • 이러한 간단한 구조는 BERT와 GPT등의 pre-trained 방법을 일반화tract
    • BART는 다음과 같이 학습이 된다.
    • noise function을 임의로 text에 넣기 (단어 변경 등)
    • 모델이 original text을 재구성하도록 학습하기
    • 모델은 일반적인 Transformer-based NMT 구조를 사용한다.
    • 이러한 간단한 구조는 BERT와 GPT등의 pre-trained 방법을 일반화한다.
    • 왜냐하면 BERT는 bidirectional encoder와 GPT는 left-to-right decoder이니까
  • 우리는 많은 noising 방법론을 평가하여 가장 좋은 성능을 찾아낸다.
    • 기존 문장의 순서를 랜덤 셔플링
    • novel in-filling 방법 (text span을 single mask token으로 대체하는 것)
  • BART는 text genertaion에 fine tuned 될 때 효과적일뿐 아니라 comprehension tasks에도 잘 작동한다.
  • GLUE와 SQuAD에서 RoBERTa와 비교할만한 리소스를 가지고 학습하며 abstractive dialogue, question answering, summarization 작업들에서 6 ROUGE 성능이 더 좋다.
  • BART는 또한 target language pretraining 만으로 back-translation 번역 system 보다 1.1 BLEU 차이만큼 더 좋다.
  • 우리는 BART에서 다른 pretraining 방법론들의 ablation 실험들로 최종 작업 성능에 가장 영향이 있는 요소들을 측정한다.

1. Introduction

  • self-supervised 방법은 다양한 NLP task에서 놀라울 만한 성능을 보여준다.
    • 여기서 language modeling 학습하는 방식을 self-supervised라고 하는 것
  • 가장 많은 접근법은 denoising autoencoder 방식이다.
  • 최근 연구는 masked tokens의 순서와 masked tokens을 대체할 수 있는 context이 성능을 올려주었다.
  • 하지만 이러한 방법은 특정 유형의 작업에 중점적이다. (예시. span prediction, generation, etc)
  • 이 논문에서 제안한 BART는 Bidirectional 과 Auto-Regressive Transformers을 결합하여 pre-training을 한다.
  • BART는 denoising autoencoder로 seq2seq 모델로 매우 넓고 다양한 task에 적용이 가능하다.
  • Pre-training은 2가지 stages가 있다.
    • text is corrupted with an arbitrary noising function
    • a sequence-to-sequence model is learned to reconstruct the original text.
    • 기존과 딱히 달라보이는 것은 없어 보이는데?
  • BART는 standard Transformer-based NMT 구조이고 간단한 대신 BERT와 GPT등을 일반화한다.
  • 장점의 key는 noising flexibility이다.
    • 즉 길이 변경을 포함하여 기존 텍스트의 임의의 변형을 적용할 수 있다.
  • 다양한 noising 접근법을 평가하여 가장 좋은 성능을 내는 것은 다음과 같다.
    • randomly shuffling the order of the original sentences
    • using a novel in-filling scheme, where arbitrary length spans of text (including zero length) are replaced with a single mask token. (임의이 길이를 span으로 하나의 token으로 대체)
    • 이러한 접근법들은 기존의 word masking과 NSP을 일반화하는 것이다. (왜냐하면 전체 문장 길이와 더 긴 범위의 변형된 입력을 다루기 때문에)
  • BART는 특별히 문장 생서에 fine-tuned 되었을 때 효과적일 뿐만 아니라 comprehension tasks에도 좋은 성능을 잘낸다.
  • RoBERTa와 GLUE와 SQuAD에서 비슷한 성능을 내고 abstractive dialogue, question answering, and summarization tasks에서 SoTA이다.
  • 또한 fine-tuning하는 새로운 방법도 제시했다고 하는데 추가적인 transformer 층을 위에 stack해서 했다고 한다.
    • 이 새로운 층들은 외국언어를 noised 영어로 번역하는데 학습이 된다고 한다.
    • 따라서 BART는 pre-trained target-side LM이다.
    • 이 방법은 back-translation MT보다 더 강력한 성능을 보여준다고 한다.
  • Ablation study을 통하여 이러한 효과들을 이해하고 다양한 데이터와 파라미터 최적화들을 학습시 잘 컨트롤할 수 있게 해준다.

2. Model

  • BART는 denoising autoencoder로 변형된 document을 기존의 document로 부터 얻는다.
  • seq2seq 모델은 bidirectional encoder와 left-to-right autoregressive decoder으로 구성되어 있다.
  • pre-training시 negative log likelihood로 학습이 된다.

2.1 Architecture

  • 기본적인 seq2seq Transformer 구조이다.
  • ReLU 활성함수 대신 GeLU 활성함수를 사용한다.
  • 초기화는 N(0,0.02)로 설정하였다.
  • 우리의 base 모델은 6 layers encoder와 decoder이고 large 모델은 각각 12 layers이다.
  • BERT와 깊은 연관이 있는 구조이며 다음의 것이 다르다.
    • (1) each layer of the decoder additionally performs cross-attention over the final hidden layer of the encoder (as in the transformer sequence-to-sequence model)
    • (2) BERT uses an additional feed-forward network before word prediction, which BART does not. In total, BART contains roughly 10% more parameters than the equivalently sized BERT model. 

2.2 Pre-training BART

  • BART는 corrupting 문서의 decoder의 출력과 기존의 문서와의 cross entropy을 loss로 재구성 손실을 최적화 한다.
  • 기존의 denoising autoencoder과 다르게 이는 특별한 noising 기술이 들어간다.
  • BART는 어떠한 type의 document corruption에도 적용할 수 있다.
  • 극단적으로 source의 정보를 모두 잃어버릴 때 BART는 일반적인 LM과 같아진다.
  • 우리는 여러개의 제안되고 novel한 변환을 실험하였고 밑의 그림이 보여준다.
  • Token Masking
    • BERT와 마찬가지로 랜덤 tokens을 샘플링하여 [MASK]로 바꾼다.
  • Token Deletion
    • 랜덤 선택횐 tokens을 삭제한다. 
    • token masking에 비해서 모델은 사라진 입력의 위치를 결정해야한다.
  • Text Infilling
    • Poisson 분포 (lambda=3)을 따르는 span length로 Text spans을 샘플링한다.
    • 각각의 span은 하나의 [MASK]로 대체된다.
    • 0-length spans은 [MASK]을 삽입한다.
    • 이 방법은 SpanBERT에서 착안해냈으나 SpanBERT는 다른(clamped geometric) 분포에서 span length을 설정하고 각 sequence의 span을 [MASK] tokens으로 대체해서 같은 길이를 가지게 한다.
    • Text infilling은 모델이 얼마나 많이 span에서 사라진 tokens을 예측하는지를 가르친다고 한다.
    • 근데 그림에서는 왜D와 E사이에 _가 있는것이지?
  • Sentence Permutation
    • 문서가 full stops을 기반으로 문장들로 나뉘고 이 문장들의 순서를 바꾼다.
    • (약간 ALBERT에서 처럼 SOP의 느낌을 이용하는 것인가?)
  • Document Rotation
    • 랜덤으로 uniform하게 token이 선택되어지고 이 토큰이 document을 시작하는 tokens을 시작한다. (그림 참조)
    • 이 작업은 모델이 document의 시작을 식별하도록 학습이 되어진다.

3. Fine-tuning BART

3.1 Sequence Classification Tasks

  • BERT에서는 [CLS] token의 마지막 층 결과를 이용해서 한다.
  • 여기서는 decoder의 special end token을 이용해서 한다. (fig 3.a)

3.2 Token Classification Tasks 

  • token 분류 문제에서는 (예시로 SQuAD의 answer endpoint 분류에서) document을 입력으로 받고 각 token의 decoder 최종 층의 결과를 가지고 한다.

3.3 Sequence Generation Tasks

  • BART는 autoregressive decoder이기 때문에 abstractive question answering이나 summarization을 직접 fine-tuned 할 수 있다.
  • 이 두가지 작업에서 입력이 복사되지만, 입력이 pre-training에서 denoising되기 때문에 manipulated 된다??
  • 여기서 decoder은 autoregressively하다.

3.4 Machine Translation  

  • 이전 연구에서 pre-trained Encoder을 이용한 번역은 성능 향상이 잘 되지만, pre-trained Deocder은 한계가 있다고 한다.
  • BART는 fig 3.b처럼 새로운 encoder 파라미터를 추가하여 전체 모델을 사용한다.
  • 이 새로운 파라미터 역할은 BART의 encoding embedding layer을 랜덤 초기화된 encoder을 사용한다는 것이다.
  • 즉 이 파라미터는 외국어에서 영어로 번역하는 것을 end-to-end로 학습되면서 같이 학습된다.
  • 학습 과정에는 2가지 step이 있다.
    • we freeze most of BART parameters and only update the randomly initialized source encoder, the BART positional embeddings, and the self-attention input projection matrix of BART’s encoder first layer.
    • we train all model parameters for a small number of iterations. 

4. Comparing Pre-training Objectives

  • 다른 pre-training 학습 방법들과 비교

4.1 Comparison Objectives

  • Language Model
    • GPT, left-to-right Transformer language 모델이고 BART의 decoder와 동일
  • Permuted Language Model
    • XLNet을 방법론 말하는 것
    • 그러나 다른 모델과 공정하기 위해 XLNet에서 relative positional embeddings or attention across segments은 구현안했다고 한다.
  • Masked Language Model
    • BERT의 방법론 의미
  • Multitask Masked Language Model
    • UniLM의 방법론 의미
  • Masked Seq-to-Seq
    • MASS의 방법론 의미

4.2 Tasks

  • SQuAD (Rajpurkar et al., 2016)a
    •  extractive question answering task on Wikipedia paragraphs
  • MNLI (Williams et al., 2017)
    • a bitext classification task to predict whether one sentence entails another
  • ELI5 (Fan et al., 2019)
    • a long-form abstractive question answering dataset
  • XSum (Narayan et al., 2018)
    • news summarization dataset with highly abstractive summaries
  • ConvAI2 (Dinan et al., 2019)
    • dialogue response generation task, conditioned on context and a persona.
  • CNN/DM (Hermann et al., 2015)
    • news summarization dataset

4.3 Results 

  • Table 1 참고, 밑의 관점에서 분석을 진행했음
  • Performance of pre-training methods varies significantly across tasks
    • Pre-training 방법의 효과가 task에 dependent가 크다고 한다.
    • 이유로는 simple한 LM모델이 ELI5에서 젤 성능이 좋기 때문에!
  • Token masking is crucial
    • rotating documents or permuting sentences은 별로다.
    • token 삭제나 마스킹 혹은 self-attention mask가 성공적이다.
  • Left-to-right pre-training improves generation
    • Masked Language Model and the Permuted Language Model은 generation 성능이 떨어진다.
    • 다른 모델들과 달리 이것은 pre-training시 left-to-right autoregressive LM으로 하는 것이 아니다.
  • Bidirectional encoders are crucial for SQuAD
    • 이전의 연구에서 이미 단지 left-to-right decoder는 SQuAD에서 성능이 떨어진다고 알려져 있다.
    • 그러나 BART는 bidirectional 층을 반만 이용하면 유사한 성능을 달성한다.
  • The pre-training objective is not the only important factor
    • 여기서 PLM으로 학습한 모델은 XLNet보다 성능이 떨어진다.
    • 즉 objective만이 성능에 중요한 영향을 주는 것은 아니다.
    • relative-position embeddings or segment-level recurrence와 같은 것을 구현안하고 학습했기 때문일 가능성으로 보고 있다.
  • Pure language models perform best on ELI5
    • ELI5에서는 BART보다 다른 모델이 성능이 좋다.
    • 출력이 입력에 비해 제약이 적을 때는 BART의 효과가 떨어진다.
  • BART achieves the most consistently strong performance.
    • ELI5을 제외하고는 BART가 최고다.

5. Large-scale Pre-training Experiments

  • 다운스트림 작업에서 여러 모델들과 비교.
  • 자세한 건 생략...

5.1 Experimental Setup

5.2 Discriminative Tasks

5.3 Generation Tasks

5.4 Translation

6. Qualitative Analysis

  • 이것을 할 때, 첫 문장을 삭제하고 생성을 하기 때문에 단순히 요약하는 게 쉽지 않다고 한다.
  • 즉 extractive summary가 아니라는 것
  • 모델은 유창하고 문법적으로도 좋다.
  • 하지만 너무 추상적이고 몇몇의 문구는 입력을 복사한 것이다.
  • 결과는 일반적으로 정확하고 문서 전체를 뒷받침 해줄만한 배경의 지식과 결합되어 생성된다. (for example, correctly completing names, or inferring that PG&E operates in California)

7. Related Work

  • 생략

8. Conclusions

  • BART는 corrupted documents을 원본으로 재구성하도록 pre-training 하였다.
  • RoBERTa와 discriminative 작업에서 비슷한 성능을 내고 문장 생성에서는 SoTA이다.
  • Future work로는 corrupting documents가 speicific end task에 잘 맞는 pre-training을 하는 새로운 방법을 탐구할 것이다.
Reference

댓글