Natural Language Process

ALBERT 개념 정리

판교데싸 2023. 2. 13. 17:54

ALBERT 

  •  A Lite BERT for Self - supervised Learning of Language Representations

 

1) Embedding Matrix Factorization

  •   Embedding layer의 차원을 줄이고 이를 hidden_size로 복원하는 linear layer 추가

2) Cross-layer parameter sharing 

  •    버트는 보통 12개나 24개 정도의 layer를 쓰는데 각 layer마다 weigth parmaeter 가 따로 있는데 layer 가 늘 수록 wp 가 늘어나는게 일반 적인데 알버트는 해당 layer의 wp를 서로서로 공유함
  •    Attention과 FFN layer 의 파라미터를 공유 , 즉 공유되는 파라미터의 layer는 반복 사용됨

3) Senetence order prediction (SOP)
  기존 NSP 방식이 큰 도움이 안됨을 밝히고 , 더 어려운 사전학습 objective를 통해 성능 개선

 

Embedding Matrix Factorization

  • 기존 Transformer 의 경우, 임베딩 사이즈와 히든사이즈가 같음 , 즉 차 (왼쪽)
  • 알버트의 경우는 중간에 linear layer를 추가해서 차원을 줄였다가 다시 늘려주어 파라미터 숫자를 감소시킴 (오른쪽)

ex) 3만 X 1000 = 3 x 10^7 (버트)     <->  3만 x 100 + 100 x 1000 = 3 x 10^6 + 10^5  (알버트) -> 거의 10분의 1로 줄어듬

  •  이렇게 훨씬 가벼운 모델이지만 사실 성능면에서 손실이 없음

 

 

Cross - layer Parameter Sharing

 

크고 깊어질수록 pretrained model의 선능은 일반적으로 향상됨

  •  이때 반복되는 layer들을 재사용하면 어떨까 라는 개념
  •  Regularization 효과를 노릴 수도 있음
  •  다만 , 계산량이 줄어드는 것은 아님

 

Attention layer 와 Fully connected layer 모두를 공유하는 것이 가장 좋음

  •   일부만 공유할 경우 성능에서 큰 이득을 볼 수 없음
  •  이 방법을 통해 최대 layer 객수만큼의 비율의 파라미터를 감소시킬 수 있음
  •  기존 bert 는 108m (base) -> 334m (large) , hidden : 768차원 (base)  ->  1024차원(large)
  •  알버트는 12m parmaeter , 12 layer  , hidden : 768차원 , embedding 128차원

 

Sentence Order Prediction (SOP)

Bert의 NSP objective :

  •  서로 다른 문서에서 추출한 패러그래프를 이어 붙힌 후 binary classification -> 너무 쉽다는 지적이 있음

ALBERT의 SOP objective:

  •  같은 문서에서 추출한 패러그래프의 순서를 바꾼 후 , binary classifciation
  •  더 어려운 사전학습 objective 이므로 NLU task에서 좀 더 이득을 볼 수 있음
  •  NSP도 아우르는 objective

Evaluations

Matrix Factorization 과 Weight sharing을 통해 더 작은 파라미터 크기로 훨씬 더 큰 네트워크 달성 및 성능 향상

 

Embedding Size 별 성능

  •   embedding size가 큰 것(768)이 꼭 성능이 좋지 않음 -> 128임베딩이면 충분

Wrap- up

 

반응형

'Natural Language Process' 카테고리의 다른 글

GPT-3 학습 방법 - Context Learning  (0) 2023.03.17
From Seq2Seq to Transformer  (0) 2023.01.30
반응형