본문 바로가기

자연어처리(NLP)

ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS 논문 리뷰

반응형

 안녕하세요 '코딩 오페라'블로그를 운영하고 있는 저는 'Master.M'입니다. 현재 저는 '초등학생도 이해하는 자연어 처리'라는 주제로 자연어 처리(NLP)에 대해 포스팅을 하고 있습니다. 제목처럼 진짜 핵심 내용을 쉽게 설명하는 것을 목표로 하고 있으니 자연어 처리(NLP)에 입문하고 싶은 분들은 많은 관심 부탁드립니다. 이번 시간에 알아볼 내용은 'ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS' 논문입니다. 

Abstract

  • 자연어처리 task에서 pretraining시 모델의 크기를 늘리면 downstream task에서 성능이 향상되는 경우가 많음
  • 그러나 모델의 크기가 늘어날수록 GPU 등의 메모리 제한과 컴퓨팅 연산 시간의 증가로 인해 일정 크기 이상의 모델을 만드는 것은 사실상 어려움
  • 이 문제를 해결하기위해 이 논문에서는 모델의 파라미터수를 줄이는 방법을 제안

The Elements Of ALBERT

Factorized  embedding  parameterization

  • V : Vocabulary size
  • E : Input token embedding size
  • H : Hidden size

원래는 문서의 단어 뭉치(Vocabulary) 크기만큼 에 Hidden state 크기를 곱한 만큼의 파라미터가 필요함. 그러나 이 벡터를 위와 같이 행렬분해(decomposing) 하여 파라미터수를 대폭 줄임. 중간에 input token embedding E를 추가해 위와 같이 연산효율 증대.

 

예를 들어 V = 10000, H = 1024, E = 512라고 하면

  1. Original 파라미터수 = V x H = 10000 x 1024 = 10,240,000개
  2. Factorized  embedding  parameterization 파라미터수 = V x E + E x H = 10000 x 512 + 512 x 1024 = 5,644,288개

가 되어 제안된 모델의 파라미터수가 훨씬 감소

Cross-layer parameter sharing

왼쪽 Original BERT, 오른쪽 ALBERT

  • Original BERT는 위와같이 Transformer 모델을 12층으로 쌓아 만든 구조임. 따라서 원래 Transformer에 12배만큼의 파라미터가 필요.
  • ALBERT 모델은 Original BERT처럼 Transformer를 일일이 쌓지 않고, 한개 층을 계속 반복하여 사용함. 때문에 파라미터 수를 절약할 수 있음. (1개 층을 사용하기 때문에 cross-layer parameter sharing이라는 이름이 붙음.)

  • 위는 Original BERT와 ALBERT 모델의 각 layer별로 벡터들의 L2 distance와 cosine 유사도를 구한 것임
  • 보다시피 ALBERT에서 파라미터들이 layer가 깊어질수록 안정적으로 수렴하는 경향성을 보이고 있는것을 확인할 수 있음

Inter-sentence coherence loss

  • Original BERT에서는 해당 문장 다음에 이 문장이 오는것이 맞는지 틀린 지를 학습시키는 NSP(Next Sentence Prediction)을 수행
  • 그러나 이러한 NSP 방식은 문장간 결합력(coherence)을 판단하는 것이 아니라, 문장 간 주제(topic)가 같은지 다른지 유무를 판단하기 때문에 task가 쉬워 학습 성능에 유의미한 영향을 끼치지 못함
  • 때문에 이러한 문제점을 해결하기위해 이 논문에서는 SOP(sentence-order prediction)을 제안함
  • SOP는 동일 문서에서 두 개의 연속된 문장들을 positive sample로, 순서가 바뀐 문장을 negative sample로 사용

Experimental Results

Factorized  embedding  parameterization

  • ALBERT large의 경우 BERT large에 비해 1.7배나 학습시간이 빨라짐

Cross-layer parameter sharing

  • attention layer의 파라미터들을 share 하면 파라미터수가 줄어듦에도 불구하고 성능이 유지
  • 그러나 FFN layer는 파라미터들을 share하면 성능 저하

Inter-sentence coherence loss

  • NSP는 사용유무에 상관없이 모델의 성능이 동일
  • SOP는 사용하면 모델의 성능개선에 유의미한 도움을 줌

 

  • 전체적으로 ALBERT는 학습시간이 BERT에 비해 짧았음에도 불구하고 결과적으로 평균적인 성능이 더 좋음

 

Reference

https://jeonsworld.github.io/NLP/albert/

 

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

ALBERT: A Lite BERT for Self-supervised Learning of Language Representations Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut https://arxiv.org/abs/1909.11942 1. Introduction full-network pre-training(Radford et al.,

jeonsworld.github.io

https://lsjsj92.tistory.com/628

 

nlp ALBERT 논문 정리(논문 리뷰) - A Lite BERT for Self-supervised Learning of Language Representations

포스팅 개요 이번 포스팅은 자연어처리(NLP) 논문 중 A Lite BERT for Self-supervised Learning of Language Representations라는 논문을 리뷰하는 포스팅입니다. 본 논문은 NLP논문에서 ALBERT라고 많이 알려진 논문입

lsjsj92.tistory.com

 

반응형