본문 바로가기

AI/자연어처리 (NLP)

[Paper Review] BART (2020)

BART


Background

BART는 Facebook AI이 ACL에서 발표한 2020년도 논문으로, 요약 태스크에서 굉장한 강세를 보이고 있는 모델 구조이다. NLP 분야에서 BERT 와 같은 Masked Language Model(MLM)이 큰 성과를 올렸고, 이를 대체할 모델이 현재까지도 몇 없다. 기존의 MLM 방식은 Denosing Auto Encoder 방식으로, 랜덤하게 subword를 Masking하고 그곳을 재구축하게 만들었다. 다시 말해, Denosing Auto Encoder 방식은 의도적으로 데이터에 noise를 주고 이 noise를 제거하여 원 데이터를 생성 및 추출하여 원래 값과 비교하는 방식이다. 이 방법은 데이터에서 안정적인 구조를 뽑아내어 robustness를 높인다는 장점이 있다. 그러나 특정 태스크에 국한되어 응용성이 떨어진다는 한계도 존재한다

Systematic Comparision of BART with BERT and GPT

논문에서는 BART의 구조적 특징을 BERT와 GPT 모델과 비교하여 설명을 도왔다. BART는 Bidirectional Transformers(BERT)에 Auto-Regressive Transformers(GPT)를 결합한 seq2seq 구조의 denosing autoencoder 모델이다. 이 때문에 MLM과는 달리 여러 end task에 응용성이 높다는 장점을 지닌다.

  • Bidirectional Transformers: 양방향 트랜스포머

양방향 트랜스포머 구조인 BERT에서는 각각의 masking 된 토큰이 독립적으로 예측되기 때문에 생성 태스크에 사용되기 어렵다.

  • Auto-Regressive Transformers : 자기 자신을 입력으로 하여 자기 자신을 예측하는 모형

Auto-Regressive Transformers 구조인 GPT 계열 모델은 단어가 오직 왼쪽 방향의 문맥에만 의존하기에 전체(양방향) 문맥을 배우기 어렵다는 한계가 있다.

BART는 BERT와 GPT 모델의 구조적 특징을 결합한 모델로, 일반적인 seq2seq 아키텍처 골격을 가진다.

  • 인코더 입력을 디코더 출력과 align 할 필요가 없으므로 임의의 noise transformation을 허용
  • 왼쪽의 손상된 (masking) 문서는 bidirectional model로 인코딩 되고, 그 다음 오른쪽 원본 문서로의 likelihood는 autoregressive decoder로 인해 계산됨
  • Fine-tuning 시에 원본 문서가 encoder와 decoder에 모두 입력되며, 우리는 decoder의 마지막 hidden state로부터 얻은 representation을 사용한다.

Model Architecture

  • seq2seq 트랜스포머 구조를 사용
  • activation function ReLU → GeLUs
  • Base model은 6 layer, Large model은 12 layer를 사용
  • BERT와의 주요한 차이
    • 디코더의 각 레이어에서 인코더의 마지막 hidden layer 이후 cross-attention을 추가 실행
    • BERT와는 달리 word prediction을 위해 FFN을 추가하지 않음
    • 파라미터 10% 정도 많음

Pre-training BART

BART는 문서를 파괴하고, 이후 디코더의 출력과 원본 문서와의 cross-entropy 재구축 로스를 최적화하는 방향으로 학습된다. 이때, 기존의 Autoencoder 모델과는 다르게 어떤 문서 파괴라도 허용한다. (allows us to apply any type of document corruption) 극단적으로는 모든 원본 소스가 없어진 상태도 okay

이 논문에서는 아래와 같은 5가지 nosing 기법을 사용하였다.

  • Token Masking : BERT처럼 랜덤한 토큰들이 [mask] 토큰으로 대체되고 이를 복구시킴
  • Token Deletion : 랜덤하게 토큰들이 삭제됨. Token masking과는 다르게 모델은 어떤 위치에서 토큰들이 삭제될 지를 결정해야만 함
  • Text Infilling : 여러 길이의 텍스트 범위가 랜덤으로 선택되고, 텍스트 길이는 포아송 분포로부터 결정됨. 0부터 범위 길이까지는 단일 [mask] 토큰으로 대체됨. (여러 토큰이 하나의 mask 토큰으로 대체 가능) Text infilling 은 모델로부터 얼마나 많은 토큰이 하나의 범위 내에서 제거되었는지를 예측하게끔 만듦
  • Sentence Permutaion : 개별 문장의 순서가 임의로 뒤섞임
  • Document Rotation : 임의의 토큰이 선택되고, 이 토큰이 문서의 시작이 되도록 문서의 순서를 바꿈. 모델로부터 문서의 시작점을 구별해내게끔 함.

Fine-Tuning BART

  • BART는 autoregressive 디코더를 갖고 있으므로 바로 fine-tuning이 가능 (??)
  • 입력으로부터 제공된 정보는 denosing pre-training 목표와 비슷하게 변형됨
  • 인코더에 입력값이 제공되면 디코더에서 output을 autoregressive하게 생성함

Experiments

이처럼 바트는 대화 태스크와 요약 태스크에 기존 모델보다 굉장히 뛰어난 성능적 우위를 보이는 만큼 대화 요약 태스크에 적합한 모델군이라 볼 수 있다.


KoBART (코바트)

: Korean Bidirectional and Auto-Regressive Transformers

Background

  • SK텔레콤에서 개발한 한국어 BART
  • facebook 논문에서 사용된 Text Infilling 노이즈 함수를 사용
  • 40GB 이상의 한국어 텍스트에 대해 학습한 한국어 encoder-decoder 언어 모델
  • 2억7500만개 문장 분량의 한국어 텍스트 원문을 활용해 학습
    • 한국어 위키백과 문장 500만개
    • 청와대 국민청원에서 재작년 8월 이전 기준으로 만료된 청원 데이터
    • 국립국어원이 20.08.25 공개한 '모두의 말뭉치' 데이터(대화·뉴스 등)의 문장 2억7000만개
  • 3주 동안 1억2400만개 파라미터를 사용해 코바트를 학습시킴
  • 감정 분류 태스크
    • NSMC 테스트 정확도 90.07%
  • 두 문장 의미 유사성 판별 태스크
    • KorSTS 스피어만 상관계수 평가 81.31점
    • Question Pair 정확도 93.80%
  • 내부 GPU 자원을 활용

'AI > 자연어처리 (NLP)' 카테고리의 다른 글

Transfer Learning in NLP  (0) 2021.02.09