본문 바로가기

책 정리/구글 Bert의 정석

4.4장-Span BERT

Abstract

-  BERT의 파생 모델 중 하나.

- 토큰을 무작위로 마스킹하는 대신, 연속된 임의의 범위를 마스킹하고, 마스킹 된 전체 내용을 예측하도록 범위 경계 표현을 훈련함으로써 BERT를 확장한다.

- SpanBERT는 question-answering이나 coreference resolution와 같은 span selection task(텍스트의 범위를 예측하는 태스크)에 주로 사용된다.

coreference resolution 
- 임의의 개체(entity)를 표현하는 다양한 명사구들을 찾아 연결해주는 자연어처리 문제.

1. Introduction

-  BERT와 같은 Pre-Training 방법은 individual words나 subword units을 mask하는 self-supervised training을 사용하여 강력한 성능향상을 보여줬다.

- 그러나 많은 NLP Task는 두개 이상의 텍스트 범위 사이의 관계에 대한 추론을 포함한다.

"What teams met in the finals in this 2022World Cup?" 라는 질문이 주어졌을때 'France, Argentina'를 예측하는 것은 다음 단어가 France라는 것을 알때 Argentina를 예측하는것보다 훨씬 어렵다.

2. Model

 

- Span BERT의 접근방식은 BERT에서 영감을 얻었지만, 세 가지 방식에서 기존 BERT와 차이점이 존재한다.

1. random individual token이 아닌 random contiguous token을 mask한다.
2. 각 training example에 대해 하나의 연속된 text segment만 샘플링하므로 BERT의 NSP 태스크를 사용하지 않음.
3. Span Boundary Objective(SBO)를 제안했다. (span의 주변 토큰들을 이용하여 전체 masked span을 예측)

 

1) Span Masking

- token sequence의 15%가 masking되어있도록 만든다.

- 이때 span length를 짧은 길이에 편향된 기하 분포(geometric distribution), $l$ ~ $Geo(p)$에서 샘플링한다.

preliminary trial에 따라 기하 분포의 파라미터 $p$는 0.2로 설정하고 $ㅣ_{max} $로 설정한다.
결과적으로 span의 평균길이가 3.8이 되었다.

*여러 마스킹 체계에 대한 성능 비교 실험

더보기

 

Subword Tokens(하위 단어) : 원본 BERT에서 같이 무작위 WordPiece 토큰을 생성.

Whole Words(전체 단어) : 무작위 단어를 샘플링한 다음 해당 단어의 모든 하위 단어 토큰을 마스킹.

Name Entities(명명된 개체) : 전체 토큰의 50%는 명명된 개체에서 샘플링,  나머지 50%은 임의의 전체 단어를 샘플링

Noun Phrases(명사구) : Name Entities와 유사하게 50%는 명사구에서 샘플링

Geometric Spans(기하학적 범위) : 기하학적 분포에서 무작위 범위를 샘플링

 

Geometric Spans방식으로 샘플링을 진행했을때 가장 성능이 좋았음.

- 항상 span의 길이는 subword token이 아닌 complete word sequence가 기준이며 항상 cws만 샘플링한다.

- span의 시작점은 랜덤하게 선택된다.

2) Span Boundary Objective(SBO)

- Span BERT에서는 span 경계에 있는 토큰의 표현을 사용하여 예측하기위해 SBO가 도입되었다.

- 이러한 모델을 지원하기 위해 span의 끝에 대한 표현이 가능한 많은 내부 span content를 요약하는 것이 이상적.

- 공식화하면 $ masked span of token(x_s,...,x_e) ∈ Y$, 여기서 (s, e)는 시작 및 끝 위치를 나타낸다.

- 마스크된 토큰 $y_i$를 예측하기 위해 span 경계 표현인 $R_{s-1}, R_{e+1}$ 그리고 $y_i$의 position embedding $P_i$를 사용한다.

- 위 과정을 구현할 때에는 다음과 같이 GeLU activation Function과 Layer Normalization을 결합한 2개의 FFNN을 결합하여 사용한다.

- Span BERT의 손실 함수는 MLM과 SBO의 loss를 더한 값이다.

 

3) Single-Sequence Training

- BERT의 경우 sequence 두개를 뽑아 ($X_A, X_B$)모델이 NSP 태스크를 수행하도록 한다.

- 하지만 이러한 task가 너무 쉽기도 하고, 오히려 더 안좋은 결과를 보임이 관측되었다.

- 본 논문에서는 따라서 NSP objective와 two-segment sampling보단 토큰의 개수 n이 최대 512인 하나의 긴 segment을 sampling한다.

 


3. Results

-  Span BERT는 여러 Question-Answering 데이터셋들에서 기존 BERT 모델보다 일관적으로 향상된 성능을 보여줌.


 

요약하면 SpanBERT는

1. 기하학적 분포를 기반으로 토큰을 연속적으로 마스킹

2. single sequence data를 사용하는 MLM과 주변 토큰을 통해 MASK된 토큰을 예측하는 SBO태스크를 사용함

 

 

 

'책 정리 > 구글 Bert의 정석' 카테고리의 다른 글

8-1 장. sentence-BERT  (0) 2023.02.14
5장. 지식 증류 기반 BERT 파생 모델  (0) 2023.02.08
4-3장. ELECTRA  (1) 2023.02.01
3장. BERT 활용하기  (2) 2023.01.31
2장. BERT 시작하기  (0) 2023.01.29