Matryoshka vs. PCA:MRLトランケーションを凌ぐ旧来の手法
正面からのベンチマーク比較で、PCAはMatryoshkaトランケーションよりも埋め込みをさらに縮小でき、検索品質をより維持できることが判明。しかもMRLトレーニング済みモデルに限らず、あらゆるモデルで機能する。

ベクトルデータベースはLLM埋め込みの保存・検索における標準的な解だが、コレクションが成長するにつれ、高次元ベクトルのコストとレイテンシが問題となる。AIラボはMatryoshka Representation Learning(MRL)をその解決策として推し進めた。最初の数次元に最も重要なシグナルを集中させるようモデルを訓練し、推論時に切り詰めるという手法だ。確かに機能するが、MRL用に訓練されたモデルに限られ、非常に小さな次元では品質低下が急激だ。
Dylan Castilloは、MRLトランケーションと、はるかに古い手法である主成分分析(PCA)を対決させるベンチマークを実施した。その結果は、時に退屈でディープラーニング以前のツールこそが正解であることを思い出させてくれる。
実験
Castilloは2つのMRL訓練済みモデル—OpenAIのtext-embedding-3-small(1,536次元)とAlibabaのqwen3-embedding-8b(4,096次元)—を用意し、トランケーションとPCAの両方を用いて512、256、128、64、32次元に縮小した。8つのBEIRデータセットで検索品質(NDCG@10)を評価した。さらに、MRL訓練を受けていないtext-embedding-ada-002を対照群として追加し、PCAの性能がMRL訓練に依存するかどうかを確認した。
小次元ではPCAが勝利
512次元ではトランケーションがわずかに優位だ。しかし次元が縮小するにつれ、PCAは追いつき、やがてリードする。text-embedding-3-smallでは、32次元でPCAは品質の65%を維持するのに対し、トランケーションは46%にとどまる。qwen3-embedding-8bでは差は小さい(71%対68%)が、やはりPCAが有利だ。データセット全体では、最小サイズで3-smallでは8件中7件、qwen3では8件中6件でPCAが勝利した。
対照実験は2つ目の問いに答えた。PCAはMRL訓練を一切受けていないada-002でも同様に機能する。つまり、この利点はMRLの整然とした埋め込み空間の副産物ではない—PCAは汎用の縮小ツールなのだ。
欠点:運用上の複雑さ
PCAは無料ではない。埋め込みのサンプルに射影行列をフィッティングし、それを保存・バージョン管理し、インデックス作成とクエリ時に同じバージョンを一貫して適用する必要がある。ドメイン外のPCA—MS MARCOでフィッティングしてどこでも再利用する—は品質を低下させるため、コーパスごとにフィッティングする必要があるだろう。これは確かなオーバーヘッドだが、大規模なインデックスなら価値があるかもしれない。
PCAは、両方のMRL訓練済みモデルにおいて、ほぼすべての次元でMRLトランケーションに匹敵するか、それを上回った。
完全なコードとデータはGitHubに公開されているので、数値を再現して自分で判断できる。
PCAは、両方のMRL訓練済みモデルにおいて、ほぼすべての次元でMRLトランケーションに匹敵するか、それを上回った。
| 次元 | 3-small トランケーション | 3-small PCA | qwen3-8b トランケーション | qwen3-8b PCA |
|---|---|---|---|---|
| 512 | 98% | 97% | 99% | 98% |
| 256 | 94% | 95% | 96% | 96% |
| 128 | 86% | 90% | 91% | 91% |
| 64 | 71% | 82% | 83% | 84% |
| 32 | 46% | 65% | 68% | 71% |
ディスカッション
0 件のコメント
最初のコメントを投稿しましょう。