Source-linked AI summary
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
TL;DR
기존 단방향 언어 모델은 문장 수준 및 토큰 수준 NLP task에서 문맥 표현을 제한한다. BERT는 양방향 문맥을 활용한 masked-language-model pre-training을 사용하며, OpenAI GPT의 72.8 대비 80.5의 GLUE score를 포함해 11개 NLP task 전반에서 state-of-the-art 성능을 달성한다.
문제
단방향 언어 모델은 왼쪽과 오른쪽 문맥을 동시에 사용하지 못하게 하므로, 특히 문장 수준 및 토큰 수준 task에서 pre-trained representation을 제한한다.
방법
BERT는 masked language modeling과 next-sentence prediction을 사용해 깊은 양방향 representation을 pre-training한 뒤, 이를 downstream task에 맞게 fine-tuning한다.
결과
OpenAI GPT의 72.8 대비 80.5의 GLUE score를 기록했으며, BERT는 평가된 11개 NLP task 모두에서 state-of-the-art 성능을 달성한다.
시사점 및 한계
깊은 양방향 pre-training은 transfer learning을 폭넓은 NLP task로 일반화하면서, 과도하게 설계된 task-specific architecture의 필요성을 줄인다.
시사점 및 한계
masked-language-model pre-training은 fine-tuning과 불일치를 만든다. fine-tuning 중에는 [MASK] token이 나타나지 않기 때문이다.
Abstract
from arXiv · showhide
We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications. BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE score to 80.5% (7.7% point absolute improvement), MultiNLI accuracy to 86.7% (4.6% absolute improvement), SQuAD v1.1 question answering Test F1 to 93.2 (1.5 point absolute improvement) and SQuAD v2.0 Test F1 to 83.1 (5.1 point absolute improvement).
1 서론
BERT는 masked language modeling으로 표준 language-model 사전 학습의 단방향성을 해결해 깊은 양방향 표현을 가능하게 한다. 또한 task-specific architecture에 대한 의존을 줄이고 11개 NLP task에서 state of the art를 갱신한다.
- 문제와 기여: BERT는 기존 language-model 사전 학습의 단방향 한계를 해결한다. 이는 OpenAI GPT의 left-to-right model 및 ELMo의 독립적인 방향별 model을 얕게 연결하는 방식과 대조된다.
- 기여: BERT는 masked language modeling을 사용해 좌측과 우측 context를 결합하고, 깊은 양방향 Transformer 표현의 사전 학습을 가능하게 한다.목표는 입력 token을 무작위로 mask한 뒤 context를 바탕으로 원래 vocabulary identity를 예측하는 것이다.
- 방법: BERT는 masked language modeling과 함께 next sentence prediction task를 수행해 text-pair 표현을 공동 사전 학습한다.
- 기여: BERT는 fine-tuning 기반 표현 model을 통해 고도로 설계된 task-specific architecture의 필요성을 줄인다.이 논문은 BERT가 문장 수준 및 token 수준 task로 구성된 대규모 모음에서 state-of-the-art 성능을 달성하며 다수의 task-specific architecture를 능가한다고 설명한다.
- 결과: BERT는 11개 NLP task에서 state of the art를 갱신한다.
2 관련 연구
선행 연구는 사전학습된 word embedding에서 문장·문단 수준 표현, 문맥적 token feature, downstream task에 맞게 fine-tuning된 사전학습 encoder로 발전했다. 이러한 접근법은 다양한 language modeling, denoising, auto-encoding objective를 사용하면서 비라벨 데이터와 지도 데이터에서 지식을 전이하는 가치를 확립했다.
- 단어 및 문장 표현: 비신경망 및 신경망 방법으로 개발된 사전학습 word embedding은 NLP 시스템의 핵심 요소가 되었으며, 처음부터 학습한 embedding보다 성능을 향상했다.대표적인 접근법으로는 left-to-right language modeling objective와 비라벨 text에서 word embedding parameter만 사전학습한 초기 방법이 있다.
- 단어 및 문장 표현: 문장 및 문단 표현은 next-sentence ranking, left-to-right generation, denoising auto-encoder objective를 사용해 단어를 넘어 사전학습의 범위를 확장했다.이러한 방법은 비라벨 text에서의 전이를 유지하면서 점점 더 거친 단위의 표현을 학습하는 것을 목표로 했다.
- 문맥적 표현: ELMo와 그 전신은 left-to-right 및 right-to-left language-model representation을 연결해 문맥적 token feature를 생성했으며, 여러 주요 NLP benchmark에서 성능을 향상했다.이들의 문맥적 embedding은 기존 task-specific architecture와 통합되었다.
- 사전학습 encoder: 이후 사전학습된 문장 또는 문서 encoder는 문맥적 token representation을 생성하고 지도 downstream task에서 fine-tuning되어, 처음부터 학습해야 하는 parameter를 줄였다.이러한 모델은 language modeling 또는 auto-encoder objective를 사용했으며, OpenAI GPT 는 다수의 GLUE 문장 수준 task에서 state-of-the-art 성능을 달성했다.
- Transfer learning: Transfer learning은 지도 natural-language-inference 및 machine-translation dataset에서도 효과적인 것으로 입증되었으며, computer vision에서는 ImageNet으로 사전학습된 model을 fine-tuning하는 가치가 확인되었다.이러한 결과는 대규모 사전학습 model에서 여러 task로 지식을 전이할 수 있다는 근거를 확장했다.
3 BERT
BERT는 masked language modeling과 next sentence prediction으로 사전 학습한 양방향 Transformer encoder이며, 이후 downstream task에 대해 end-to-end로 fine-tuning된다. 통합된 architecture는 단일 문장과 문장 쌍을 하나의 sequence로 표현하며 task-specific modification을 최소화한다.
- Fine-tuning: Fine-tuning은 BERT의 사전 학습된 parameter로 별도의 downstream model을 초기화하고, task-specific input과 output layer를 교체하면서 모든 parameter를 end-to-end로 업데이트한다.Token representation은 token-level task를 지원하는 반면, [CLS] representation은 classification을 지원한다.
- Model Architecture: BERT는 GPT의 제한된 self-attention과 달리 다층 bidirectional Transformer encoder를 사용하며, BERTBASE는 110M parameter, BERTLARGE는 340M parameter를 갖는다고 보고한다.BERTBASE는 L=12, H=768, A=12이고, BERTLARGE는 L=24, H=1024, A=16이다.
- Input/Output Representations: BERT는 WordPiece token, [CLS]와 [SEP] marker, segment embedding, position embedding, 그리고 합산된 token representation을 사용해 한두 문장을 하나의 sequence에 담는다.[CLS] state는 classification task를 위한 aggregate representation으로 사용된다.
- Pre-training Tasks: Masked language modeling은 WordPiece token의 15%를 무작위로 mask하고 bidirectional context에서 이를 예측하며, replacement를 다양화해 pre-training과 fine-tuning 사이의 불일치를 줄인다.이 masking procedure는 fine-tuning 중 [MASK] token이 없는 문제를 해결한다.
- Pre-training Tasks: Next sentence prediction은 sentence pair 사이의 관계를 model하도록 BERT를 사전 학습하며, question answering과 natural language inference 같은 task에 필요한 관계를 대상으로 한다.이 task는 monolingual corpus에서 생성한 이진화된 classification objective다.
- Pre-training data: Pre-training에는 800M words 규모의 BooksCorpus와 2,500M words 규모의 English Wikipedia를 사용하며, Wikipedia에서는 list, table, header를 제외하고 document-level text를 유지한다.Document-level corpus는 길고 일관된 sequence를 추출할 수 있게 한다.
4 실험
BERT fine-tuning은 GLUE, SQuAD 1.1, SQuAD 2.0, SWAG 전반에서 큰 성능 향상을 달성한다. 실험에서는 가벼운 task-specific output layer를 사용하면서도 광범위한 architecture 수정 없이 높은 성능을 유지한다.
- GLUE: BERTBASE와 BERTLARGE는 모든 GLUE task에서 모든 system을 능가하며, 이전 state of the art 대비 평균 accuracy를 각각 4.5%와 7.0% 향상시킨다.MNLI에서 BERT는 accuracy를 4.6% 절대적으로 향상시킨다.
- SQuAD 1.1: SQuAD 1.1 leaderboard의 최고 system 대비 ensembling으로는 +1.5 F1, 단일 system으로는 +1.3 F1을 달성하며, 단일 BERT model이 해당 최고 ensemble을 능가한다.TriviaQA fine-tuning data를 사용하지 않아도 성능은 0.1–0.4 F1만 하락하며 기존 system보다 앞선다.
- SWAG: BERTLARGE는 SWAG에서 ESIM+ELMo baseline을 +27.1%, OpenAI GPT를 8.3% 능가한다.SWAG fine-tuning에서는 [CLS] representation에 적용한 task-specific vector를 사용해 네 가지 sentence-pair continuation 각각의 점수를 산출한다.
5 절제 연구
절제 실험은 BERT의 심층 양방향 사전 학습, 더 큰 모델 용량, fine-tuning 전략이 각각 downstream 성능을 실질적으로 향상시킴을 보여준다. 양방향 모델은 left-to-right 대안보다 우수하고, 규모 확장은 소규모 task에서도 도움이 되며, feature-based 사용도 fine-tuning과 경쟁력 있는 성능을 유지한다.
- 사전 학습 task 절제: NSP를 제거하면 QNLI, MNLI, SQuAD 1.1 성능이 크게 저하되며, left-to-right 사전 학습은 평가된 모든 task에서 masked language modeling보다 낮은 성능을 보인다.left-to-right 모델은 MRPC와 SQuAD에서 특히 큰 폭의 하락을 보인다.
- 사전 학습 task 절제: BiLSTM을 추가하면 SQuAD에서 left-to-right 모델이 개선되지만, 양방향 사전 학습보다 여전히 훨씬 낮고 GLUE 성능은 저하시킨다.left-to-right 모델은 token-level hidden state에 right-context 정보가 없어 BiLSTM 추가를 정당화한다.
- 모델 크기 절제: 더 큰 BERT 모델은 선택된 네 GLUE dataset 모두에서 정확도를 엄격하게 향상시키며, labeled training example이 3,600개에 불과한 MRPC에서도 그러하다.결과는 다섯 번의 무작위 fine-tuning 재시작에서 얻은 development-set 정확도 평균을 사용한다. 저자들은 충분히 사전 학습된 경우 모델 크기를 극단적으로 확장하면 매우 작은 task도 개선된다고 설명한다.
- Feature-based 접근법: BERTLARGE는 CoNLL-2003 NER에서 경쟁력 있는 성능을 보이며, 상위 네 layer의 feature concatenation은 full-model fine-tuning보다 0.3 F1만큼 뒤처진다.이는 fine-tuning 설정과 feature-based 설정 모두에서의 효과를 보여준다.
6 결론
이 논문은 풍부한 비지도 사전학습이 언어 이해 시스템의 핵심이며, 그 이점을 심층 단방향 아키텍처에서 광범위한 NLP 과제에 걸친 심층 양방향 아키텍처로 확장한다고 주장한다.
- 6 결론: 풍부한 비지도 사전학습은 많은 언어 이해 시스템의 핵심 구성 요소가 되었다.
- 6 결론: 심층 단방향 아키텍처는 자원이 부족한 언어 이해 과제에서도 전이 학습의 이점을 제공한다.
- 6 결론: BERT는 이러한 결과를 심층 양방향 아키텍처로 일반화하여, 하나의 사전학습 모델로 광범위한 NLP 과제를 처리할 수 있게 한다.
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 부록 · A BERT 추가 세부사항
부록은 BERT 구현의 추가 세부사항, 실험 세부사항, 어블레이션 연구를 다루는 세 절로 구성된다. 어블레이션에는 학습 단계 수의 영향과 서로 다른 마스킹 절차가 포함된다.
- “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” 부록: 부록은 세 절로 나뉜다.
- A BERT 추가 세부사항: Appendix A에서는 BERT의 추가 구현 세부사항을 제시한다.
- “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” 부록: Appendix B에서는 실험에 관한 추가 세부사항을 제공한다.
- “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” 부록: Appendix C에서는 BERT에 대한 추가 어블레이션 연구를 제시한다.
- “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” 부록: 추가 어블레이션 연구에서는 학습 단계 수의 영향을 조사한다.
- “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” 부록: 추가 어블레이션 연구에서는 서로 다른 마스킹 절차도 비교한다.
A.1 사전 학습 과제의 예시
이 절에서는 BERT의 masked language modeling 절차와 next sentence prediction 과제를 예시로 설명한다. Masked LM은 선택된 token을 숨기거나 변경해 문맥 표현을 강제하며, left-to-right 학습보다 수렴이 미미하게 느리지만 추가 비용을 상회하는 성능 향상을 제공한다.
- Masked LM과 Masking 절차: Masking 절차는 Transformer encoder가 모든 입력 token에 대해 분포적 문맥 표현을 유지하도록 강제한다. 예측 위치와 무작위 대체 위치를 식별할 수 없기 때문이다.전체 token의 1.5%만 무작위로 대체되며, 논문은 이것이 언어 이해 능력을 저해하는 것처럼 보이지 않는다고 말한다.
- Masked LM과 Masking 절차: Masked LM은 batch마다 token의 15%만 예측하므로 더 많은 사전 학습 단계가 필요할 수 있고 left-to-right model보다 수렴이 미미하게 느리다. 그러나 경험적 향상은 증가한 학습 비용을 상회한다.비교 대상은 모든 token을 예측하는 left-to-right model이다.
- Next Sentence Prediction: Next sentence prediction은 [MASK] token과 [SEP] 문장 경계를 포함하는 예시로 설명된다.제시된 문단은 예시를 소개하지만 과제의 sampling 절차나 objective는 명시하지 않는다.
A.2 사전학습 절차 … B 상세 실험 설정
BERT 사전학습은 masked language modeling과 next sentence prediction을 위해 문장 구간 쌍을 샘플링하며, 단계적인 sequence length 스케줄과 대규모 최적화를 사용한다. Fine-tuning에서는 하나의 추가 output layer로 BERT를 sequence-level 및 token-level task에 적용하며, ELMo 및 GPT와의 비교를 통해 bidirectionality, pre-training task, task-specific adaptation의 차이를 부각한다.
- A.2 Pre-training Procedure: BERT는 sentence-A/B embedding과 함께 paired span을 샘플링하며, next sentence prediction을 위해 두 번째 span이 실제 후속 문장인 경우가 50%, 무작위 문장인 경우가 50%가 되도록 한다.paired span은 결합된 길이가 모델의 sequence limit을 초과하지 않도록 샘플링한다.
- A.2 사전학습 절차: 사전학습은 1,000,000 steps 동안 batch당 256개 sequence, 즉 batch당 총 128,000 tokens를 사용하며, 3.3-billion-word corpus를 약 40 epochs에 걸쳐 처리한다.최적화에는 learning rate 1e-4의 Adam, 10,000 steps의 warmup, linear decay, dropout 0.1, GELU activation, 그리고 masked-LM 및 next-sentence likelihood를 결합한 loss를 사용한다.
- B 상세 실험 설정: 사전학습 steps의 90%에는 sequence length 128을 사용하고 나머지 10%에는 length 512를 사용하여 quadratic attention cost를 줄이는 동시에 긴 sequence를 위한 positional embedding을 학습한다.attention은 sequence length에 대해 quadratic하게 증가하므로 더 긴 sequence는 불균형적으로 큰 비용이 든다.
- A.3 Fine-tuning 절차: Fine-tuning에서는 일반적으로 batch size, learning rate, epochs를 제외한 사전학습 hyperparameter를 유지하며, dropout은 0.1로 고정한다.Task 전반에서 유용한 범위는 batch size 16 또는 32, Adam learning rate 5e-5, 3e-5, 또는 2e-5, 그리고 2, 3, 또는 4 epochs다.
- A.3 Fine-tuning 절차: 100k+ labeled examples를 포함하는 대규모 dataset에서는 fine-tuning이 hyperparameter에 덜 민감하므로, fine-tuning이 일반적으로 빠르다는 점에서 exhaustive development-set search가 실용적이다.권장 search는 제시된 batch size, learning rate, epoch 수를 포괄한다.
- A.4 BERT, ELMo ,and OpenAI GPT 비교: ELMo의 feature-based approach 및 GPT의 fine-tuning approach와 비교하면, BERT 역시 fine-tuning method이며 사전학습에 sentence structure와 task-specific learning rates를 포함한다.BERT는 BooksCorpus와 Wikipedia를 사용하고, 사전학습 중 [SEP], [CLS], sentence A/B embedding을 학습하며, development data에서 fine-tuning learning rate를 선택한다.
- A.4 BERT, ELMo ,and OpenAI GPT 비교: BERT는 bidirectional representations와 두 가지 pre-training tasks를 사용하며, 논문은 이를 GPT의 left-to-right language modeling보다 성능이 향상된 주요 원인으로 제시한다.Bidirectionality와 두 pre-training tasks의 효과를 분리하기 위해 ablation을 수행한다.
- A.5 다양한 Task에서의 Fine-tuning 예시: Task-specific model은 BERT에 one output layer를 추가하여 sequence-level 및 token-level task를 모두 지원하면서, 처음부터 학습하는 parameter 수를 최소화한다.[CLS] representation은 예시로 제시된 sequence-level setup에서 classification output을 제공한다.
B.1 GLUE Benchmark 실험에 대한 상세 설명 · C 추가 Ablation Study
GLUE 실험은 다양한 entailment, equivalence, sentiment, acceptability, similarity, paraphrase task를 포괄하지만 WNLI는 제외하며, single-task fine-tuning 결과만 보고한다. 제공된 지문에는 통합된 ablation study section에 대한 설명이 없다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: 보고된 GLUE 결과는 GLUE leaderboard와 OpenAI의 language-unsupervised blog source에서 얻었다.지문은 Wang et al. (2018a)을 바탕으로 요약한 dataset 설명을 나열하기 전에 이러한 source를 소개한다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: 이 benchmark에는 sentence pair로부터 entailment, contradiction, neutrality 중 하나를 예측하는 three-way entailment classification task인 MNLI가 포함된다.MNLI는 large-scale이며 crowdsourcing으로 구축되었다고 설명된다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: QQP와 MRPC는 sentence pair가 의미적으로 동등한지 평가하며, QQP에는 Quora question을, MRPC에는 online-news sentence를 사용한다.QQP는 binary classification이고, MRPC는 equivalence에 대한 human annotation을 사용한다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: QNLI는 SQuAD를 question–sentence pair에 정답이 포함되어 있는지를 판별하는 binary classification task로 변환한다.Negative example은 같은 paragraph에서 가져오지만 정답을 포함하지 않는다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: SST-2, CoLA, STS-B는 각각 movie-review sentiment, English sentence의 acceptability, semantic similarity를 1에서 5까지의 점수로 측정한다.이 task들은 review, linguistic example, news headline 및 기타 source에서 가져온 single sentence 또는 sentence pair를 사용한다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: RTE는 MNLI와 유사한 binary entailment task이지만 training data가 훨씬 적다.지문은 RTE를 Recognizing Textual Entailment로 설명한다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: WNLI는 그 구축에 알려진 문제가 있고 submitted system이 65.1 majority-class baseline보다 낮은 성능을 보였기 때문에 제외되었으며, submission은 항상 majority class를 예측했다.이 제외는 OpenAI GPT와의 공정한 비교를 보장하기 위한 것이었다.
- B.1 GLUE Benchmark 실험에 대한 상세 설명: multitask fine-tuning이 성능을 향상시킬 수 있고 MNLI training으로 RTE에서 상당한 observed gain도 있었지만, single-task fine-tuning 결과만 보고한다.지문은 multitask 개선을 통해 성능을 더 끌어올릴 가능성이 있다고 말한다.
C.1 학습 스텝 수의 효과
BERT는 장시간 사전 학습에서 큰 이점을 얻는다. BERTBASE는 500k 스텝 대비 1M 스텝에서 MNLI accuracy가 거의 1.0% 향상된다. MLM은 LTR보다 약간 느리게 수렴하지만, absolute accuracy에서는 거의 즉시 LTR을 앞서기 시작한다.
- C.1 학습 스텝 수의 효과: BERTBASE는 500k 대비 1M 사전 학습 스텝에서 MNLI accuracy를 거의 1.0% 추가로 달성한다.Figure 5는 k 스텝 동안 사전 학습한 checkpoint를 fine-tuning한 뒤의 MNLI Dev accuracy를 보고한다.
- C.1 학습 스텝 수의 효과: MLM은 LTR보다 약간 느리게 수렴하지만, absolute accuracy에서는 거의 즉시 LTR을 앞서기 시작한다.이 비교는 MLM이 각 batch에서 단어의 15%만 예측하는 반면, LTR은 모든 단어를 예측한다는 점을 반영한다.
C.2 서로 다른 masking procedure에 대한 ablation
이 ablation은 pre-training–fine-tuning 불일치를 줄이기 위한 masking 전략을 평가하며, fine-tuning 및 feature-based 접근법의 MNLI와 NER Dev 결과를 보고한다. Fine-tuning은 전략 전반에서 강건하지만, feature-based NER는 MASK만 사용할 때 성능이 낮고, RND만 사용하는 경우에도 BERT의 혼합 전략보다 성능이 떨어진다.
- C.2 서로 다른 masking procedure에 대한 ablation: 이 masking ablation은 fine-tuning 중에는 [MASK]가 절대 나타나지 않기 때문에 불일치를 줄이기 위해 혼합 MLM 전략을 대안적 procedure들과 비교한다.NER는 fine-tuning과 feature-based 평가를 모두 포함하며, fine-tuning 중 조정할 수 없는 feature-based representation에서는 불일치가 증폭될 것으로 예상된다.
- C.2 서로 다른 masking procedure에 대한 ablation: Fine-tuning은 서로 다른 masking 전략에 강건한 반면, feature-based NER는 MASK만 사용할 때 성능이 저하되고 RND만 사용하면 BERT의 혼합 전략보다 성능이 더 낮다.비교에는 MNLI와 NER에 대한 Table 8의 Dev 결과를 사용하며, feature-based NER representation은 BERT의 마지막 네 개 layer를 연결한다.
- C.2 서로 다른 masking procedure에 대한 ablation: MASK는 target을 [MASK]로 대체하고, SAME은 target을 변경하지 않으며, RND는 MLM pre-training 중 target을 다른 random token으로 대체한다.BERT의 혼합 전략은 MASK 80%, SAME 10%, RND 10%의 확률을 사용한다.