지난 달에 나온 논문을 읽어보고 간단히 정리했습니다.
노션에 정리한 것을 그대로 긁어왔는데, 혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
기존에 경량화와 관련된 연구 중, pruning, distillation, quantization, frozen embeddings을 이용하여 RoBERTa를 경량화하되 준수한 성능을 유지할 수 있도록 한 모델
- 배경
- Transformer architecture의 등장 이후로 관련된 연구가 엄청나게 많이 이뤄졌다. 갈수록 더 많은 computer resource를 요구하는 연구 경향에 비례하여 이를 경량화하고자 하는 시도들도 많이 이뤄졌다.
- BERT라는 모델에 대해서는 엄청나게 많은 연구가 이뤄졌지만, 좀 더 많은 자원을 필요로 하는 RoBERTa의 경우 아직 상대적으로 연구가 많이 이뤄지지는 않았다.
- 관련 연구
Transformer based language models, Unstructured Pruning, Freezing Embeddings, Knowledge Distillation, Quantization
- Transfer learning mechanism
간단히 정리하면 순서는 다음과 같다.
structural pruning → knowledge distillation → pre-training → quantization
- 결론
- RoBERTa(Large)를 teacher 모델로, hardness는 1.0으로, knowledge distillation을 실행한다. 또한 embedding을 frozen하지 않고, GMP를 사용한다.
- Sparse Models은 더 높은 learning rate을 요한다. 이는 저자들의 직관과 대치되었는데, sparse network의 낮은 표현력(expressivity)에 기인하는 것으로 판단했다.
- 더 큰 모델이 더 잘 압축한다.
- teacher모델이 크면 클수록 좋은 것은 아니다.
- frozen embedding도 도움이 될 때가 있지만 항상은 아니다. 지나치게 task-specific하고 태스크별로 inconsistent 하다는 문제점이 있다.
- 개인적 감상
다양한 경량화 기법을 앙상블했다는 느낌을 받았다.
그리고 BERT가 아닌 RoBERTa로 실험을 진행한 것이 인상 깊었다.
물론 그 당위성에 대해서는 충분히 납득하기 어려웠는데, 본인들이 한계로 언급한 바와 같이 모델이 요구하는 resource가 크기 때문이다.
경량화를 하는 이유가 적은 자원으로도 동일한 성능을 내기 위해서인데, RoBERTa에 대한 연구가 적게 이뤄져있고, 오히려 자원을 많이 필요로 하기 때문이라는 것이 이해되지 않았다.
또한 결국 distilBERT, ALBERT 등이 모델과 어떤 차이가 있다는 것인지 모르겠다.
이미 경량화된 모델들에 대해서 실험해보지 못한 것을 아쉬운 점으로 저자가 밝혔는데, 사실 직관적으로 상상해보자면 이와 같은 모델들에 본 논문의 테크닉을 적용하면 정상적인 성능이 발휘되지 않을 가능성이 높다고 추측한다.
(명확한 근거는 없지만 모델들의 capacity 또는 expressivity가 지나치게 낮아질 것이라는 예상)
어쨌든 다양한 것들을 잘 조합하고 실험했다는 시도는 대단하지만, 이에 대한 근거나 당위성이 좀 더 뒷받침 되고, 더 다양한 모델과 태스크와의 비교가 포함되었더라면 좋았을 것 같다는 느낌을 받았다.