ALBERT: A Lite BERT for Self-supervised Learning of Language Representations

rhye·2023년 1월 19일
0

논문들

목록 보기
5/13

arxiv: https://arxiv.org/abs/1909.11942
date: 06/06/2022


Lan, Z., Chen, M., Goodman, S., Gimpel, K., Sharma, P., & Soricut, R. (2019). Albert: A lite bert for self-supervised learning of language representations. arXiv preprint arXiv:1909.11942.


Abstract

  • natural language representation을 pretrain 시킬 때 모델 사이즈를 키우는 것은 task의 성능을 향상시킴

  • 다만 이에 대한 tradeoff로 모델을 계속해서 키우면 computationally expensive !
    (GPU/TPU memory limitation - 학습시간 증가)

    → 이에 대한 solution으로 BERT에 대한 두 개의 parameter reduction techniques를 제안한다 !

    + 문장 간 응집성 모델링에 초점을 맞춘 self-supervised loss 도입 → multi-sentence input을 수반하는 task에 탁월한 성능 → 우리 모델, BERT-large에 비해 적은 parameter을 가지는 한편 좋은 성능을 냄 !


Introduction

  • NLP 분야에서 pretrained models은 중대한 발견 → 성능의 비약적 발전을 낳음
    • 큰 pretrained model을 정제해서 task에 맞춰 좁혀나가는 것이 일반적인 관례가 되었음
    • 따라서 pretrained models가 좋은 성능을 내기 위해서 큰 사이즈의 network를 구축하는 것은 매우 중요
  • 더 좋은 NLP모델을 만드는 것이 큰 사이즈의 모델을 만드는 것 만큼 쉬울까?
    • 현실적으로 하드웨어의 제한으로 인해 성능 비교가 어려움(메모리 제한, 분산 학습을 하더라도 속도 저하를 막을 수 없음)
    • 현재 NLP 모델들 규모가 굉장히 커졌기 때문(10억개 남짓한 파라미터들...)
  • 우리는 기존의 너무 비대해진 모델들로 인한 문제를 모두 해결한 A Lite BERT(ALBERT)를 제안한다!

  • ALBERT

    • 두 가지 parameter reduction techniques 결합

      • factorized embedding parameterization

        • 하나의 큰 단어 임베딩 matrix를 두개의 작은 matrix로 분해 → hidden layer의 size를 나눔
        • 단어 임베딩들의 parameter 수를 많이 늘리지 않고도 hidden layer의 size를 키울 수 있음
      • cross-layer parameter sharing

        • 네트워크가 깊어지더라도 parameter 수가 많이 늘어나지 않도록 함
      • 두 technique를 결합한 결과, ALBERT, BERT_large에 비해 18배 적은 parameter를 가지게 되었고 training 속도가 1.7배 줄어듦

        • 두 technique, parameter reduction 뿐 아니라 일종의 정규화 기능도 수행 → 학습을 안정화시키고 generalization하는데 도움을 줌
    • self-supervised loss가 도입된 SOP(sentence-order prediction)

      • SOP, 문장 간 응집성 모델링에 초점을 맞춤
      • 기존 BERT의 NSP(next sentence prediction) loss 보다 효율적
    • 이렇게 디자인 된 ALBERT는 BERT_large에 비해 parameter 수는 적지만 성능은 뛰어남 !


Related Work

  • SCALING UP REPRESENTATION LEARNING FOR NATURAL LANGUAGE

    • 모델 사이즈가 커지면 성능도 좋아진다 ! (using larger hidden size, more hidden layers, and more attention heads)
    • 하지만 모델 사이즈가 커지면 커질수록 computationally expensive 해짐
      • 이를 극복하기 위해 gradient checkpointing이라는 방법과 intermediate activation을 저장하지 않아도 되는 방식이 제안되었음. 해당 방식들은 메모리 소비량를 줄였지만 속도가 느리다는 한계가 있음
    • 우리의 parmeter 감축 방식은 메모리 소비량을 줄이는 한편 속도도 빠름
  • CROSS-LAYER PARAMETER SHARING

    • cross-layer parameter sharing이 언어모델링과 주-서 호응하는 데 있어 기존의 transformer보다 성능이 좋다는 연구 존재 → 본 논문 저자들은 아니라고 주장
    • 최근 DQE(Deep Equilibrium Model)이 제안되어 특정 layer의 input - output embedding이 equilibrium point에 도달할 수 있음을 보여줌 → 본 논문 저자들은 아니라고 주장. 수렴하기보다는 발산하던데?
    • parameter-sharing transformer를 standard transformer과 결합, standard transformer보다 더 높은 성능을 달성한 연구도 존재
  • SENTENCE ORDERING OBJECTIVES

    • 다른 연구들과 달리, ALBERT는 문장 단위가 아니라 segments를 단위로 봄(두 개의 연결되는 segments들의 순서를 예측하여 pre-train loss로 사용)
    • SOP는 더 복잡한 pretraining 방식이며, 특정 task들에서 뛰어난 성능을 보임

The Elements of ALBERT

: design decisions for ALBERT

  • MODEL ARCHITECTURE CHOICES
    → ALBERT의 근간은 BERT와 같음. (Transformer encoder / GELU nonlinearities를 씀)

* 다만 BERT와 구분되는 지점 세 가지 !

  • Factorized embedding parameterization

    • BERT 계열 연구들(XLNet, RoBERTa 등), vocabulary embedding size E = hidden layer size H (E=H)
      → 이는 모델링 차원, 실무적인 차원에 있어 바람직하지 않음

      • 모델링 차원에서 vocabulary embedding, context-independent representation과 연관. hidden layer embedding이 context-dependent representation과 연관된 것과 구분.
      • BERT 계열의 힘은 context-dependent representation을 학습하는데서 옴
        → 따라서 vocabulary embedding과 hidden layer size를 별개로 생각하는 것은 모델링의 효율성을 높여준다고 볼 수 있음. hidden layer size H를 크게 만들면 성능이 향상된다 !
    • NLP 모델링 시 vocabulary size V가 크면 클수록 좋음그런데 이 때 E=H라면 H를 키우면 embedding matrix의 크기도 커짐 (V x E) → parameter 수가 급격히 늘어남

    • Factorized embedding

      • ALBERT에서는 embedding matrix를 두개로 나눔
      • one-hot vector를 H 크기의 vector로 바로 projection하지 않고 E 크기의 저차원 embedding vector 거쳐 projection하는 것
        • (V × E + E × H)
        • H > E 일 때 parameter가 급격히 감소
        • O(V × H) → O(V × E + E × H) 로의 이행
  • Cross-layer parameter sharing
    : layer 간 모든 parameter를 공유 (parameter efficiency를 위한 방법)

    • layer간 transition이 smoother ! → weight sharing, network parameter 안정화에 기여
  • Inter-sentence coherence loss

    • BERT에서는 성능 개선을 위해 NSP loss를 사용하나, 이게 별 효과가 없다는 연구가 존재
    • 본 연구에서는 NSP loss가 너무 쉬운 task이기 때문에 효과가 없는 것이라고 판단, 문장 간 응집성에 초점을 맞춘 더 어려운 task인 SOP 제안한다 !
      • positive sample / negative sample NSP랑 유사하나, segment 단위를 사용한다는 점에서 차이가 있음
        → 실제 multi-sentence encoding task에 좋은 성능을 보임
  • MODEL SETUP

    • BERT 와 ALBERT의 hyperparameter settings
      • ALBERT model의 parameter 수가 BERT에 비해 적다 !
      • ALBERT design의 가장 중요한 장점 = parameter efficiency

Experimental Results

  • EXPERIMENTAL SETUP

    • setup
      • BERT-based
        • corpora : BOOKCORPUS (Zhu et al., 2015) & English Wikipedia (Devlin et al., 2019)
        • input
          • limit the maximum input length to 512
          • randomly generate input sequences shorter than 512 with a probability of 10%
          • vocabulary size of 30,000
          • generate masked inputs for the MLM targets using n-gram masking with the length of each n-gram mask selected randomly (cf. max length of n = 3) ( The probability for the length n )
        +
        batch size of 4096
        LAMB optimizer
        learning rate 0.00176
        train all models for 125,000 steps
  • Result
    - OVERALL COMPARISON BETWEEN BERT AND ALBERT
    - ALBERT design choice의 가장 큰 장점 = parameter efficiency !
    - ALBERT_xxlarge, BERT_large의 70%정도의 parameter로 더 좋은 성능을 냄
    - 더 빠른 data throughput
    - less communication, fewer computation → ALBERT, BERT보다 higher data throughput
    - ALBERT_large, BERT_large보다 1.7배 빨랐음

    • FACTORIZED EMBEDDING PARAMETERIZATION

      • vocabulary embedding size E의 영향
        • 기존 BERT style, E가 클수록 더 나은 성능(상승폭이 크진 않음)
        • ALBERT, E = 128일 때 최고의 성능
    • CROSS-LAYER PARAMETER SHARING

      • 두 embedding size(768, 128)을 가진 ALBERT configuration 사용,
      • all-shared(ALBERT) / shared-attention(Only Attention parameters) / shared-FFN(Only FFN parameters) / not shared(BERT) 로 나누어 실험
        • all-shared strategy 를 사용하였을 때 성능 저하 발생(E=128일 때 E=768일 때보다 덜 저하)
        • shared-FNN의 경우 성능저하가 가장 심했고, shared-attention에 대해서는 성능저하가 거의 없거나 미미했음
    • SENTENCE ORDER PREDICTION (SOP)

      • NSP / SOP / X을 각각 채택했을 때 내부적 task( MLM, NSP, and SOP tasks)과 실무적 task의 성능에 어떤 영향을 미치는지를 실험
        • NSP loss가 SOP task에 이점이 없다 (52.0% = none과 비슷한 정확도)
          → NSP는 topic shift 만 modeling한다!
        • SOP, NSP task를 비교적 잘 해결함(78.9% 정확도) + SOP task 더 잘 해결(86.5% 정확도)
        • SOP, multi-sentence encoding task에 대한 실무적 task 성능이 더 높았음
    • WHAT IF WE TRAIN FOR THE SAME AMOUNT OF TIME?

      • 오랫동안 training하면 대체로 성능 향상됨 → 학습 시간에 제약을 두고 실험을 진행해보자 !
        → 동일 시간동안 training한 결과, ALBERT-xxlarge의 성능이 BERT-large보다 평균에서는 1.5% 좋았고, RACE에서는 5.2% 좋았음
    • ADDITIONAL TRAINING DATA AND DROPOUT EFFECTS

      • 지금까지는 Wikipedia and BOOKCORPUS datasets 만 사용해왔음 → 다른 데이터셋을 training dataset에 추가하면 어떻게 될까?
        →ALBERT, 데이터셋이 추가되었을 때 성능이 향상됨
    • 성능을 보다 향상시키기 위해 dropout 제거 (1M step만큼 model training했는데 overfitting 일어나지 않았기에-)
      → dropout 제거 시 MLM 정확도 상당히 향상

    • 실무 task에 대해서도 dropout 제거했을 때 성능이 향상되었음

      • 원래 transformer 기반 모델들에서 dropout 제거했을 때 성능 저하된다는 것이 기존의 정설이었는데, ALBERT는 예외였음.
        → 다른 transformer 기반 architecture은 어떤지에 대한 후속 연구가 필요할 것으로 판단됨
  • CURRENT STATE-OF-THE-ART ON NLU TASKS

    ALBERT, State-of-the-art results on the GLUE benchmark에서도 좋은 성능을 보였고,

    State-of-the-art results on the SQuAD and RACE benchmarks에서도 좋은 성능을 보였다.


Conclusion

  • ALBERT의 design choice
    : Factorized embedding parameterization, Cross-layer parameter sharing, Inter-sentence coherence loss

  • ALBERT의 design choice에 대한 실험 결과

    • ALBERT, parameter efficiency가 높음 (ALBERT_xxlarge, BERT_large의 70%정도의 parameter로 더 좋은 성능을 냄)
    • BERT보다 higher data throughput(less communication, fewer computation. 속도 증대)
    • ALBERT에서 도입한 cross-layer parameter sharing, parameter 수는 현저히 감소하였으나 그에 비해 성능 저하는 미미했음
    • ALBERT에서 도입한 SOP, NSP task를 비교적 잘 해결, SOP task 더 잘 해결, multi-sentence encoding task에 대한 실무적 task 성능 월등히 높음
    • 동일 시간 training 했을 때 BERT 보다 성능 높음
    • 데이터셋이 추가되었을 때 성능이 향상
    • dropout 제거 시 MLM 정확도와 실무 task에 대한 성능 향상
    • 현재의 state-of-the-art on NLU tasks에 대해서도 성능이 좋았음

    → ALBERT의 design choice, parameter을 줄이고 학습 속도를 개선함과 동시에 모델의 성능도 향상시켰다 !


Reference

  • Lan, Z., Chen, M., Goodman, S., Gimpel, K., Sharma, P., & Soricut, R. (2019). Albert: A lite bert for self-supervised learning of language representations. arXiv preprint arXiv:1909.11942.

0개의 댓글