NL-054, ALBERT: A Lite BERT for Self-supervised Learning of Language Representations (2020-ICLR)
■ Comment
- 이 논문은 teacher 모델처럼 사전 학습된 모델을 이용한 것이 아니고 새로운 모델을 제시한 것이다.
- 단지 새롭게 제시한 모델이 가벼운(Lite) 모델일 뿐이다. 즉 경량화하라는 개념과는 살짝 다른 부분이 있다.
- 어찌되었든 최종 버전의 모델은 파라미터수를 확연히 줄였다.
- 하지만 경량화 목적 중 하나인 실제 상용화에 쓰이기 위해서는 인퍼런스 속도에서 더욱 향상 시킬 필요가 있어 보인다. (Discussion에서 말하듯)
- 왜냐하면 파라미터 수, 메모리만 줄였을 뿐 계산해야하는 과정은 큰 차이가 안난다고 보면 되기 때문이다.
0. Abstract
- pretraining 모델이 커지고 다운스트림 작업들에 성능을 올려주고 있다.
- 하지만 이는 GPU/TPU 메모리 한계 때문에 모델을 계속해서 이렇게 하기는 힘들다.
- 이 문제를 해결하기 위해 파라미터 수를 줄여서 memory 소비를 줄이는 기술과 학습 속도를 빠르게 한다.
- 또한 self-supervised 학습을 사용하여 문장간의 관계에 대한 모델링에 중심을 맞추고 다중 문장 입력의 다운스트림 작업에 도움을 준다.
- 그 결과 BERT-large에 비해 적은 수의 파라미터로 GLUE, RACE, SQuAD에서 SoTA을 달성한다.
1. Introduction
- 많은 어려운 NLP task들은 학습 데이터의 한계를 가지고 있고 이것은 pre-trained 모델들로부터 이득을 볼 수 있었다.
- 대표적으로 reading comprehension에서 이것에 대해 놀라운 결과를 보여준다.
- 중국 중고등 영어 문제, RACE 시험 등에서
- 모델 사이즈가 주어질 때 보통 다음과 같은 질문을 한다.
- Is having better NLP models as easy as having larger models?
- 즉 큰 모델을 가지고 학습하기 쉽냐 이 말인 듯
- 질문에 대한 답변의 문제점은 하드웨어의 메모리 한계이다.
- SoTA의 큰 모델들은 수억개의 파라미터들을 가지고 있기 때문에...
- 이전의 해결법은 model parallelization과 clever memory 관리가 있다.
- 이러한 해결법은 메모리 문제를 설명해주지만 communication overhead는 해결하지 못한다.
- 따라서 이 논문에서 제안하는 A Lite BERT (ALBERT)는 BERT 구조를 적은 파라미터로 학습시키려고 한다.
- ALBERT는 두 개의 기술을 제안한다.
- factorized embedding parameterization
- 이것은 vocab embedding 행렬을 분리시키는 것으로 이로인해 hidden 사이즈를 늘릴 수 있다.
- cross-layer parameter sharing
- 파라미터를 공유하는 것이다.
- 따라서 네트워크의 깊이가 깊어짐에 따라 파라미터 수가 증가하는 것을 막을 수 있다.
- ALBERT는 기존의 BERT-large보다 18배 적은 파라미터수를 가지고 1.7배 빠르게 학습이 된다.
- ALBERT의 성능을 좀 더 끌어올리기 위해 self-supervised loss란 sentence-order prediction을 소개한다.
- 이는 기존의 BERT의 NSP의 비효율성을 해결해준다고 한다.
- 그 결과 ALBERT는 GLUE, SQuAD, RACE에서 SoTA을 달성한다.
2. Related Work
2.1 Scaling Up Representation Learning For Natural Language
- 지난 2년동안 가장 큰 변화는 pre-training word embedding이다.
- 이것은 standard 방식을 (word2vec, Glove 등) 쓰냐 contextualized 방법을 (ELMo, BERT) 쓰는지에 대한 것이다.
- 이것으로 task-specific에 맞는 fine-tuning을 하게 된다.
- Devlin이 (BERT 저자) 큰 hidden size, 더 많은 hidden layers, 더 많은 attention head는 항상 더 좋은 성능을 보여준다고 한다.
- 하지만 hidden size 1024에서 계산 비용때문에 실험을 중지하였다.
- 큰 모델에 대한 실험은 GPU/TPU 메모리 한계가 문제가 된다.
- 이러한 이슈를 해결 하기 위한 방법으로 다음과 같이 있다.
- Chen et al. (2016) propose a method called gradient checkpointing to reduce the memory requirement to be sublinear at the cost of an extra forward pass.
- Gomez et al. (2017) propose a way to reconstruct each layer’s activations from the next layer so that they do not need to store the intermediate activations.
- Both methods reduce the memory consumption at the cost of speed.
- Raffel et al. (2019) proposed to use model parallelization to train a giant model.
- 그러나 이 논문에서는 파라미터를 줄이는 기술로 메모리 소비와 학습 속도를 빠르게 해준다.
2.2 Cross-Layer Parameter Sharing
- 이전의 Transformer은 pretraining/finetuning 세팅이 아닌 encoder-decoder을 학습하는데 초점을 맞추었다.
- Dehghani는 cross-layer 파라미터 공유가 LM과 subject-verb agreement에서 더 좋은 성능을 보여준다고 한다.
- 최근에는 Deep Equilibrium Model (DQE)가 transformer 네트워크가 다음의 결과를 보여준다.
- DEQ는 입력 embedding과 출력 embedding가 특정 층에서 같은게 되는 equilibrium point에 도달하게 된다.
- 이 저자들의 관찰로는 embedding이 수렴하지 않고 진동을 하게 된다고 한다.
- Hao는 기존의 것과 parameter-sharing transformer을 결합하여 파라미터를 수를 늘렸다고 한다. (그래서 좋아졌다는 것인가?)
2.3 Sentence Ordering Objectives
- 두 문장의 (segment) 순서를 예측하는 loss로 pretraining을 하게 된다.
- 문장 사이의 관계성(긴밀성, 응집력)은 널리 연구되어왔다고 한다.
- 주변 문장의 단어들을 예측하는 학습
- Skip-thought, 2015
- FastSent, 2016
- 주변 뿐 아니라 미래의 문장까지 예측하는 학습
- Gan, 2017
- Jernite, 2017
- Nie, 2019
- 이 논문의 학습은 문장 순서를 예측하는 것으로 Jernite, 2017과 유사하다고 하다.
- 이 논문에서는 BERT의 NSP와 SOP(sentence ordering prediction)을 비교했을 때, 다운스트림 작업에서 더 좋은 실험 결과를 보여준다고 한다.
- Wang 2019에서 두 문장의 순서를 예측하는 것으로 학습을 했는데 여기서는 NSP도 같이 이용해서 학습했기 때문에 NSP와 SOP를 비교한 것은 아니다.
- sec 3에서 NSP 단점이 나온다.
3. The Elements Of ALBERT
- 사실 모델자체는 위에서 말한 것이 전부라서 시간이 없으면 자세히 안봐도...
3.1 Model Architecture Choices
- ALBERT 의 백본은 BERT와 유사하고 GLUE을 사용하는 것도 같다.
- 표기
- E: vocabulary embedding size
- L: encoder 층의 수
- H: hidden size
- 4H: feed-forward/filter size
- H/64: attention head수
- Factorized emedding parameterization
- BERT에서는 E=H로 설정
- WordPiece embeddings are meant to learn context-independent representations
- whereas hidden-layer embeddings are meant to learn context-dependent representations.
- 여기서는 H >> E로 하면 파라미터의 수를 효율적으로 사용 가능하다.
- 즉 원래는 O(VxH)로 V 차원에서 H차원으로 바로 갔는데 이것을 E차원으로 갔다가 H차원으로 보내는 식인 O(VxE+ExH)을 이용한다는 것이다.
- 마치 영상처리에서 1x1 conv을 이용하거나, Depth-wise conv하는 느낌과 비슷하다
- Cross-layer parameter sharing
- 파라미터 공유에는 FFN만 공유하거나 attention만 공유할 수가 있다.
- 디폴트는 모든 파라미터를 공유하는 것이다.
- 공유하는 것에 대한 실험은 sec 4.5에 있다.
- Universal Transformer과 Deep Equilibrium Models에도 비슷한 전략이 있다.
- UT는 vanilla Transformer보다 성능이 좋고 DQE는 입력과 출력 embeding이 특정 층에서 같아진다는 것이다.
- BERT-large와 ALBERT-large는 파라미터들은 table 1에 표시되어 있다.
- ALBERT가 BERT보다 스무스하게 층과 층이 transition이 되는 것을 볼 수가 있다.
- 이것은 weight 공유의 효과라고 볼 수 있다.
- 하지만 그렇다고 0으로 수렴하지는 않는다.
- 이는 DQE에서 찾은 ALBERT 파라미터의 공간이 다르다는 것을 보여준다.
- 그림에서 스무싱하게 그래프가 줄어드는 것은 의미가 입력과 출력의 차이가 그만큼 점점 감소한다는 것이다.
- BERT는 그에 반해 왔다리 갔다리 한다는 것은 매층에서 확확 변하므로 불안정하다는 느낌이 있을 수 있다?
- Inter-sentence coherence loss
- BERT에서는 MLM loss외에도 NSP loss도 추가하여 학습한다.
- NSP의 positive 샘플은 한 문서에서 연속된 두 문장을 의미하고 negative는 첫 문장과 다른 문서에서 문장을 뽑아서 구성한다고 한다.
- positive와 negative의 샘플 확률은 같다고 한다.
- 하지만 이는 큰 효과가 없음이 밝혀졌고 없앤다고 한다.
- MLM에 비해서 NSP은 큰 효과가 없는데 이는 두 문장이 연속적인 것을 판단하는 것이 coherence prediction (관계를 예측)과 topic prediction (같은 topic인지)가 섞여있어서 그런 것이라 한다.
- 쉽게 생각해보면 다른 문서에서 뽑은 문장으로 negative sample을 만들기 때문에 같은 topic인지 아닌지만 판단하면 되는 문제인 것이다.
- 따라서 SOP을 제시하게 되는데 이는 topic 예측을 피하는 대신 문장간의 coherence을 찾는 것에 모델링이 집중되도록 하는 것이다.
- SOP에서 positive sample은 NSP와 같으나 negative sample은 positive sample의 순서를 뒤바꾼 것으로 구성한게 다른 것이다.
- sec 4.6에서보면 NSP는 SOP을 해결할 수 없으나 SOP는 NSP을 해결할 수 있음을 보여준다고 한다.
- 이로 인해 다중 문장 인코딩을 다루는 다운스트림 작업에서 성능이 향상된다고 한다.
3.2 Model Setup
4.1 Experimental Setup
4.2 Evaluation Benchmarks
4.2.1 Intrinsic Evaluation
4.2.2 Downstream Evaluation
4.3 Overall Comparison Between BERT and ALBERT
4.4 Factorized Embedding Parameterization
4.5 Cross-Layer Parameter Sharing
4.6 Sentence Order Prediction (SOP)
4.7 What if we train for the same amount of time?
4.8 Additional Training Data And Dropout Effects
4.9 Current State-of-the-art on NLU Tasks
■ SOP와 MLM으로 pretraining을 한 효과이고 attention sharing만 하는 것이 효율적이다.
5. Discussion
- ALBERT-xxlarge는 BERT-large보다 적은 파라미터들을 가지면 더 좋은 의미있는 결과를 가지는 반면, 큰 구조때문에 계산량은 더욱 비싸다.
- 다음 step은 학습과 인퍼런스 속도를 늘리는 것이다.
- sparse attention을 이용하든가
- block attention을 이용하든가
- 다른 수직적인 연구로는 hard example mining과 더욱 효과적인 LM training을 이용하여 추가적인 representation 파워를 제공하는 것이다.
- 여기서 SOP가 language representation을 더욱 좋게하는 증거들을 가지고 있지만 (실험들로 인해) 현재의 self-supervised training loss가 capture하지 못하는 additional representation이 있다고 가정한다.
Reference
댓글
댓글 쓰기