Paper :
ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
Large Network의 문제점
ALBERT에서 제시하고자 하는 것
Factorized Embedding Parameterization
E : Input token embedding
H : Hidden size 일 때,
• 기존 BERT : Vocab Embedding X Hidden Embedding. => E(5= V) x H
• ALBERT : Vocab Embedding x E, E x Hidden 의 2가지 matrix로 decomposing을 진행
Cross laver parameter sharing
• Transformer layer끼리 parameter 공유
• Shared-attention, all-shared 등의 방법
Sentence Order Prediction(SOP)
• BERT에서는 Next Sentence Prediction(NSP) -> 너무 쉽다
• Sentence 간에 연관 관계를 학습하는 것이 아닌 같은 topic인지 보는 topic prediction에 가까움
• 이를 보완하기 위해 SOP 도입
• 두 문장의 순서를 바꿈
• 문장의 순서가 올바른지 예측
pretrained model은 downstream tasks에서 우수한 성능 향상을 보였지만 모델의 커진 사이즈로 GPU,TPU 메모리가 제한적이고 training 시간이 길어졌다.
이 문제를 해결하기 위해 파라미터를 줄이는 두 개의 기술을 제시한다. 또한 Sentence Ordering Objectives도 제시!
지난 모델들이 특정 사이즈에서 멈춘 이유
- 계산 비용이 비쌈 (Computation cost problem)
- 메모리 한계
BERT에서 사용하는 NSP는 SOP와 비교하여 더 쉬운 task로 ALBERT는 두 개의 text segment의 순서를 예측하여 pre-train loss로 사용한다.
NSP loss는 single task에서 topic prediction과 coherence prediction을 수행하는데 topic prediction은 coherence prediction에 비해 쉬운 task이고 MLM loss를 사용하여 학습한 내용과 겹치게 된다.
SOP는 특정 downstream task에서 더 효과적임을 알아냈다.
input token embedding size(E) : 각 토큰의 정보만 담고있는 벡터
hidden size(H) : transformer의 output size로 해당 토큰과 주변 토큰의 관계까지 반영한 contextualized representation이다. 그러므로 히든 사이즈가 더욱 많은 정보를 담고있기에 사이즈 차이를 두는 것이 타당하다고 생각한다.
--> 기존 모델과 TRANSFORMER의 input size가 달라질 수 있으므로 레이어 하나 추가해서(E*H matrix 사용) 사이즈 바꿈
기존엔 V x H albert는 VxE+ExH로 바꾸어 파라미터 값을 줄인다. (E, H가 V보다 상대적으로 작아서 가능)
albert는 layer의 모든 파라미터를 공유한다. 기존 bert는 not shared
즉, 기존의 bert transformer block이 1~12까지 거쳤으면 알버트는 이와 같은 효과를 누리기 위해 하나의 transformer block을 12번 거친다. 이렇게 함으로 하나의 레이어가 여러층의 레이어 기능을 모두 하여 학습할 수 있도록 한다.
=> parameter sharing이 network의 parameter 안정화에 영향을 주는것을 알 수 있다.
bert는 문장이 서로 연속된 문장인지 맞추는 (NSP)를 사용했지만 알버트는 문장 순서를 바꾸고 올바른지 예측하는 SOP를 사용했고, 더 효율적이라는 것을 table5-실험을 통해 증명함
훨씬 적은 파라미터를 사용하면서도 ALBERT xlarge 성능이 높음을 알 수있다. 같은 large모델을 비교해봤을 때 성능은 좀 더 낮지만 속도는 더 빠르게 train할 수 있었다.
ALBERT-xxlarge는 BERT-large보다 parameter가 적고 훨씬 더 좋은 성능을 보여줌. 그러나 large structure로 인해 계산비용이 더 비싸다.
따라서 중요한 다음 단계는 sparse attention(link) 및 block attention(link)과 같은 방법을 통해 ALBERT의 train 및 inference속도를 높이는 것이다.