JEV: ریرنکری برای RAG که از دستور پیروی میکنه
خلاصهٔ کاملتر
این مقاله JEV رو معرفی میکنه؛ یه مدل کوچیک و کمهزینه که بهجای تولید متن آزاد، فقط تصمیم ساختاریافته میگیره. تو یه pipeline از نوع RAG (یعنی سیستمی که اول سند پیدا میکنه و بعد با LLM جواب میسازه)، JEV جاهایی میشینه که باید یه چیزی تصمیم گرفته بشه: این chunk مرتبطه یا نه، کدوم گزینه با قانون میخونه، اسناد به چه ترتیبی بیان.
JEV سه تا primitive داره: یه classifier دودویی true/false، یه choice ranker برای انتخاب بین چند گزینه بر اساس یه معیار، و یه score ladder برای دادن نمرهٔ درجهبندیشده به چند کاندید. برای reranking (یعنی مرتبکردن دوبارهٔ نتایج جستوجو قبل از اینکه برسن به LLM) بیشتر از ranker و نمرهدهی استفاده میشه.
فرق اصلیش با cross-encoder اینه. cross-encoder مدلیه که یه بار روی یه تعریف ثابت از «مرتبط بودن» آموزش دیده و موقع اجرا نمیشه بهش گفت جور دیگهای وزن بده. اگه سیاست شرکت عوض بشه ولی متن اسناد شبیه بمونه، cross-encoder نمیفهمه نسخهٔ قدیمی باید پایینتر بیاد. JEV کنار query یه criteria متنی هم میگیره که مثل یه قانون اجرایی عمل میکنه. مثلاً «true اگه متن مستقیم به سؤال جواب میده، false اگه فقط کلمههای مشترک داره». با عوضکردن همین متن، همون مجموعه سند یه ترتیب دیگه پیدا میکنه، یعنی دیگه لازم نیست برای هر تغییر سیاست مدل رو دوباره آموزش بدی.
خروجی JEV یه احتمال calibrated هست، نه یه عدد شباهت خام. پس میشه یه آستانه گذاشت و chunkهای زیرش رو دور ریخت؛ یعنی JEV هم رتبهبندی میکنه هم فیلتر. تو یه تست با چهار متن نمونه (جواب مستقیم، همموضوع ولی بیجواب، فقط کلمهٔ مشترک، و بیربط) بیشترین احتمال رو به جواب مستقیم داده.
در مقایسه با LLM بهعنوان reranker (مثل Gemini Flash)، که اونم دستور میفهمه ولی گرونه، به گفتهٔ مقاله هزینه و سرعت JEV تو chunkهای کوچیک نزدیک Gemini Flash-Lite بوده و هرچی chunk بزرگتر شده فاصله بیشتر شده. هزینهٔ LLM تقریباً خطی بالا رفته ولی JEV نسبتاً ثابت مونده. روی یه baseline از نوع BM25 (جستوجوی کلیدواژهای کلاسیک)، اضافهکردن JEV دقت top-1 رو از ۲۱٪ به ۵۴٪ رسونده.
نویسنده میگه همین الگو جاهای دیگهٔ RAG هم به کار میاد: فیلتر chunkها قبل از تولید جواب، چککردن اینکه یه citation واقعاً ادعا رو تأیید میکنه، یا اعتبارسنجی entityها تو graph RAG. هرجا الان یه regex شکننده یا یه صدا زدن گرون LLM فقط برای یه بله/نه داری، کاندید جایگزینیه.
نکات کلیدی:
- سه primitive: classifier دودویی، choice ranker و score ladder
- با عوضکردن criteria متنی، ترتیب نتایج بدون retrain عوض میشه
- روی BM25 دقت top-1 از ۲۱٪ به ۵۴٪ رسیده
- اجرای ترتیبی حدود ۱۷ تصمیم در ثانیه و ۴۰ ثانیه برای یه batch؛ با ۶۴ درخواست همزمان حدود ۷.۶ ثانیه
- مزیت هزینهای نسبت به Gemini Flash و Flash-Lite با بزرگتر شدن chunk بیشتر میشه
- برای رتبهبندیهای ثابت، cross-encoder هنوز گزینهٔ ارزونتر و سریعتره




