임베딩을 줄이는 두 가지 방법: Matryoshka vs PCA
Honey, I shrunk the embeddings: Matryoshka vs. PCA

LLM을 자체 문서에 적용하면서 효율적인 저장과 검색이 중요해졌고, 벡터 데이터베이스가 표준 솔루션으로 자리 잡았다. 하지만 수천 차원의 벡터를 수백만 개 저장하면 검색이 느리고 비용이 커진다. OpenAI와 Cohere는 Matryoshka Representation Learning(MRL)을 도입해 차원을 줄이면서도 정확도를 유지하는 방법을 제시했다. 이 글에서는 MRL 기반 절단(truncation)과 PCA를 8개 BEIR 데이터셋에서 비교했다. 그 결과, PCA가 대부분의 차원에서 MRL 절단과 맞먹거나 더 나은 성능을 보였고, 특히 32차원에서 text-embedding-3-small의 경우 PCA가 65%의 성능을 유지한 반면 MRL 절단은 46%에 그쳤다. 또한 PCA는 MRL 학습이 되지 않은 모델에도 적용 가능하며, 학습 데이터 크기나 도메인 차이의 영향이 생각보다 작았다.
PCA는 MRL 학습이 되지 않은 모델에서도 MRL 학습 모델의 절단보다 더 나은 성능을 보였다 (32차원에서 59% vs 46%).