PostgreSQLにおけるColBERT rerankによるベクトル検索の高速化
2025-01-24
従来のベクトル検索はセンテンスエンベディングに依存しており、細かな情報が失われる可能性があります。ColBERTは、テキストをトークンレベルのマルチベクトルとして表現することで、より多くのニュアンス情報を保持し、検索精度を向上させます。しかし、トークンレベルの相互作用は計算コストが高くなります。この記事では、PostgreSQL拡張機能であるVectorChordとpgvectorを使用して、センテンスレベルのベクトル検索とColBERTトークンレベルのrerankを組み合わせる方法を示します。このアプローチは、センテンスエンベディングを使用して高速な初期検索を行い、その後ColBERTでrerankすることで、結果を向上させます。複数のBEIRデータセットで大幅な改善が観察されました。
開発
ベクトル検索