[논문]BART - Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension

saemi·2024년 9월 24일

AI논문

목록 보기
3/3

Abstract

BART : seq-to-seq 모델 사전학습시키기 위한 denoising autoencoder

  • 임의의 noising function으로 텍스트 변형
  • 원래대로 복원하도록 모델을 학습

Transformer 기반 표준 NMT 구조
BERT와 GPT 및 많은 사전학습 schemes를 일반화한 모델

많은 noising 기법들을 평가

  • 문장의 순서를 임의로 섞는 것
  • in-filling scheme(spans of text가 하나의 mask token으로 치환됨)
    => 사용할 때 가장 성능이 좋음
  • BART는 특히 텍스트 생성에 대해 fine-tuned되었을 때 효율적이지만 이해력 테스트에서도 잘 작동
  • GLUE와 SQuAD에서 RoBERTa 이상의 성능을, 6 ROUGE score을 더 높게 얻고 abstractive dialogue, question answering, and summarization tasks에서 SOTA를 달성하는 등 성과가 좋음
  • ablation 실험 등을 진행하여 모델의 성능 등을 입증한다.

Introduction

self-supervised 접근법: NLP task에서 괄목할만한 성과를 많이 냄
: MLM 및 그 변형들이 성공적인 방법들
=> 특정 task에만 집중하여 일반화는 어려움

BART

: 아주 넓은 범위에서 사용 가능한 seq2seq 모델로 만든 denoising autoencoder

noising 적용 시 별다른 제약없이 다양한 function 사용 가능

  • fine-tuning에 대한 새로운 사고방식 가능하게함
  • Machine Translation에 대해 새로운 scheme을 제안하는데 BART는 몇 개의 추가적인 transformer layer 위에 놓임
  • 외국어를 noised 영어로 번역하도록 학습되어 BART에 전해짐
  • BART: pre-trained target-side language model로 사용하게 됨
    => WMT Romanian-English benchmark에서 강력한 back-translation MT baseline을 1.1 BLEU score 만큼 앞지름

Model

BART: 임의로 변형된 문서를 원래대로 되돌리는 denoising autoencoder

모델 구현

  • seq2seq model: corrupted text에 대한 bidirectional encoder와 left-to-right autogregresive decoder로 구성됨
  • 사전 학습: 원본 문서에 대한 NLL loss 사용

Architecture

  • 표준 seq-to-seq Transformer을 기반으로 하되 OpenAI GPT처럼 ReLU를 GeLU(N(0, 0.02))로 바꿔 사용

  • base 모델은 6 layer encoder, large 모델은 12개 사용

  • 구조는 BERT와 비슷

  • 차이점
    - decoder의 각 layer는 encoder의 final hidden layer와 cross-attention을 수행
    - BERT는 word-prediction을 위해 추가적인 feedforward net을 사용하지만 BART는 그렇지 않음
    - 전체적으로 BART는 BERT보다 10% 정도 더 많은 pamameter 소유

Pre-training BART

Corrupted document를 원복하는 방식으로 사전학습을 진행하는데 reconstruction loss는 decoder의 출력과 원본 문서 간 cross-entropy 사용

사전학습에 사용한 5가지 방법

  1. Token Masking: BERT의 것과 같음

  2. Token Deletion: token을 [MASK] token으로 바꾸는 대신 아예 없애버리는 것으로 모델은 사라진 위치를 찾아야 함

  3. Text Infilling: 그 길이가 λ=3

    poisson 분포를 따르는 여러 개의 text spans를 추출
    각 span은 하나의 [MASK]으로 대체
    SpanBERT에서 제안된 방식이지만, 다른 점은 SpanBERT에서는 다른 분포에서 샘플링을 하며 정확히 같은 길이의 [MASK] token으로 대체
    Text infilling은 모델이 span에서 얼마나 많은 token이 사라졌는지 예측해야 함

  4. Sentence Permutation: 문서를 여러 부분으로 나누어 임의로 섞음. 모델은 원래 순서를 맞춰야 함

  5. Document Rotation: 특정 지점을 잘라서 문서를 그 지점부터 시작하도록 변형. 모델은 원래 시작점을 찾아야 함

Fine-tuning BART

BART가 생성한 representation은 downstream applications에서 여러 방식으로 사용됨

Sequence Classification Tasks

  • 같은 입력이 encoder와 decoder 모두에 주어지고,
  • final decoder token의 final hidden state는 새로운 multi-class linear classifier에 입력으로 주어짐
  • 이는 BERT의 CLS token과 연관되어 있지만 BART에서는 이 추가적인 token을 끝에 추가하여 decoder에서 token의 representation이 decoder states를 처리할 수 있게 함

Token Classification Tasks

  • SQuAD의 answer endpoint classification와 같이 전체 문서를 encoder와 decoder에 주고
  • decoder의 top hidden state를 각 단어의 representation으로 사용
  • 이 representation은 token을 분류하는 데 사용된다.

Sequence Generation Tasks

  • BART는 autoregressive decoder를 갖고 있으므로 abstractive question answering나 summarization와 같은 생성 task에 바로 적용 가능
  • 둘 모두 정보를 입력에서 변형된 상태로 복사되며 이는 denoising pre-training objective와 긴밀히 연관됨
  • 여기서 encoder 입력은 input sequence
  • decoder는 출력을 autoregressive하게 생성

Machine Translation

  • BART 모델 전체를 하나의 encoder처럼 생각해 MT에도 적용 가능하도록 함
  • 정확히는, BART의 encoder embedding layer를 랜덤 초기화된 새로운 encoder로 교체
  • 모델은 end-to-end로 학습되며 새로운 encoder가 외국어 단어를 BART아 de-noise할 수 있는 영어 입력으로 mapping하도록 학습
  • 새로운 encoder는 원래 BART 모델와 다른 vocab 사용 가능

source encoder는 2단계로 학습

  • 둘 모두에서 BART 모델의 출력의 cross-entropy loss를 backpropagate 함
  • BART를 freeze
  • 새로운 encoder, BART positional embeddings, BART encoder의 첫 layer의 self-attention input projection matrix만 update
  • 이후 반복횟수를 조금만 하여 전체를 update

Comparing Pre-training Objectives

목적함수 비교, 데이터셋 및 Task 설명

Comparison Objectives

여러 pre-training objectives를 최대한 동일하고 공정한 환경에 놓고 비교 진행
비교대상: Language Model, Permuted Language Model, Masked Language Model, Multitask Masked Language Model, Masked Seq-to-Seq

Tasks

  • SQuAD: Wikipedia paragraphs을 사용하는 extractive question answering task
    정답은 주어진 document context에서 추출된 text spans이다.
  • MNLI: 한 문장이 다른 문장을 수반하는지 아닌지를 판단하는 bitext classifitation task
  • ELI5: long-form abstractive question answering dataset
  • XSum: 매우 추상적인 요약문을 포함하는 news summarization dataset
  • ConvAI2: context와 persona 조건을 갖는 dialogue response generation task
  • CNN/DM: news summarization dataset로 요약은 보통 source sentence와 깊은 연관

task에 따라 편차가 있지만, 전체적으로 봤을 때 BART + text infilling(혹은 여기에 Sentence shuffling까지) 방식이 좋다는 것을 확인

Large-scale Pre-training Experiments

최근 연구들 -> 모델 크기가 클수록 성능이 좋아짐
BART도 비교 실험을 진행, RoBERTa와 같은 크기로 맞추어 실험

Experimental Setup

  • 12 layer encoder/decoder
  • hidden size 1024
  • RoBERTa와 비슷하게 batch size는 8000, 반복수는 50만
  • Documents는 GPT-2와 같이 same byte-pair encoding 사용
  • text infilling과 sentence permutation을 사전학습 scheme으로 사용
  • 학습단계에서 10%를 dropout
  • 학습 데이터로 160GB 분량의 news, books, stories, web text 사용

Discriminative Tasks

표 2는 BART의 성능을 SQuAD, GLUE task에서 다른 모델과 비교한 결과

전반적으로 RoBERTa와 비슷

Generation Tasks

Summarization

  • CNN/DailyMail의 요약은 source sentences들과 비슷한 경향
  • Extractive 모델은 특히 이를 잘 다루지만 BART가 더 우세
  • 이에 반해 XSum은 매우 추상적이며 extractive 모델은 여기서 힘이 없음
  • BART는 점수 수치상 매우 크게 앞섬

Dialogue

모델은 이전 context와 텍스트로 명시된 persona에 기반해서 응답을 생성해야 하는 task

Abstractive QA

  • 장문의 자유형식 응답 문장을 생성하는 task에서도 기존 모델과 비교한 결과인데 3가지 metric 모두에서 앞서는 결과 보여줌
  • 그러나 데이터셋 자체는 challenging한데 answers는 질문에 의해 weakly specified하기 때문임

Translation

Qualitative Analysis

표 7에서 BART의 결과 확인 가능

  • WikiNews 기사에서 가져온 예시들로 모델의 학습 데이터에 있을 가능성을 제거한 상태
  • 첫 문장은 대체로 기사를 요약하는 내용이므로 이를 빼고 진행
  • 모델의 출력은 꽤 유창하고 문법적으로 별 문제 없음
  • 그러나 상당히 추상적이며 일부 구절은 그대로 가져온 부분이 있음
  • 조금 부족하기는 하나 BART의 사전학습 방식이 자연어 이해와 생성을 꽤 잘 한다는 결과라 볼 수 있다고 저자들은 주장

Related Work

  • Transformer, ELMo, OpenAI GPT, BERT
  • UniLM은 BERT를 mask의 ensemble로 fine-tune한 것으로 일부는 오직 왼쪽방향 context만 허용됨
    - BART와 같이, UniLM은 generative task와 discriminative task 모두에 사용될 수 있음
    -차이점: UniLM의 예측은 조건부 독립이지만 BART는 autoregressive하게 진행
  • MASS는 아마도 BART와 가장 비슷한 모델
    - 연속된 span of token이 maked되고 이를 추론하는 사전학습 방식으로 진행되지만 token들이 전혀 겹치지 않게 encoder와 decoder에 들어가 discriminative task에 약함
  • XL-Net은 순서가 섞인 masked token을 auto-regressive하게 예측하는 방식으로 BERT를 확장
    - 이는 왼쪽과 오른쪽 context를 모두 고려 가능하게 함
    -이에 반해 BART의 decoder는 왼쪽에서 오른쪽 방향만 사전학습 단계에서 고려

Conclusions

  • Corrupted documents를 원래대로 복원하는 사전학습 방식을 가진 BART 제안
  • Discriminative task에서 RoBERTa와 비슷한 성능을 보이면서도 text generation task에서는 SOTA를 달성
  • 추후 연구에서는 또 새로운 사전학습 방식을 탐구할 예정

https://greeksharifa.github.io/nlp(natural%20language%20processing)%20/%20rnns/2022/08/09/BART/

profile
모방은 창작의 어머니, 나는 그 딸

0개의 댓글