[논문 리뷰] SpanBERT: Improving Pre-training by Representing and Predicting Spans

gyoon·2025년 2월 25일

NLP

목록 보기
7/12

💡 BERT란?


  • BERT는 Word2Vec, GloVe 등의 정적인 워드 임베딩과 LSTM 기반 언어 모델의 한계를 극복하기 위해 개발된 모델이다.
  • BERT는 트랜스포머 구조를 활용하여 양방향 문맥 정보를 학습하며, Masked Language Model(MLM)과 Next sentence prediction(NSP)을 통한 사전 훈련을 거쳐 다양한 NLP 태스크에서 뛰어난 성능을 보이는 모델이다.

BERT의 자세한 리뷰는 이전 논문 리뷰에서 다루었으니 BERT에 대한 자세한 내용을 보고 싶으시면 NLP 논문 리뷰 - BERT 를 참고하시면 좋을 것 같습니다.
(자세하게 설명해 놓았습니다!😊)


📖 논문으로


🔹Abstract


저자는 텍스트의 범위를 보다 잘 표현하고 예측할 수 있도록 설계된 사전 학습 기법인 SpanBERT를 제시한다.
이 방법은 BERT를 두 가지 방식으로 확장한다.

SpanBERT

1. 무작위 토큰 대신 연속된 무작위 텍스트 범위를 마스킹
2. 범위 내부의 개별 토큰 표현에 의존하지 않고 마스킹된 범위의 전체 내용을 예측하도록 범위 경계 표현을 학습

SpanBERT질문 응답이나 coreference 해결과 같은 범위 선택 작업에서 BERT 및 최적화된 기존 베이스라인 모델들을 능가한다.

특히, BERT_LARGE와 동일한 학습 데이터와 모델 크기를 사용할 때 단일 모델로 SQuAD 1.1에서 94.6%, SQuAD 2.0에서 88.8%의 F1 점수를 기록했다. 또한, OntoNotes coreference 해결 작업에서는 79.6%의 F1 점수로 새로운 최고 성능 달성했으며, TACRED 관계 추출 벤치마크에서 GLUE에서도 우수한 성능을 보였다.


🔹Introduction


BERT와 같은 사전학습 방법들은 개별 단어나 서브워드 단어를 마스킹하는 자가 지도 학습을 통해 강력한 성능 향상을 보여주었다. 하지만, 많은 자연어 처리 작업에서는 두 개 이상의 텍스트 범위 간의 관계를 추론하는 과정이 포함된다.

추출적 질의응답(extractive question answering)에서는 "Denver Broncos""NFL 팀"의 한 종류임을 판단하는 것이 "어떤 NFL 팀이 슈퍼볼 50에서 우승했는가?"라는 질문에 답하는 데 매우 중요

이러한 범위들은 자가 지도 학습 작업에 있어 더 도전적인 목표를 제공하는데, 예를 들어 다음 단어가 "Broncos"임을 알 때 "Denver"만 예측하는 것보다 "Denver Broncos" 전체를 예측하는 것이 훨씬 어렵다.

본 논문에서는 범위 선택 작업(질의 응답, coreference 해결 등)에서 특히 두드러지는 성능 향상을 보이며 일관되게 BERT를 능가하는 범위 수준 사전 학습 접근법을 소개한다.

SpanBERT는 텍스트의 범위를 보다 효과적으로 표현하고 에측하도록 설계된 사전학습 방법이다. 이 방법은 다음 두 가지 측면에서 기존 BERT와 차별화된다.

✨기존 BERT와 차이점

  • 마스킹 방식
    기존 BERT는 개별 토큰을 무작위로 마스킹하는 반면, SpanBERT는 연속된 텍스트 범위를 무작위로 마스킹한다.
  • 학습 목표
    새로운 범위 경계 목표(span-boundary objective, SBO)를 도입하여, 모델이 마스킹된 범위의 양쪽 경계에 위치한 토큰들로부터 전체 범위를 예측하도록 학습한다.

범위 기반 마스킹모델이 해당 범위가 등장하는 문맥만을 사용해 전체 범위를 예측하도록 강제하며, SBO는 모델이 범위 수준의 정보를 경계 토큰에 저장하게 하여 미세 조정 단계에서 쉽게 활용할 수 있도록 한다.

SpanBERT를 구현하기 위해, 원래의 BERT보다 훨씬 뛰어난 성능을 보이는 잘 튜닝된 BERT 복제본을 기반으로 한다.

Next Sentence Prediction(NSP)를 사용하는 것보다 single segment를 사용하는 것이 대부분의 downstream task에서 성능을 크게 향상시켰다. 제안하는 사전 학습 과정은 다양한 task에서 모두 BERT를 능가하는 모델을 산출하였고 특히 span selection task에서 실질적으로 더 나은 성능에 도달하였다.

마지막으로 SpanBERT는 span selection과 관련이 없는 task(TACRED, GLUE)에서도 성능이 향상됨을 보여주었다. 더 많은 데이터를 추가하고(Yang et al., 2019-XLNet) 모델 크기를 늘리면 (Lample and Conneau, 2019-XLM) 이점을 보여주지만, 본 논문은 우수한 pre-train task 및 objective를 잘 설계하는 것이 중요하다는 점을 보여주었다.


🔹Backgroud: BERT


BERT(Devlin et al., 2019)는 특정 downstream task에 맞게 미세 조정하기 전에, deep transformer encoder를 사전 학습하는 자기 지도 학습 방식이다. BERT는 많은 양의 레이블이 없는 텍스트만으로 수행할 수 있는 두 가지 학습 목표, 즉 마스킹 언어 모델(MLM)다음 문장 예측(NSP)최적화 한다.

표기법 : enc(x1,x2,...,xn)=(x1,x2,...,xn).enc(x_1, x_2, ... , x_n) = (x_1, x_2, ..., x_n).
단어 또는 서브워드 토큰의 시퀀스 X=(x1,x2,...,xn)X = (x_1, x_2, ... , x_n)가 주어졌을 때, BERT는 각 토큰에 대해 문맥화된 벡터 표현을 생성하는 인코더를 학습한다.

Maksed Language Modeling (MLM): sequence에서 누락된 token을 예측하는 task

  • MLM은 입력 문장에서 전체 토큰위 15%를 무작위로 선택하여, 그 중 80%는 [MASK]로, 10%는 임의 토큰으로, 10%는 그대로 유지한 후 마스킹된 토큰들을 원래 토큰으로 복원하는 작업
  • BERT는 개별 토큰을 독립적으로 선택하는 반면, SpanBERT는 연속된 토큰 그룹을 선택

Next Sentence Prediction (NSP): 두 sequence (XA,XB)(X_A, X_B)를 입력으로 받아, XBX_BXAX_A와 직접적인 연속인지 여부 예측

  • BERT는 먼저 코퍼스로부터 XAX_A를 읽고, 그 후 XAX_A가 끝난 지점에서 XBX_B를 읽거나, 코퍼스의 다른 지점에서 XBX_B를 무작위로 샘플링
  • 두 시퀀스는 특수 토큰 [SEP]로 구분되며, 추가로 입력의 맨 앞에 [CLS] 토큰이 추가되어, 이 [CLS]의 목표는 XBX_B가 실제로 코퍼스에서 XAX_A를 따르는지 여부를 나타내는 것

요약하면, BERT는 이중 시퀀스 샘플링 절차로 생성된 데이터에서 단어 조각들을 무작위로 균일하게 마스킹함으로써 MLM과 NSP 목표를 최적화한다.


🔹Model


저자는 텍스트의 범위를 보다 잘 표현하고 예측하도록 설계된 자가 지도 학습 기반 사전학습 방법SpanBERT를 제시한다.

본 접근법은 BERT에서 영감을 받았으나, BERT의 두 텍스트 분류 프레임워크와는 세 가지 측면에서 차이가 있다.

  1. 개별 토큰 대신 토큰의 연속된 범위를 마스킹하기 위해 다른 무작위 과정을 사용
  2. 범위의 경계에 위치한 토큰들의 표현만으로 전체 마스킹된 범위를 예측하려는 새로운 보조 목표인 범위 경계 목표(SBO)를 도입
  3. SpanBERT는 각 학습 예제마다 두 개의 텍스트 세그먼트 대신 하나의 연속된 텍스트 세그먼트를 샘플링하므로, BERT의 다음 문장 예측 목표를 사용하지 않는다.

🔻Span Masking

token으로 구성된 sequence X=(x1,...,xn)X = (x_1, ..., x_n)가 주어지면 masking budget(e.g., 15% of XX)이 사용될때까지 text span을 반목적으로 샘플링하여 token YXY ⊆ X를 선택

span 선택 과정

  • span 길이 샘플링: 기하분포(Geo(p),p=0.2)(Geo(p), p=0.2)를 사용해 스팬의 길이(단어 수)를 결정하며, 최대 길이는 10으로 제한
    → 이 과정으로 평균 span 길이는 약 3.8 단어가 된다.
  • span 시작점: 균등 분포를 사용해 마스킹할 스팬의 시작점을 임의로 선택
    (시작점은 반드시 완전한 단어의 시작이어야 하며, 서브워드 단위는 사용하지 않음)

마스킹 방식

  • 전체 토큰의 15%를 마스킹BERT와 동일
    80%는 [MASK] 토큰으로, 10%는 임의의 토큰으로, 10%는 원래 토큰으로 대체
    (선택된 span 전체에 대해 동일하게 적용)


🔻Span Boundary Objective (SBO)

Span selection model(Lee et al.,2016,2017;He et al.,,2018)는 일반적으로 경계 토큰(시작 및 끝)을 사용하여 span의 고정 길이 표현을 생성한다.

이런 모델을 지원하기 위해, 저자는 span 끝의 표현이 가능한 한 많은 span 내부 콘테츠를 요약할 수 있기를 바란다.
이를 위해, 저자는 마스킹된 span의 각 토큰을 경계에서 관찰된 토큰의 표현만을 사용하여 예측하는 범위 경계 목표(span boundary objective, SBO)를 도입한다.

입력 시퀀스와 마스킹

  • 전체 토큰 시퀀스 X=(x,x,,x)X = (x₁, x₂, …, xₙ)일부 span이 마스킹된다.
  • 마스킹된 span은 위치 s부터 e까지의 토큰, 즉 (x,,x)(xₛ, …, xₑ)로 표시된다. ((s,e)(s,e)는 시작 및 끝 위치)

경계 토큰 활용

  • 마스킹된 span의 양쪽 경계, xs1x_{s-1} (왼쪽 경계)와 xe+1x_{e+1} (오른쪽 경계)의 출력 인코딩을 사용
  • 마스킹된 토큰 xi(sie)x_i (s ≤ i ≤ e)에 대해, 경계 토큰과의 상대 위치 정보를 나타내는 위치 임베딩 Pis+1P_{i-s+1} 도 함께 사용

표현 함수 f()f(·)의 구성

  • 각 토큰 xix_i에 대한 새로운 표현 yiy_i는 아래와 같이 계산 → yi=f(xs1,xe+1,pis+1)y_i = f(x_{s-1}, x_{e+1}, p_{i-s+1})
  • 이 함수 f()f(·)는 2계층 피드포워드 네트워크로 구현되며, GeLU 활성화와 레이어 정규화 적용
    h0=[xs1;xe+1;pis+1]h_0 = [x_{s-1}; x_{e+1}; p_{i-s+1}]
    h1=LayerNorm(GeLU(W1h0))h_1 = LayerNorm(GeLU(W_1·h_0))
    yi=LayerNorm(GeLU(W2h1))y_i = LayerNorm(GeLU(W_2·h_1))

학습 목표와 손실 함수

  • 경계 기반 표현 yiy_i를 사용해 마스킹된 토큰 xix_i를 예측
  • 경계 토큰에 span 내부의 정보를 효과적으로 압축할 수 있도록 한다.

손실 함수 구성
각 마스킹된 토큰에 대해, 두 가지 손실을 계산한다.

  • MLM 손실: 표준 MLM 방식으로 계산되는 손실
  • SBO 손실: 경계 기반 표현 yiy_i를 사용해 xix_i를 예측하는 손실
    최종 손실 L(xi)=LMLM(xi)+LSBO(xi)L(x_i) = L_{MLM}(x_i) + L_{SBO}(x_i)
    (여기서, 대상 토큰의 입력 임베딩은 MLM과 SBO 모두에서 재사용)

✅ SpanBERT는 경계 토큰을 활용해 마스킹된 span 내부의 정보를 효과적으로 요약하고자 SBO를 도입하였다.
✅ 이 방식은 span 선택 작업(ex: 질문 응답, coreference 해결)에서 모델의 성능 향상에 기여


🔻Single-Sequence Training

위에서 설명한 바와 같이, BERT의 예제는 두 개의 텍스트 시퀀스 (XA,XB)(X_A, X_B)를 포함하여, 이들의 연결되어 있는지를 예측하는 목표(NSP)를 사용한다.

그러나 우리는 NSP 목표 없이 단일 시퀀스만을 사용하는 설정이 거의 항상 더 나은 성능을 보인다는 것을 확인했다.

단일 시퀀스 학습이 NSP를 포함한 두 시퀀스 학습보다 우수한 이유(추측)

  • 모델이 더 긴 전체 문맥을 활용할 수 있다.
  • 관련 없는 다른 문서의 문맥을 조건으로 사용하면 마스킹 언어 모델에 노이즈가 추가된다.

따라서, 저자의 접근법에서는 NSP 목표와 두 세그먼트를 샘플링하는 절차를 모두 제거하고, 대신 최대 n=512 토큰으로 구성된 단일 연속 시퀀스만을 샘플링한다.

SpanBERT의 span representation을 사전학습
1. 기하 분포 기반 마스킹 기법을 사용하여 완전한 단어 span을 마스킹
2. 단일 시퀀스 데이터 파이프라인을 사용하여, 마스킹 언어 모델(MLM) 외에 SBO 최적화


🔹Conclusion


저자는 span 기반 사전 학습을 위한 새로운 방법을 제시하였다. 이 방법은 BERT를 다음과 같이 확장한다.

개별 토큰이 아닌 연속된 무작위 span을 마스킹
마스킹된 span 내부의 개별 토큰 표현에 의존하지 않고, span 경계 표현을 사용하여 전체 마스킹된 span의 내용을 예측

이러한 사전학습 과정을 통해, 저자는 다양한 작업에서 기존 BERT 베이스라인을 능하하는 모델을 생성하였으며, 특히 span 선택 작업에서 더욱 뛰어난 성능을 달성하였다.


👀 My thougths


  • 기존 BERT 방식에서 개별 토큰이 아닌 연속된 span을 마스킹한다는 아이디어가 놀라웠다.
  • SpanBERT 이외에도 다른 BERT 기반 모델에 대해 더 공부해보고 싶다.

2개의 댓글

comment-user-thumbnail
2025년 3월 3일

BERT에 대해서만 알고 있었는데 관련돼서 새로운 논문 볼 수 있어서 좋았습니다!

답글 달기
comment-user-thumbnail
2025년 3월 3일

덕분에 SpanBERT에 대해서도 알고 갑니다

답글 달기