クロスエンコーダー(Cross-encoder)
クエリと文書を一緒にエンコードしてテキストの類似度を測るニューラルネットワーク構成。バイエンコーダーより高精度だが、クエリごとに全候補を処理するためコストはO(N)になり、バイエンコーダーが絞り込んだ上位N件の再順位付けにのみ使われる。
現代のRAGでは、バイエンコーダー(高速なベクトル検索)で上位100件ほどを取り、クロスエンコーダーのリランカーで再評価して、上位10件をLLMに渡す。リランカーのモデルにはms-marco-MiniLM-L-6-v2、BAAI/bge-reranker-v2-m3、Cohere Rerankなどがある。埋め込みモデル(バイエンコーダー)がベクトルを生成するのに対し、クロスエンコーダーは関連性を直接分類する点が異なる。
遅延は100文書×5msで約500msだが、精度向上と引き換えなら許容されることが多い。CohereやVoyage AIはマネージドのリランカーAPIを提供しており、オープンソースではsentence-transformersとrerankersライブラリがある。