下に引いて戻る
PCA を先に適用すると非 Matryoshka 埋め込みが圧縮可能に:BGE-M3 での実験結果

PCA を先に適用すると非 Matryoshka 埋め込みが圧縮可能に:BGE-M3 での実験結果

PCA Before Truncation Makes Non-Matryoshka Embeddings Compressible: Results on BGE-M3

ほとんどの埋め込みモデルは Matryoshka 学習を使っていないため、単純に次元を削減するとモデルの性能が大きく低下します。この記事では簡単な解決策を提案しています:埋め込みベクトルのサンプルに対して一度 PCA を適用し、ベクトルを PCA 空間に回転させてから次元削減するというアプローチです。PCA は重要な情報を最初の数個の成分に集約するため、単なる恣意的な削減ではなくなります。BGE-M3 の 1024 次元ベクトルでテストした結果は驚くべきものです:512 次元では、素朴な削減でコサイン類似度が 0.707 に低下するのに対し、PCA 先行法は 0.996 を維持;384 次元では 0.609 対 0.990 です。つまり、この手法を使えば埋め込みベクトルを元のサイズの半分または 3 分の 1 に圧縮しながら、品質をほぼ保つことができます。埋め込みベクトルのストレージやレイテンシーに悩んでいるなら、必読の内容です。

キーワード

PCAembedding compressionMatryoshka embeddingsdimension truncationcosine similarityBGE-M3