NL-056, BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (2019-ACL)
■ Comment
Reference
- 기존의 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
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
- 이것을 할 때, 첫 문장을 삭제하고 생성을 하기 때문에 단순히 요약하는 게 쉽지 않다고 한다.
- 즉 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을 하는 새로운 방법을 탐구할 것이다.
댓글
댓글 쓰기