(BERT)
BERT에서 WordPiece embedding size E와 모델의 hidden layer size H는 동일하게 설정되어 있다.
hidden size를 H라고 했을 때, feed-forward의 size를 4H로, attention head 수를 H/64로 사용했다.
(ALBERT)
우선 모델링 관점에서 보면, WordPiece embedding 은 context-independent한 representation인 반면 hidden-layer embedding의 경우 context-dependent한 representation이다. RoBERTa: A robustly optimized BERT pretraining approach. 에서의 context length에 관한 실험에서 볼 수 있듯이 BERT-like representation의 효과는 context-dependent한 representation을 학습하는데 있다. 따라서 WordPiece embedding size인 E와 hidden layer size인 H를 다르게 설정하는 것이 더 효과적인 모델 파라미터들의 활용일 수 있다.
실용적인 관점에서 보면, NLP 모델들은 vocabulary size V를 가지는데, 대부분 매우 큰 값을 가진다. 이 떄 앞서 말했던 E와 H를 동일하게 설정한다면 자연스럽게 embedding matrix의 파라미터 수인 V×E가 커지게 된다. 이 값은 보통 E=H 로 설정한다면 쉽게 10억개 이상의 파라미터를 가지고 학습 속도를 매우 느리게 한다.
따라서 ALBERT에서는 factorization of embedding parameters를 사용한다. 이는 큰 embedding matrix를 작은 두개의 matrix로 나누는 방법으로 먼저 기존에 E dimension으로 바로 mapping 했던 것을 보다 작은 dimension인 E로 mapping한 후 E dimension의 vector를 다시 H dimension으로 보낸다. 이렇게 되면 기존에 V×H 였던 파라미터 수는 V×E+E×H으로 줄어들게 된다.
[출처]
'Learning Log' 카테고리의 다른 글
[BERT] pad_sequence 차원 이해 (2) | 2023.08.21 |
---|---|
[BERT] FFNN에서 position별 parameter 공유 (0) | 2023.08.21 |
[BERT] BertSelfOutput에 있는 Linear의 용도 (0) | 2023.08.21 |
[BERT] finetuning시 경고 (lm_head) (0) | 2023.08.21 |
[Python] Object, Namespace, argparse (0) | 2023.08.20 |