-
ALBERT(ICLR2020) 리뷰Paper Review 2020. 7. 9. 16:59
최근 GLUe, RACE, SQuAD에서 top rank에 사용된 ALBERT에 대해 리뷰를 해보려 합니다.
BERT에 비해 param 수도 적고 training speed도 빠르다는게 특징입니다.
단순 비교를 해보면 ALBERT-Large는 BERT-Large에 비해 param 수가 18x 적고 training은 1.7x 빠릅니다.
ALBERT와 BERT 모델의 parameter 비교 ALBERT와 BERT 성능 비교 1. Factorized embedding parameterization
V : Vocab size
E : Embedding size
H : Hidden size
BERT에서는 E와 H를 같게 했다.
ALBERT에서는 vocab one-hot vector를 hidden layer로 직접 투사시키보다는 중간에 embedding layer를 두어서 parameter를 효과적으로 감소시켰다.
O(VxH) -> O(VxE + ExH), where H>>E
BERT에서는 H=E으로 만들었는데, ALBERT에서는 이럴 이유가 없다고 판단했다. BERT-like 구조의 강점은 context dependet representation을 학습시키는데 있는데, Embedding은 Context-independent representation을 학습시키는 요소이기 때문에 더 작은 값을 택해도 된 것으로 예상된다.
2. Cross-layer parameter sharing
BERT에서 아무런 parameter sharing이 일어나지 않았다면, ALBERT에서는 모든 layer에서 parameter sharing이 일어난다.
즉, 같은 Block을 12, 24번 돈다.
Parameter Sharing을 통해 Param 수도 효과적으로 줄었을 뿐만 아니라 학습도 더 안정적으로 할 수 있었다. Layer를 점점 쌓았을 때 L2 distance와 Cosine Similarity 변화를 보면 BERT에서는 Osilate하는 반면 ALBERT에서는 안정적으로 감소하는 것을 볼 수 있다. BERT보다 Layer를 더 많이 쌓을 수 있다는 것으로 해석된다.
3. Inter-sentence coherence loss
BERT 학습에서는 MLM(Masked Language Model)과 NSP(Next Sentence Prediction)가 학습에 사용되었다. 하지만 최근 NSP가 downstream task에 끼치는 효과에 대해 회의적인 연구결과가 등장했다. RoBERTa, XLnet에서는 아예 NSP를 빼버렸다.
ALBERT에서는 SOP(Sentence Order Prediction)을 이용해 self-supervised loss를 구한다.
최근 NLP task Leaderboard에서 Top rank model이 차용하고 있는 ALBERT에 대해 리뷰해보았습니다. ELECTRA, SA-net, RoBERTa, XL-net에 대해서도 추후 리뷰하겠습니다.
'Paper Review' 카테고리의 다른 글