DeBERTa: Decoding-enhanced BERT with Disentangled Attention

Posted on Fri, Jun 25, 2021 NLP 논문리뷰
💡

DeBERTa 리비전 중 v5로 리뷰함

Abstract

DeBERTa

Disentangled Attention

A Two-vector approach to Content and Position embedding

문장 Sequence 내 특정 position i 에 있는 토큰 = Content Vector HiH_i, (Relative)Positional vector PijP_{i|j}(* j 는 다른 토큰의 position)

위 상태에서 2개의 토큰(i, j) 사이의 Attention을 구하는 방법은 두개를 곱! = 4개의 행렬곱 합

Ai,j={Hi,Pij}×{Hj,Pji}T=HiHjT+HiPjiT+PijHjT+PijPjiTA_{i,j} = \{H_i, P_{i|j}\} \times \{H_j, P_{j|i}\}^T = H_i H_j^T + H_i P_{j|i}^T + P_{i|j} H_j^T + P_{i|j} P_{j|i}^T

각각 content-to-contet, content-to-position, position-to-content, position-to-position 이지만..

여기서는 Relative Pos emb를 사용하기 때문에 pos emb간 attend하는 것은 의미가 없음 → 사용 안함

기존의 Attention(is all you need):

여기서 Relative position을 위한 정의를 하나 끼얹고...

Contents vector, Positional Vector를 각각 Qc Kc Vc Qr Kr 로 나타내면... (*여기서 Vr은 애초에 필요가 없음! Attention score 계산시 포함되지 않기 때문. Vc는 softmax 계산 이후 곱)

그리고 각각(c to c, c to p, p to c)에 대해 Attention 값인 Ac,Acp,ApcA_c, A_{c \to p}, A_{p \to c}를 계산해준다.

Enhanced Mask Decoder accounts for Absolute Word Positions

DeBERTa는 기본적으로 MLM 으로 학습하는 모델이지만, MLM에 있어서 Relative Positional Embedding 만 사용하는 것은 여러 이슈를 가져온다.

Absolute Position을 모델에게 전해주는 방법은 크게 두 가지

  1. BERT처럼, word emb를 전달할 때 애초에 합쳐서 전달해 주는 방법 (Input layer에서 추가)
  2. DeBERTa에서는 MLM softmax 취하기 직전에 값을 넣어서 합치는 방법 (Output layer 직전에 추가)
    • Called "Enhanced Mask Decoder(EMD)"
    • (당연히도) EMD가 1.번 방법보다 더 성능이 잘 나온다.

논문에서는 BERT보다 DeBERTa가 성능이 더 잘나오는 이유 중 하나가, Relative position info가 BERT에 부족하기 때문이 아닌지 의문을 제기한다.

또, 이때 Absolute position같은 '기타 정보'를 모델에 추가로 전달해 주는 것 역시 가능!

Scale Invariant Fine-Tuning

Virtual Adversarial Training 알고리즘

Virtual Adversarial training

위 문제를 해결하기 위해 제시된 것이 SiFT! = Normalized Word Embedding에 Perturbation을 해주자

  1. Normalize word emb → Stochastic vectors
  2. Perturbation to normalized vectors

단, 논문에서 실험은 DeBERTa1.5B_{1.5B}에만 적용함 (← 아마도 작은 모델들에서는 차이가 없어서?)

Experiments

Large Model

Train Config

Performance

GLUE Benchmark

MNLI Benchmark

Base Model

Train Config

Performance

MNLI Benchmark

Model Analysis: Why better performance?

Ablation Study

Model Scale up to 1.5B

DeBERTa는 1.5B scale의 거대 모델도 제공한다.

→ 48 Layers, 1536 Hidden, 24 Att Heads

모델 사이즈가 커지면서 효율성을 고려한 여러가지 방법 제시

1.5B 모델은 SuperGLUE에서 최초로 Human score 뛰어넘음!(Single Model 기준)

끗.