(ongoing) BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (ACL 2020)

Minhan Cho·2023년 3월 22일
0

Abstract

  • BART: denoising autoencoder for pretraining seq2seq model
  • training strategy:
    • (1) arbitrary noising function 사용해 text corruption
    • (2) original text reconstruction 학습
  • transformer based model 사용: BERT, GPT의 generalization처럼 보임
  • 여러가지 noising approaches에 대해 실험해봤더니, original sentence의 순서 shuffle하고, 연속된 여러 단어(spans of text)를 single mask token으로 바꿔치기해서 채우기 할 때 괜찮았음
  • performance
    • text generation에서 finetuning 했을 때 가장 effective하긴 한데, comprehension도 괜찮게 한다는 듯
    • GLUE, SQuAD에서는 RoBERTa에 비비고, abstractive dialogue, qa, summarization task에서 SoTA 달성

1 Introduction

  • self-supervised model: Word2Vec, BERT, GPT 등
    • successful model의 appraoch는 ML이었음: denoising autoencoders trained to reconstruct text from randomly masked tokens
    • token masking의 variant가 end task에만 사용되었던 게 한계
  • BART: Bi-directional Auto-Regressive Transformer
    • denoising autoencoder with seq2seq, applicable to wide range of end task
    • pretraining: (1) text corruption (arbitrary noising function), (2) seq2seq learns to reconstruct original text
    • standard transformer block 사용: generalizing BERT, GPT 등등의 컨셉으로 이해하면 됨
  • key advantage of setup
    • nosing flexibility: arbitrary transformation을 original text에 적용 가능 (length 변화 포함)
    • noising approach 여러 개 해봤는데, random shuffling + novel in-filling scheme이 제일 낫더라: arbitrary length spans of text를 single mask token으로 바꿔치기 하는 것
    • 위와 같은 approach는 MLM과 NSP를 합친 것에 가까움: overall sentence length에 대해 reason more, longer range transformation 생성 이라는 점에서
  • BART performance
    • text generation에 특히 좋긴 한데, comprehension task에도 좋음
    • training 비슷한 양으로 시켰을 때 RoBERTa와 GLUE, SQuAD에서 비슷함
    • wide range of abstractive dialogue, QA, summarization에서 SoTA 달성
  • BART와 finetuning
    • machine translation같은 경우, transformer layers 몇 개 위에 BART 쌓은 모델에다가 finetuning했음
    • foreign language -> noisy language (propagation through BART): target-side language model로 사용
  • ablation study: consistently strong performance across the full range of additional settings & tasks

보완

  • masked tokens 예측되는 순서: XLNet, distribution 개선: spanBERT 등
  • biderectional encoder & autoregressive decoder: 원래 transformer architecture 그대로 사용
  • BERT: generation이 박살남
  • UniLM: BERT를 mask의 ensemble로 fine-tuning, BART처럼 discriminative, generative 다 가능한데, conditionally independent prediction이 이루어져서 별로임
  • MASS는 BART와 비슷하긴 한데, discriminative task에서는 별로임
  • BART가 machine translation decoder 향상에 쓰일 수 있음: 이전에는 encoder에 집중

Model

  • bidirectional encoder (corruption) & autoregressive decoder의 seq2seq
  • 6 layers
  • decoder last layer에서 encoder layer와의 cross attention 있고, FFN 없다는 게 차이점

pretraining strategy

  • token deletion: random token 삭제, 어떤 위치가 missing input인지 결정해야
  • text infilling: (가장 좋았음), 여러 token masking & maksed tokens predictions
  • sentence permutation: 문장들을 랜덤으로 섞음
  • document rotation: 문장 시작 학습 방법

Downstream Tasks

  • machine translation: encoder & decoder를 모두 pretrained decoder로 사용하기
  • embedding은 new initialized encoder 모듈로 바꿔치기 가능: 범용성 좋음

Experiments

profile
multidisciplinary

0개의 댓글