【クロスエンコーダー】
クロスエンコーダー とは?
最終更新:
💡 質問と文書を一緒に読んで、関連度を採点する審査役
クロスエンコーダーとは、質問と文書などの入力ペアを一緒に処理し、関連度や分類の結果を求めるモデル。検索では取得済みの候補を採点し直す再ランキングに使われ、文書ごとに質問との組み合わせを評価する。
📌 このページのポイント
クロスエンコーダーって何をするものなの?
検索なら「この質問に、この文書はどれくらい合っている?」と採点するよ。質問と文書を一緒にモデルに入力して、両者の関係を評価するんだ。
バイエンコーダーと何が違うの?
じゃあクロスエンコーダーだけ使えばいいんじゃないの?
全候補とのペアを処理すると、文書数が多い場合には計算量が大きくなるよ。だから、まず検索で候補を絞り、その候補を採点し直す2段階の構成があるんだ。候補数と速度・検索品質を見て調整するよ。
スコアは0から1の確率なの?
必ずではないよ。モデルや設定によっては、負の値や1を超える値も出るんだ。0〜1に変換しても、そのまま「正しい確率」と見なせるとは限らないので、モデルの説明と自分のデータでの評価を確認しよう。
RAGでも役に立つの?
検索した文書を再ランキングし、LLMへ渡す候補を選ぶために使えるよ。ただし、最初の検索で漏れた文書は候補に入らないし、関連度の採点は事実の正しさの保証でもないんだ。実際の質問で、検索品質と回答品質の両方を確かめよう。
まとめ:ざっくりこれだけ覚えればOK!
「クロスエンコーダー」って出てきたら「質問と文書を一緒に読んで関連度を採点するモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Cross-Encoder」 = 入力ペアを一緒に処理するエンコーダー
💬 別々に表現を作るバイエンコーダーに対し、ペアの入力の関係を一緒に扱うモデルだよ。検索だけでなく、文の類似性や分類の用途にも使われるんだ。