【クロスエンコーダー】
クロスエンコーダー とは?
公開:
💡 二人を並べて相性を丁寧に採点する審査員
📌 このページのポイント
クロスエンコーダーって何をするものなの?
「この質問とこの文書はどれくらいマッチするか?」を0〜1のスコアで採点するモデルだよ。質問文と文書を一緒に受け取って、1つのスコアを返すんだ。
バイエンコーダーと何が違うの?
じゃあクロスエンコーダーだけ使えばいいんじゃないの?
なるほど、遅いから全件には使えないんだね。じゃあどう使うの?
定石は「2段階方式」だよ。まずバイエンコーダーで数百件に絞り込んで、その候補だけをクロスエンコーダーで精密に再ランキング(reranking)するんだ。速さと精度を両立できるんだよ。
RAGのどこで使われるの?
検索して取得した文書を「本当に質問に合っているか」で並び替えるrerankerとして使われることが多いよ。LLMへ渡す文書の質が上がるから、最終的な回答精度もぐっと良くなるんだ。
精度重視の場面で活躍するんだね!
そうだよ。コスト(計算時間)と精度のトレードオフで選ぶ感じだね。速さを取るならバイエンコーダー単体、精度を取るなら2段階でクロスエンコーダーを組み合わせる、というのが現在の主流なんだ。
まとめ:ざっくりこれだけ覚えればOK!
「クロスエンコーダー」って出てきたら「高精度だが遅い精密審査役」と思えばだいたいOK!
📖 おまけ:英語の意味
「Cross-Encoder」 = 交差エンコーダー
💬 クエリと文書を「交差させて」同時に処理することが名前の由来で、BERTのようなTransformerでクエリと文書をセパレータで連結して入力するんだよ。