AI/NLP (LLM)

[논문 리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

민사민서 2025. 1. 2. 16:02

https://littlefoxdiary.tistory.com/44

 

[논문리뷰] GPT3 - Language Models are Few-Shot Learners

오픈 AI GPT 시리즈의 세 번째 논문이 공개되었씁니다!!!! GPT1 - Improving Language Understanding by Generative Pre-Training GPT2 - Language Models are Unsupervised Multitask Learners GPT3 - Language Models are Few-Shot Learners 2020/07/20

littlefoxdiary.tistory.com

GPT-3 관련 논문리뷰 (방법론, evaluation 위주임)

 

Abstract

Bidirectional Encoder Representations from Transformers

= 이름에서 유추할 수 있듯 transformer의 encoder 모듈을 활용해 bidirectional하게 학습한 모델

  • english wiki + bookscorpus 같은 대용량의 unlabeled data로 pre-trained한 후 task-specific하게 labeled data로 fine tune을 시켰다 (transfer learning)
  • BERT 이전 모델인 ELMo (Left to Right, Right to Left를 단순하게 concat한), OpenAI GPT (unidirectional, left to right architecture, transformer decoder 사용)의 접근 방식은 language representation이 부족하다고 주장
  • 특정 task를 처리하기 위해 새로운 nw를 붙이는 feature-based approach가 아닌 fine-tuning approach
  • conceptually simple하지만 emperically powerful

 

Introduction

  • pre-trained lnaguage representation을 적용하는 방식에는 크게 두 가지 방식이 있음
    • feature-based approach: pre-trained representation와 task-specific architecture를 붙여 사용, ELMo
    • fine-tuning approach: task-specific한 parameter를 최대한 줄이고 pre-trained parameters를 downstream task 학습을 통해 전체적으로 조금씩 바꿔줌, OpenAI GPT
  • 앞선 모델들은 pre-training 시에 동일한 objective function으로 학습을 수행 = unidirectional = limits the choice of architectures
  • BERT는 masked language model pre-training objective를 적용하여 deep bidirectional Transformer를 학습시켰으며, next sentence prediction task를 적용해 pretrain을 수행하였다

 

Related Work

- Unsupervised Feature-based Approaches

- Unsupervised Fine-tuning Approaches

- Transfer Learning from Supervised Data

 

 

About BERT

  • BERT의 framework는 two-step으로 진행됩니다 = pre-trianing + fine-tuning
  • downstream의 각 task마다 같은 pre-trained parameters에서 시작함

 

Model Architecture

  • encoder 모듈만을 사용한 multi-layer bidirectional transformer
  • number of layers를 L, the hidden size를 H, number of self-attention heads를 A 라고 할 때

    • BERT_base : L=12, H=768, A=12 (110M params)
    • BERT_large : L=24, H=1024, A=16 (340M params)

 

Input/Output Representation

  • input representation은 위와 같이 token embedding + segment embedding + position embedding 합으로 구성
  • token embedding => wordpiece embedding 사용
    • sequence의 시작 token은 special token [CLS]
    • [CLS] 토큰에 대응되는 final hidden state는 aggregate sequence representation => 분류 task에 활용됨
  • segment embedding
    • 서로 다른 sentence 간에는 [SEP] special token으로 구분하고
    • learned embedding을 더해 구분
  • position embedding => transformer에서 사용한 방식과 동일

 

Pre-training Tasks - 1 : Masked LM

  • 약 15% 정도의 token position을 random하게 선택하여 masking 진행
    • 80%는 [MASK] token으로 대체, 10%는 유지, 10%는 랜덤한 토큰으로 대체
    • fine-tuning 단계에서는 [MASK] 토큰을 사용하지 않기에 그 mismatch를 줄이기 위해
    • 언어 모델이 아무런 제약조건 없이 Bidirectional하게 학습을 하게 되면 간접적으로 예측하려는 단어를 참조하게 되고, multi-layered 구조에서 해당 단어를 예측하게 됨
  • 문장 전체를 restore하는게 아니라 mask된 token만을 예측하는 방식으로 deep bidirectional representation을 학습

 

Pre-training Tasks - 2 : Next Sentence Prediction (NSP)

  • Question Answering (QA) and Natural Language Inference (NLI) 같은 downstream task들에서는 문장들 간의 relationship이 중요함, 이러한 관계는 language modeling에서 capture되지 않음
  • binarized next sentence prediction task를 설계함
    • 50%는 sentence A 다음에 실제 다음 문장인 sentence B가 등장, IsNext 로 라벨링
    • 50%는 sentence A 다음에 corpus 내에서 random으로 뽑은 sentence C가 등장, NotNext 라벨링
  • [CLS] token의 final hidden state C가 NSP에서 사용됨

 

Pre-training data

  • BooksCorpus (800M words) + English Wikipedia (2,500M words, text passage만)

 

Fine-tuning procedure

  • sequence-level classification task
    • [CLS] token의 transformer output 벡터 H 차원을 K(클래스 개수)로 줄여주어야 함
    • classification layer W + softmax 붙인 후 전체를 fine-tune
  • span-level task
    • 질문 지문이 주어지고, 그 중 substring인 정답을 맞추는 SQuAD dataset
    • 질문을 A embedding, 지문을 B embedding으로 처리. 지문에서 정답이 되는 substring의 start/end를 찾는 task로 문제를 치환 => start vector와 end vector를 학습시킨다
  • token-level prediction task
    • 각 토큰에 모두 classifier을 붙여 제시된 class (ex. person, organization, location, other)에 대해 판별을 함
    • 각 prediction은 주위의 prediction에 영향 받지 x
  • pre-training에 비해 relatively inexpensive

 

Ablation Studies

  • 위 표에서 알 수 있듯이 NSP, MLM 을 제거하면 성능이 떨어지더라
  • model size를 늘릴수록 정확도가 상승하더라, downstream task를 수행하는 dataset scale이 작아도 !!
  • 물론 fine-tuning approach가 아니라 feature-based approach로도 사용 가능하다