2D Matryoshka Sentence Embeddings (2024)
Xianming Li, Zongxi Li, Jing Li, Haoran Xie, Qing Li
지난 포스트에서 Matryoshka Embedding에 대한 소개가 있었다. 이후 관련 논문을 찾아봤을 때 파급력에 비해 Variant가 하나밖에 없어서 그에 대한 소개를 진행하고자 한다.
Matryoshka Sentence Embedding (MSE)라고 줄여 적는다.
MSE를 통해 (약간 낮지만) 유사한 성능을 가질 수 있는 문장 임베딩을 얻을 수 있게 되었으며, 14배 더 줄어든 임베딩을 통해서도 Downstream Task에서 속도와 성능을 모두 향상 시킬 수 있는 임베딩을 만들 수 있게 되었다. 하지만 MSE는 모든 Sentence Transformer Embedding과 같게 ‘Last Transformer Layer’를 사용하는데 이는 Efficiency의 다양한 면에서 일부를 놓치고 있는 것이며 이는 Inference Speed이다.
Forward Pass를 많이 사용하는 MSE 특성 상 Burden이 좀 될 수 있다.
(훈련을 할 때도 Back Prop을 위해서 Forward Pass를 해야하는데 결국 차원의 종류 개수가 6개라면 한번의 훈련에 6번 Forward Pass가 필요). BERT-base를 Ang1E Loss를 사용해서 훈련시켰을 때, intermediate layer에서 성능 하락을 목도하였는데, 모든 Layer에서 좋은 성능을 달성하고자 하는게 2D MSE의 목적이다. 즉, 2D MSE는 Embedding Size 뿐만 아니라 Transformer Layer에 대해서도 MSE가 제대로 훈련될 수 있도록 하는 연구이다.
아래의 그림과 같이 모든 Layer에서 Final Layer와 동일한 결과를 내고자 하는 것이다.
2D MSE의 장점
Method
Experiment
baseline
Result