[Paper Reveiw] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

이신행·2024년 11월 26일

Abstract

  • BERT는 대용량 unlabeled 데이터에서 pre-train을 진행한 후, 이를 특정 labeled data로 fine-tuning(전이학습, transfer learning)하는 모델입니다.
  • Transformer 구조를 활용한 Language Representation에 관련된 모델입니다.
  • BERT 이전의 모델과의 차이는 Deep bidirectional이라는 점입니다. ↔ shallow bidirectional
  • BERT는 넓은 확장성과 성능 역시 기존의 모델들을 초월한다고 언급합니다.
    • 새로운 모델을 붙이는 것 대신, 기존 모델에 Fine-tuning하는 형식으로 State-of-the-art 갱신

1. Introduction

기존의 Language model pre-training은 여러 NLP 성능을 향상시키는데 효과가 있음이 알려졌습니다. 이러한 부분은 두 문장의 관계를 전체적으로 분석해 예측하는 것을 목표로 합니다.

또한 문장 뿐만 아니라 개체명 인식 등의 토큰 단위의 업무에서도 좋은 성능을 보였는데, 이러한 모델은 token 단위의 fine-grained output을 만들어 내야합니다.

💡 fine-grained output : 하나의 output을 만들기 위해 작은 단위의 output 프로세스로 구분 후 수행하는 것

이러한 down stream task에 Pre-trained language representation을 적용하는 방식은

  1. feature-based
  2. fine-tuning

2가지 방식으로 구분됩니다.

  • Feature-based (ELMo) : 특정 task를 수행하는 네트워크에 pre-trained language representation을 추가적인 feature로 활용합니다. (down stream) (2개의 네트워크를 붙입니다)
  • Fine-tuning (GPT) : 특정 task에 특화된 파라미터를 최소화하고, 사전 학습된 파라미터를 조금만 바꿔주는 방식입니다. 이는 pre-train 과정 동안 동일한 objective function을 사용해서 학습합니다.

두 모델 모두, language representation 학습을 위해 unidirectional language model을 사용합니다.

결과

기존의 방법, fine-tuning에서 representation pre-training의 성능을 떨어뜨린다는 결과가 도출되었습니다

  • ELMo는 각 단방향 언어모델의 출력값을 concat하기에, 단방향 2개가 합한 모델입니다 (left to right + right to left)
  • GPT는 이전 토큰과의 attention만 계산하기에 문제가 있습니다. (단방향)

→ 양쪽 토큰 모두와의 Attention을 계산하는 것이 최선책이 될 수 있습니다.

→ BERT는 Deep bidirectional context를 충족하며, Masked LM을 pre-training 목적으로 사용하여 단방향성의 제약을 완화시켰습니다.

💡 Masked LM
랜덤하게 입력 토큰의 일부를 마스킹하고, 해당 토큰이 구성하는 문장만을 기반으로 마스킹된 토큰들의 원래 값을 정확히 예측하는 방법

  • MLM은 단방향 언어 모델과는 다르게, 양방향 context를 융합시켜 deep bidirectional transformer을 가능하게 합니다. 또한, text-pair representations로 사전학습을 진행하면 Next Sentence Predict를 적용할 수 있습니다.

💡 Next Sentence Predict
두 문장을 pre-training시에 같이 넣어서 두 문장이 이어지는지 아닌지 맞추는 방법

해당 세션에서는 language representation을 사전학습하는 방법론 (feature based, fine tuning, transfer learning)을 리뷰합니다.

2.1 Unsupervised Feature-based Approaches

  • 사전 훈련 언어 모델을 통해 NLP에 대한 모델을 구축하는 과정입니다.
    • 해당 과정은 non-neural과 neural 방식으로 분할됩니다.

→ 이러한 과정들에 힘입어, 단어 임베딩의 사전 훈련은 최근 NLP 분야에서 중요한 이슈가 되었습니다.

단어 임베딩에서 문장 임베딩(sentence embedding), 구문 임베딩(paragraph embedding)으로 이어졌습니다.

Sentence representations 학습은 그동안

  1. 다양한 문장의 후보들의 순위를 측정하는 법
  2. 이전 문장이 주어졌을 때 Left-To-Right generation
  3. Denoising Auto-Encoder에서 파생된 방법

등을 사용했습니다.

ELMo, 후속 모델은 전통적인 단어 임베딩에서 left-to-right, right-to-left 언어 모델을 통해 context-sensitive feature을 뽑는 방식을 제시했습니다. 이는 LTR, RTL 방식의 단순 결합입니다. (Shallow bidirectional)

단순 결합만으로도 ELMo는 주요 NLP 벤치마크에서 SOTA를 달성했지만, Deep bidirectional하지는 않습니다.

2.2 Unsupervised Fine-tuning Approaches

  • 레이블이 없는 텍스트 데이터로 언어 모델을 학습하는 방법론

초기에는 unlabeled text에서 word embedding 파라미터를 사전 학습하는 방향으로 진행되었는데, 최근에는 contextual token representation을 만들어내는 인코더가 사전 학습되고, supervised downstream task에 맞춰 fine-tuning하는 과정으로 진행됩니다.

→ 이는 적은 파라미터만으로도 충분하다는 것을 제시합니다.

GPT에서 이 방식으로 다양한 문장 단위의 task에서 SOTA를 달성했습니다.

2.3 Transfer Learning from Supervised Data

Transfer Learning(전이학습)은 자연어처리 뿐만 아닌, CV연구에서도 중요성이 대두되는데, ImageNet을 활용한 사전학습 모델이 성능이 좋다고 언급하였습니다.

3. BERT

BERT를 Pre-training과 Fine-tuning으로 나눠서 설명합니다.

  • Pre-training에서는 레이블이 없는 데이터를 기반으로 학습을 진행하여 초기 파라미터를 설정합니다
  • Fine-tuning 단계에서는 Pre-train 단계에서 학습된 모델을 바탕으로 Downstream task의 labeled data를 이용해 fine-tuning합니다.

항상 동일한 Pre-trained model 파라미터가 서로 다른 task의 초기 값으로 사용됩니다. 이러한 값들은 fine-tuning에서 각 업무에 맞게 조정됩니다.

Model Architecture

  • BERT 모델의 아키텍쳐는 다층 양방향 트랜스포머 인코더입니다.
  • BERTBASEBERT_{BASE}는 L=12, H=768, A=12로 약 1억 1천만개 파라미터를 사용했고
  • BERTLARGEBERT_{LARGE}는 L=24, H=1024, A=16으로 총 3억 4천만개의 파라미터를 사용했습니다.

    L : 레이어 수
    H : 레이어 차원 수, Hidden size
    A : Self-Attention 헤드 수

Bert BASE는 GPT와의 비교를 위해 파라미터 수를 동일하게 만들었습니다.

  • GPT는 트랜스포머 디코더만 사용한 모델입니다. (left to right만)
  • 모든 토큰이 왼쪽 토큰들과만 Attention을 계산하는 제한된 셀프 어텐션이지만, BERT는 양방향 셀프 어텐션입니다.

Input/Output Representations

  • BERT가 다양한 task에 사용되게 하기 위해서는 Input representation이 애매하지 않아야 합니다. 즉, 하나의 문장 혹은 한 쌍의 문장을 하나의 토큰 시퀀스로 분명하게 표현할 수 있어야 합니다.

    💡 해당 과정에서의 sentence는 문장의 의미 뿐만 아닌 인접한 텍스트들의 임의의 범위입니다.

  • 모든 Input 시퀀스의 첫번째 토큰은 [CLS]인데, [CLS] 토큰과 대응되는 최종 은닉층은 분류 문제를 해결하기 위해 sequence representation을 종합합니다.

  • Input sequence는 문장의 한 쌍으로 구성되고, 문장 쌍의 각 문장들은 [SEP] 토큰으로 분리됩니다.

  • 또한 각 문장이 A인지, B인지 구분하기 위한 세그먼트 임베딩 역시 진행합니다.

  • 토큰 임베딩은 WordPiece Embedding, Position Embedding은 Transformer과 동일한 방식을 사용합니다.

    💡WordPiece Embedding
    단어를 더 세분화하여 어휘 집합을 구성하는 방법
    단어를 완전한 형태로 처리하는 대신, 자주 쓰이는 서브워드(부분 단어)나 문자 단위의 조합을 사용하여 임베딩을 구성 → 새로운 단어도 여러 서브워드 조합으로 표현가능해 어휘 크기를 줄이고 다양한 변형을 다룰 수 있음.

    Position Embedding
    Transformer 모델이 입력 토큰의 순서를 인식할 수 있도록 각 토큰에 위치 정보를 추가하는 방법
    모델이 문장에서 토큰의 순서를 이해하도록 도움

→ Input representation은 해당 3가지 과정의 토큰을 전부 합칩니다.

3.1 Pre-training BERT

  • BERT의 사전 학습 과정에서는 Masked LM, Next Sentence Predict라는 두 Unsupervised task가 사용됩니다.

Task 1 : Masked LM

  • Input tokens의 일정 비율을 마스킹하고, 마스킹된 토큰을 예측하는 것을 말합니다. (논문에서는 15%)
  • 양방향 언어 모델을 효과적으로 훈련하기 위해 고안된 방법입니다.
  • 전통적인 LM의 경우는 left-to-right나 right-to-left로만 가능합니다. (단방향)
    • 모델이 문맥을 기반으로 다음 단어를 예측하는 구조 때문인데, 양방향 조건을 사용하면 각 단어가 자신을 "간접적으로" 볼 수 있게 되어, 다층적 문맥에서 타겟 단어를 쉽게 예측할 수 있게 되어버립니다.
  • 그렇지만, Masked LM은 [Mask] 토큰만을 예측하는 사전 학습 과정을 수행합니다.
  • 최종적으로 마스킹된 토큰의 최종 숨겨진 벡터는 어휘에 대한 softmax 계층으로 전달되어 원래 토큰을 계산하는데, cross entropy loss를 사용하여 계산합니다.

→ 해당 과정의 [MASK] 토큰은 파인 튜닝에서는 사용하지 않으며, BERT는 문맥을 파악하는 능력을 기르게 됩니다. (pre-train 과정에서만 사용)

추가 :

해당 방식은 양방향 사전 학습 모델은 얻을 수 있지만, 사전 훈련과 파인 튜닝 사이의 불일치가 발생합니다.

fine-tuning에서 [MASK] 토큰이 발생하지 않기 때문인데, 이를 해결하기 위해 15%의 [MASK] 토큰에서 추가적인 처리를 더해줍니다.

(80%는 [mask] 토큰, 10%는 랜덤한 단어, 10%는 원본 단어)

Task 2 : Next Sentence Prediction

  • Pre-training example로 문장 A와 B를 고를 때, 50%는 실제 다음 문장 (IsNext), 나머지는 랜덤 문장(NotNext)를 고르는 것입니다.
  • 위에서 나오듯이, C토큰은 NSP를 위한 토큰입니다
  • 해당 토큰을 이용해 Input으로 들어온 두 문장이 원래 이어 붙여져 있는 문장이였는지 아닌지를 맞춰가며 학습합니다.

Pre-training data

  • Corpus 구축을 위해 BooksCorpus, Wikipedia를 사용했습니다.
  • 긴 인접 시퀀스를 뽑기 위해 문서 단위의 corpus가 문장 단위의 corpus보다 훨씬 유리합니다.

3-2 Fine-tuning BERT

  • Fine-tuning은 self-attention 덕분에 많은 Downstream task를 모델링할 수 있습니다

입력 개수에 따라 알맞게 하나의 sequence로 생성해 모델의 입력으로 제공합니다. 만약 2문장 입력 시, 1개 시퀀스로 생성하고, 두 문장 사이의 self-attention을 수행합니다.

→ 이는 텍스트 쌍을 다룰 때, 두 텍스트 사이의 관계를 효과적으로 모델링하는데 중요합니다.

  • 파인 튜닝 방법은 task에 알맞는 입력, 출력을 모델에 입력으로 제공해 파라미터를 해당 태스크에 맞게 end-to-end로 업데이트합니다.

다음의 4가지 방법으로 진행합니다.

  1. Sentence pairs in paraphrasing
  2. Hypothesis-Premise pairs in entailment
  3. Question-Passage pairs in question answering
  4. Degenerate-None pair in text classification or sequence tagging

출력 결과는 task에 따라 달라집니다

  1. token representation in sequence tagging or question answering
  2. [CLS] representation in classification(entailment or sentiment analysis)

추가로, Fine-tuning 과정은 사전 훈련에 비해 적은 비용이 소모됩니다.

4. Experiments

11개 task에 대한 BERT Fine tuning 결과를 나타냅니다.

해당 과정에서는 간단하게 요약하고, 생략합니다.

  • GLUE
    • 모든 task에 대해 SOTA를 달성했습니다
    • 데이터의 크기가 작아도, fine-tuning에는 좋은 성능을 보여줍니다.
  • SQuAD 1.1
    • 질문과 지문으로 이루어져 있고, substring인 정답을 맞추는 업무입니다.
      • 지문에서 정답이 되는 substring의 처음과 끝을 찾는 task로 치환하여 수행합니다.
    • BERT_large의 경우 기존의 모든 시스템을 wide margin을 두고 최고성능을 달성 합니다.
  • SWAG
    • 앞문장이 주어지고, 보기로 주어지는 4문장 중 가장 잘 이어지는 문장을 찾는 task입니다.
    • GLUE와 비슷하게 적용하고, 사람을 능가하는 SOTA를 달성합니다.

5. Ablation Studies

  • 중요 부분을 하나씩 제거해 각 부분의 중요성을 확인합니다.

5.1 Effect of Pre-training Tasks

No NSP

  • MLM만 수행하고 Next Sentence Prediction은 수행하지 않습니다.

LTR & No NSP

  • MLM 대신 Left-to-Right (LTR) 을 사용하고, NSP도 없앤 모델, 이는 OpenAI GPT모델과 완전히 동일하지만, 더 많은 학습 데이터를 사용하였습니다.

→ Pre-train 업무를 하나라도 제거하면 굉장한 성능 감소가 존재합니다.

  • No NSP는 NLI계열에서 성능이 많이 하락합니다. NSP가 문장간의 논리적 구조 파악에 중요한 역할을 하고 있음을 알 수 있습니다.
  • MLM 대신, LTR을 사용하면 성능 하락은 더 심해지는데, BiLSTM을 붙여도 성능이 하락합니다.

5.2 Effect of Model Size

  • 모델이 커질수록 정확도가 상승합니다.
  • 작은 규모의 task에서도 큰 성능으로 나타납니다.
  • BERT의 경우에는, downstream task를 수행하는 dataset의 크기가 작아도, pre-training덕분에, model의 크기가 클 수록 정확도는 상승함을 볼 수 있습니다.

5.3 Feature-based Approach with BERT

  • BERT 역시 ELMo와 같이 feature based approach로 사용할 수 있습니다.

이 경우 이점은 다음과 같습니다

  • Tansformer encoder은 모든 NLP 업무를 나타내지는 못하므로 특정 업무를 수행할 수 있는 모델을 추가해서 사용해야 합니다.
  • Pre-compution을 통해 representation을 생성하고, 작고 비용이 적은 모델을 만들어내어 비용이 절감된다는 장점이 있습니다

6. Conclusion

  • 해당 연구의 결과는 양방향 Pre-train의 중요성을 입증했습니다. 기존의 단방향 사전 훈련보다 더 좋은 성능으로 증명했습니다.
  • BERT의 두 단계 학습 방법은 모델을 다양한 작업에 유연하게 적용할 수 있게 해주며, 이를 통해 BERT는 다양한 NLP 작업에서 뛰어난 성능을 보이고 있습니다.
profile
추천시스템을 연구하는 대학원생입니다.

0개의 댓글