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

  • ALBERT-xxlarge가 BERT-large 파라미터의 대략 70%라고 한다.

4. Experimental Results

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

■ 위의 실험들을 보면, 정리는 안했지만 ALBERT의 장점들을 확인할 수 있다. 한마디로 정리하면 모델크기가 줄었지만 성능은 대박이다. 이렇게 볼 수 있다.
■ 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

댓글