잡지식

BART 논문 리뷰

엔지니어아빠 2023. 10. 24. 22:13
728x90
반응형

출처 : https://velog.io/@choonsik_mom/BART-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0

 

BART 논문 리뷰

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension(2019) 논문을 읽고 내용 요약 및 정리

velog.io

 

논문 : BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension(2019) 

 

Abstract

BART는 seq2seq 모델을 사전학습하기 위한 denoising autoencoder(DAE, 잡음제거 오토 인코더)다.

 

BART는 (1) 임의의 noising function으로 텍스트를 손상시키고, (2) 모델이 원본 텍스트를 재구축할 수 있도록 학습시킨다.

 

본 논문에서는 많은 잡음 부여 접근법(noising approaches)에 대해 평가하는데, 일정 구간 텍스트가 단일 마스크 토큰으로 대체되는 원본 문장의 순서를 뒤섞고 새로운 in-filling scheme을 사용함으로써 가장 최고의 성능을 찾는다.

 

BART는 텍스트 생성(text generation)을 위해 파인튜닝될 때 특히 효율적이며, 

              독해 태스크(comprehension task)에도 잘 작용한다.

 

BART는 GLUE와 SQuAD에서 비슷한 training resources를 사용한 RoBERTa의 성능과 필적하고,

              abstractive dialogue, QA, summarization task와 같은 다양한 범주에서 6 ROUGE(텍스트 요약 모델의 성능 평가 지표)까지 성능을 끌어올리며, 새로운 SOTA 성능을 가져온다.

 

또한, BART는 타겟 언어 사전학습만으로 기계 번역의 back-translation system에서 1.1 BLEU 스코어를 상승시킨다.

 

본 논문에서는 BART 프레임워크 내에서 다른 사전학습 방법들을 모방하여(replicate) 어떤 요인이 앤드 테스크의 성능에 가장 큰 영향을 끼치는지 더 잘 측정하고자 한다.

 

Introduction

자기지도(Self-supervised) 방법론은 다양한 NLP 태스크에서 큰 성공을 가져왔다.

가장 성공적인 접근법은 MLM(Masked Language Model)의 변형으로, 이러한 접근법은 임의 단어들의 부분집합이 마스킹된 텍스트를 재구축(reconstruct)하도록 학습되는 denoising autoencoder(잡음 제거 오토인코더)이다.

 

최신 연구는 마스킹된 토큰의 분배, 마스킹된 토큰의 예측 순서, 마스킹된 토큰의 대체 문맥을 개선함으로써 발전해 왔다. 그러나 이러한 방법론들은 전형적으로 앤드 태스크의 특정 유형에만 집중하며, 적용가능성(applicability)을 제한시킨다 (예를 들면, 구간 예측, 생성 등).

 

본 연구는 양방향 트랜스포머(bidirectional Transformer)와 자기 회귀 트랜스포머(auto-regressive Transformer)를 결합한 모델을 학습시키는 BART를 제시한다.

 

BART는 상당히 광범위한 앤드 태스크에 적용할 수 있는 seq2seq 모델로 구축된 잡음 제거 오토인코더다.

 

사전 학습은 2가지 단계로, (1) 텍스트가 임의 잡음 함수에 의해 손상되고,

                                           (2) seq2seq 모델이 원본 텍스트를 재구축하기 위해 학습된다.

 

BART는 표준 트랜스포머 기반 뉴럴 기계 번역 구조를 사용하는데, 이러한 구조는 그 단순성에도 불구하고, BERT(양방향 인코더), GPT(우향 디코더), 그리고 다른 최신 사전학습 방법들을 일반화하는 것으로 볼 수 있다 (Figure 1 참조).

(Figure 1) BART와 BERT(Devlin et al., 2019) 그리고 GPT (Radford et al., 2018) 도식적 비교

 

Model

BART는 손상된 도큐먼트를 원본 도큐먼트에 사상시키는 잡음 제거 오토인코더이다.

 

이는 손상된 텍스트에 대하여 양방향 인코더와 우향(left-to-right) 자기회귀 디코더를 갖는 seq2seq 모델로 구현된다. 우리는 사전학습을 위해 원본 도큐먼트의 음의 로그 우도(negative log-likelihood)를 최적화한다.

 

BART는 Vaswani et al. (2017)의 표준 seq2seq Transformer 구조를 사용하는데,

                                                    GPT를 계승하여 ReLU 활성화 함수를 GeLUs로 변경하여 사용하고, 

 (0, 0.02)`에서 파라미터를 초기화한다. 

 

베이스 모델은 인코더와 디코더에 6개의 층을 사용하고, 

                  라지 모델에서는 각각 12층을 사용한다.

 

이러한 구조는 BERT에서 사용되는 구조와 밀접하게 연관되어 있는데, 다음과 같은 차이점이 있다 :

(1) 디코더의 각 층은 인코더의 최종 은닉층에 cross-attention을 수행한다 (transformer seq2seq model에서와 같음).

그리고 (2) BERT는 단어 예측 이전에 부가적으로 피드 포워드 신경망을 사용하는데,

                 BART에서는 이러한 신경망을 사용하지 않는다.

 

종합하면, BART는 동등한 크기의 BERT 모델보다 대략 10%개의 파라미터를 더 많이 갖는다.

 

BART는 도큐먼트를 손상시킨 후 재구축 손실, 즉 디코더의 출력과 원본 도큐먼트 간의 크로스 엔트로피 손실을 최적화함으로써 학습된다.

 

특정한 noising scheme에 맞추어진 기존 잡음 제거 오토인코더와는 다르게, BART는 어떠한 부류의 도큐먼트 손상에도 적용할 수 있도록 한다.

본 논문에서는 도큐먼트 변형 방법(손상 방법)들에 대해 실험하는데, 사용된 변형법은 아래서 설명하며 Figure 2에서 그 예를 보여준다.

  • Token Masking(토큰 마스킹) : BERT와 같이 임의의 토큰이 샘플되고 [MASK] 엘리먼트로 대체된다.
  • Token Deletion(토큰 제거) : 임의의 토큰은 입력에서 제거된다. 토큰 마스킹과는 대조적으로, 모델이 어떤 위치의 입력이 손실될지 정해야 한다.
  • Text Infilling(텍스트 내부 삽입) : 많은 텍스트 구간이 샘플링되는데, 구간 길이는 포아송 분포 (λ = 3)에서 도출된다. 각 구간은 단일 [MASK] 토큰으로 대체된다. 길이 0 구간은 [MASK] 토큰의 입력에 대응한다.
    Text infilling은 SpanBERT에서 영감을 받은 것인데, SpanBERT는 다양한 (고정된) 기하 분포에서 구간 길이를 샘플링하고, 각 스팬을 정확히 같은 길이의 일련의 [MASK] 토큰으로 대체한다. Text infilling은 얼마나 많은 토큰이 한 구간에서 손실되었는지를 모델에 학습시킨다.
  • Sentence Permutation(문장 치환) : 도큐먼트는 마침표에 기반하여 문장으로 나뉘어 지고, 이러한 문장들은 임의의 순서로 뒤섞인다.
  • Document Rotation(도큐먼트 순환) : 토큰은 임의로 균일하게 선택되고, 도큐먼트는 순환하여 그 토큰으로 시작할 수 있도록 한다. 이러한 태스크는 모델이 도큐먼트의 시작을 식별할 수 있도록 훈련시킨다.

 

Fine tuning BART

BART에서 생성된 표현(representations)은 다운스트림에 적용하기 위해 몇 가지 방식으로 사용될 수 있다.

시퀀스 분류(sequence classification) 태스크를 위해, 인코더와 디코더에 동일한 입력이 부여되고, 최종 디코더 토큰의 최종 은닉층이 새로운 다중 분류 선형 분류기에 입력된다. 이러한 접근법은 BERT의 CLS 토큰과 연관되어 있다. 그러나, 우리는 디코더의 토큰 표현이 완전한 입력에서 디코더 상태에 집중할 수 있도록 최종적으로 부가적인 토큰을 추가한다. (Figure 3a)

SQuAD의 answer endpoint 분류와 같은 토큰 분류(Token Classification) 태스크를 위해, 우리는 완전한 도큐먼트를 인코더와 디코더에 입력하고, 디코더 은닉층의 최상층을 각 단어의 표현으로 사용한다. 이러한 표현은 토큰을 분류하기 위해 사용된다.

BART는 자기회귀 디코더를 갖기 때문에, abstractive QA summarization과 같은 시퀀스 일반화(Sequence Generation) 태스크에 직접적으로 파인튜닝 될 수 있다. 이러한 태스크에서, 정보는 마스킹된 토큰 입력으로부터 복제되지만 조작되는데(manipulated), 이는 잡음 제거 사전학습 objective와 밀접하게 연관되어 있다. 여기서, 인코더의 입력은 입력 시퀀스이며, 디코더는 출력을 자기회귀적으로 생성한다.

또한, BART를 사용하여 영어 기계 번역 디코더를 발전시키는 방법을 탐구한다. 선행 연구 Edunov et al. (2019)는 사전학습 인코더를 통합함으로써 모델이 발전할 수 있다는 것을 입증했으나, 디코더에서 사전학습 언어 모델을 사용하여 얻는 이점은 제한되어 있었다. 본 논문에서는 bitext에서 학습된 새로운 인코더 파라미터 셋을 더하여 전체 BART 모델을 (인코더와 디코더 모두) 기계 번역을 위한 하나의 단일 사전학습 디코더로서 사용하는 것이 가능함을 입증한다 (Figure 3b 참조).

(Figure 3) 분류와 번역을 위한 BART 파인튜닝

더 명확하게, 본 연구에서는 BART의 인코더 임베딩 레이어를 임의로 새로 초기화된 인코더로 대체한다. 이러한 모델은 end-to-end로 학습되는데, 이는 새로운 인코더가 외래어를 BART가 잡음을 제거하여 영어로 만들 수 있는 입력으로 사상시키도록 학습시킨다. 새로운 인코더는 원본 BART 모델에서 분리된 어휘를 사용할 수 있다.

본 연구에서는 원천 인코더를 두 단계로 학습시키는데, 모든 경우에 BART 모델의 출력으로부터 크로스 엔트로피 손실을 역전파한다. 첫 단계에서 우리는 BART의 파라미터 대부분을 동결시키고, 임의로 초기화된 원천 인코더와 BART의 positional embedding, 그리고 BART 인코더의 첫번째 레이어에서 셀프 어텐션 입력 투영 행렬(self-attention input projection matrix)만을 업데이트한다. 두 번째 단계에서, 약간의 이터레이션으로 모든 모델 파라미터를 학습시킨다.

728x90
반응형

'잡지식' 카테고리의 다른 글

tensorflow vs pytorch 그리고 hugging face  (1) 2023.10.25
구글 코랩  (0) 2023.10.25
Jump through hoops  (0) 2023.07.27
Kiss something goodbye  (1) 2023.07.26
영어 표현 On the table  (2) 2023.07.21