[논문리뷰] ALBERT: A Lite BERT for Self-supervised Learning of Language Representations

김우빈·2022년 6월 1일
1

JUST READ DEEP_JOURNAL

목록 보기
1/1
post-thumbnail

논문 소개

  • 논문명

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

  • 발표년도

    2020

  • 저자

Zhenzhong Lan
Mingda Chen
Sebastian Goodman
Kevin Gimpel
Piyush Sharma
Radu Soricut

  • 원문링크

<https://arxiv.org/abs/1909.11942 >

왜 연구 했을까?

주제선정의 이유

GPT-3 나 BERT 등의 자연어처리 모델이 등장하면서, 모델의 성능을 높이기 위하여 거대한 모델을 사용하는 것이 기정 사실처럼 굳어졌는데요.
실제 사례에서도 거대한 모델을 사용해 선 훈련을 수행한 뒤, 더 작은 모델로"미리 잘 학습된 큰 네트워크(Teacher network) 의 지식을 실제로 사용하고자 하는 작은 네트워크(Student network) 에게 전달하는 증류(Distillation) 하는 것이 일반적인 관행이 되었습니다.

이렇게 논문은 모델의 크기를 키우는것에 앞서서, 다음과 같은 질문을 던지는데요.

더 나은 NLP 모델을 만드는 것이 큰 모델을 다루는 것만큼 쉬울까?
(Is having better NLP models as easy as having larger models?)

gpt-3와 BERT등의 모델은 수억개의 달하는 파라미터를 사용하기때문에 리소스의 제한이 불가역 적인데요, 보통저도 자연어처리 모델들을 빌드하면서 메모리 제한의 문제를 자주 직면합니다.
분산 학습을 통해 해결하려고해도, 분산된 장비간의 통신과정에서 학습속도가 저하되기때문에, 모델 빌드의 과정이 끔찍한 기다림의 연속이됩니다.

어떻게 해결할까?

이 논문은 위와 같은 문제를 해결하기 위해, 기존의 BERT 보다 훨씬 적은 파라미터로도 좋은 성능을 보이는 ALBERT(A Lite BERT) 모델을 제시합니다.
이를 위해 아래와 같은 파라미터 절감 기술(parameter reduction technique)을 사용하여, BERT-large 대비 18배 적은 파라미터를 사용하면서도 1.7 배 빠른 학습이 가능합니다.

파라미터 절감기술(parameter reduction technique)

    1. 팩터화된 임베딩의 매개변수화(factorized embedding parameterization)

    Vocabulary embedding 행렬을 두 개의 행렬로 분리하여 처리합니다.

    1. 층간 매개변수 공유(cross-layer parameter sharing)

층(layer)간 파라미터를 공유하여, 네트워크가 깊어져도 파라미터 수가 크게 증가하지 않도록 합니다.

파라미터 수를 줄이는 것 외에도, 문장 순서 예측(SOP:sentence-order prediction)에 대한 자기 지도손실(Self-Supervisored Loss)을 사용하여 모델 성능을 향상시킵니다.
문장순서 예측(SOP:sentence-order prediction)는 문장 간의 일관성에 집중하며, BERT 가 수행하는 next sentence prediction (NSP) 학습의 비효율성을 해결합니다.

이를 통해 ALBERT 는 GLUE(General Language Understanding Evaluation), SQuAD(The Stanford Question Answering Dataset), RACE(ReAding Comprehension dataset)데이터셋 에서 BERT 를 능가하는 State-of-the-art(SOTA, 현재 최고수준의 결과) 를 달성하였습니다.

모델의 아키택처

ALBERT 모델의 기본 구조는 자체는 BERT 와 유사하게 transformer encoder 와 GELU 활성함수를 사용합니다. 이외에 논문에서 사용하는 표기법은 아래와 같으며, BERT 와 동일합니다.

  • EE : vocabulary embedding 크기
  • LL : 인코더 레이어 수
  • HH : Layer 의 Hidden node 갯수, Hidden size
  • feed-forward/filter 크기 : 4H4H
  • attention heads 갯수 : H64{H \over 64}

팩터화된 임배딩의 매개변수화(Factorized embedding parameterization)

기존의 BERT 및 개선 모델(XLNet, RoBERTa)은 vocabulary embedding 크기(EE) 와 hidden size(HH) 가 동일합니다.
(EHE \equiv H) 그러나, EEHH 는 각각 context-independent 와 context-depedent representation 으로 서로 다른 목적을 두고 학습합니다.

BERT 기반 모델은 context-dependent 한 표현을 학습하는 것에 초점을 둡니다.
즉, HH 를 크게 만들면 더욱 성능을 향상시킬 수 있습니다.
(HEH \gg E)

실제 자연언어 모델을 설계하는 과정에서는 큰 vocabulary size VV 를 요구합니다. 만약 EHE\equiv H 라면, HH 를 크게 했을 때 embedding 행렬의 크기 V×EV \times E 가 수십억에 달할 수 있습니다.

ALBERT 는 embedding parameter 를 factorization 하여 두 개의 작은 행렬로 분리합니다. 즉, One-Hot vector 를 HH 크기의 vector 로 바로 projection 하지 않고, EE 크기의 저차원 embedding vector 를 거쳐 projection 합니다. 이를 통해, embedding parameter 갯수는 O(V×H)O\left( V\times H \right) 에서 O(V×E+E×H)O(V\times E + E \times H) 로 줄어들게 됩니다.

  • 즉, VHVH의 파라미터는 (VE+EHVE + EH)의 좀 더 작은 BigOBig O로 줄게 됩니다.

교차층의 파라미터 공유 (Cross Layer Parameter Sharing)

파라미터 를 효율적으로 사용하기 위해, 층(layer)에서 p파라미터를 공유하여 사용합니다. ALBERT 는 FFN(Feed-Forward Network)와 주의 매개변수(attention parameter)를 모든 층(Layer) 사이에서 공유합니다.

위의 그래프는 BERT-large 와 ALBERT-large 모델의 각 층(layer)에 대한 입력, 출력 embedding의
L2 distance 및 코사인(cosine)유사도를 보여줍니다. ALBERT 는 BERT 와 다르게 층(layer) 를 거치면서 유사도가 급격하게 변화하지 않고 부드럽게 변화합니다. 즉, 파라미터공유가 신경망의 파라미터를 안정화하는 효과 또한 가져올 수 있습니다.

모델셋업에 앞서..

문장간의 손실 통일(Inter-sentence coherence loss)

BERT 의 Next Sentence Prediction(NSP)은 Natural Language Inference 문제 등에 대응하기 위해 수행되었습니다. 그러나 NSP 가 비효율적이라는 지적에 해당 과제를 제외하고 성능을 높인 RoBERTa 등이 등장하기도 하였습니다.

논문은 NSP 가 주제 예측과 문장간 관계 학습을 동시에 수행하면서, 상대적으로 쉬우면서 MLM 과도 겹치는 주제 예측만을 학습하였을 수 있음을 지적합니다.

이에 ALBERT 는 문장간의 관계, coherence 를 집중적으로 학습하기 위해 Sentence Order Prediction(SOP) loss 를 사용하는 것을 제안합니다. SOP는 동일한 문서에서 두 개의 연속된 단락을 positive sample로 사용하고, 순서를 바꾼 것을 negative sample로 사용합니다. 이 과정에서 담화 수준의 문장간 연관 관계를 세부적으로 학습할 수 있게 됩니다.

모델 셋업

위의 표와같이 모델을 구성하는 하이퍼 파라미터를 비슷하게 설정한 경우에, BERT보다 논문의 ALBERT가 훨씬 적은 파라미터를 사용하는것을 보실 수 있습니다.

실험결과

Overall Comparison between BERT and ALBERT

BERT-large 에 비해 70%의 파라미터만 만 사용하여, ALBERT-xxlarge 가 모든 과제에서 더 높은 성능을 보여주었음을 위의 표에서 확인 할 수 있습니다.
또한, ALBERT 는 동일한 훈련구성(training configuration) 의 BERT 모델에 비해서도 적은 통신과 계산을 수행하여 더 높은 데이터 처리량을 보입니다.

FACTORIZED EMBEDDING PARAMETERIZATION

downstream task(구체적으로 풀고싶은 문제들)에서 embedding size를 변경하며 ALBERT 의 성능을 확인합니다.

파라미터를 공유하지않는 non-shared condition(BERT-style)에서는 embedding size가 클수록 모델 성능이 증가하지만 상승폭이 크지 않습니다.
파라미터를 공유한 all-shared condition(ALBERT-style)에서는 128 size가 가장 좋은 결과를 보였습니다. 따라서, 이후 실험에서는 E=128E=128 을 사용합니다.

CROSS-LAYER PARAMETER SHARING

층간 파라미터 공유(Cross Layer parameter sharing) 을 아래와 같이 수행한 결과를 비교합니다.

  • 모든 layer 에서 공유
  • Attention parameter 만 공유
  • FFN parameter 만 공유
  • not-shared

공유하는 파라미터 가 증가할 수록 전체 파라미터의 수는 감소하지만, 성능이 저하될 수 있습니다.
이 때, embedding size 가 128 인 경우가 768인 경우에 비해 성능 저하가 덜한 것을 확인할 수 있습니다.
또한, 모든 파라미터 를 공유하는 경우 성능이 무조건 저하되지만, 주의매개변수(attention paramter)를 공유하는 것만으로는 성능이 크게 하락하지 않습니다.

SENTENCE ORDER PREDICTION (SOP)

문장 예측 과제를 수행한 방법에 따라 None(XLNet, RoBERTa) / NSP(BERT) / SOP(ALBERT)를 비교한 결과입니다.

NSP 과제만으로는 SOP 과제 성능을 높이지 못하지만, SOP 과제는 NSP 과제 성능을 높이는 것을 확인할 수 있습니다. 이는 NSP 가 topic shift 만을 모델링한다는 기존 논문의 가정과 일치합니다.
또한, SOP 가 SQuAD/RACE 와 같은 multi-sentence encoding 문제를 더 잘 해결할 수 있음을 확인할 수 있습니다.

같은시간동안 훈련하면 어떻게 될까?

기존 결과에서 ALBERT-xxlarge 가 BERT-large 에 대비했을 때 3.17 배 낮은 데이터 처리량을 보여 더 많은 학습 시간이 필요하였습니다.
따라서, 동일한 학습 시간만큼 학습할 때 BERT-large 와 ALBERT-xxlarge 모델의 성능을 비교하였습니다.
표와 같이, BERT-large로 400K Step 만큼 학습한 것보다, ALBERT-xxlarge로 125K step 을 학습한 것이 더 적은 step 으로도 좋은 성능을 보이는 것을 확인할 수 있습니다.

추가 교육데이터 및 Dropout효과

기존 XLNet과 RoBERTa에서 제시된 추가적인 데이터를 사용하여 학습하였을 때의 결과를 비교합니다.
추가 데이터를 사용하였을 때 SQuAD Task 성능은 감소하지만, 기타 Task 에서 성능이 증가함을 확인할 수 있습니다.

검토 해야할 점

ALBERT 모델을 1M Step 이상 학습한 경우에도 아래 그림과 같이 Overfitting 을 관측하지 못하였습니다.
이에, 모델의 capacity 를 늘리기 위해 Dropout 을 제거한 뒤 학습을 진행합니다.
이 때 위의 표와 같이, Dropout 제거시에 오히려 downstream 과제의 성능이 향상되었음을 보입니다. 그러나, 이러한 점이 Transformer 모델에 일반적으로 적용되는 사례인지에 대해서는 추가적인 검토가 필요함을 언급합니다.

CURRENT STATE-OF-THE-ART ON NLU TASKS


ALBERT 모델이 기존 NLP 과제에서 모두 SOTA 와 동일하거나 더 높은 성능을 달성하였습니다.

저자 의견

위 논문에선 ALBERT-xxlarge 는 BERT-large보다 더 적은 파라미터로 더 좋은 성능을 보였습니다.
그러나, 더큰 구조 때문에 많은 계산 비용을 소모합니다. 논문은 sparse attention, block attention 등으로 연산 속도를 개선하는 것을 향후 과제로 제시합니다.

세줄요약

-논문은 팩터화된 임베딩의 매개변수화와 층간 매개변수 공유( Factorized embedding parameterization, Cross-layer parameter sharing)로 BERT 의 파라미터 수를 획기적으로 줄인 ALBERT 모델을 제안했습니다.

  • 기존 자연어처리의 다음문장예측(NSP: Next Sentence Prediction) 과제의 한계에 대응하기 위한 Sentence Order Prediction(SOP) 과제를 제안했습니다.

  • GLUE, RACE, SQuAD 데이터셋에서 BERT-Large 보다도 적은 파라미터 로 현재 최고수준을 달성하였습니다.

마치며

첫 논문 리뷰글입니다.. 최대한 읽으시기 편하게 리뷰하려했는데 어째 통짜 번역이 되어버린것 같네요..
요새 딥러닝에서 컴퓨터비전(computer vision)과 자연어처리(NLP: Natural Language Processing)등의 분야가 굉장히 이슈인데요.. 관련 논문들을 읽어보면서 더깊이 공부해야 겠습니다.
어렵고 긴글 읽어주셔서 감사드리고, 오늘도 깊은 하루되세요!

profile
DeepLearning, MLOps

0개의 댓글