یه ایده جالب برای بهتر کردن LLM-as-a-Judge 👀
یکی از مشکلات مهم توی سیستمهای Agentic اینه که وقتی چند جواب یا چند مسیر مختلف برای حل یک مسئله داریم، چطور بفهمیم کدومش بهتره؟
روش معمول اینه که از یک LLM بهعنوان Judge استفاده کنیم و مثلاً بگیم:
«این دو جواب رو بررسی کن و از ۱ تا ۵ نمره بده.»
مدل هم ممکنه بگه:
Answer A → 4
Answer B → 4
خب حالا کدوم بهتره؟ 🤔
مشکل اینجاست که مدل واقعاً فقط «۴» رو نمیبینه؛ پشت این جواب یک Probability Distribution وجود داره. مثلاً ممکنه برای جواب A داشته باشیم:
۴ با احتمال ۵۱٪
۳ با احتمال ۳۰٪
۵ با احتمال ۱۹٪
ولی برای جواب B:
۴ با احتمال ۹۰٪
۳ با احتمال ۵٪
۵ با احتمال ۵٪
هر دو در نهایت نمره ۴ میگیرن، ولی مشخصه که مدل نسبت به B خیلی مطمئنتره.
اینجاست که ایده LLM-as-a-Verifier جالب میشه.
بهجای اینکه فقط محتملترین نمره رو برداریم، کل Probability Distribution نمرهها رو از مدل میگیریم و ازش Expected Score حساب میکنیم.
مثلاً:
1×0.02 + 2×0.05 + 3×0.15 + 4×0.45 + 5×0.33 ≈ 4.02
پس بهجای اینکه فقط بگیم «۴»، یک نمره دقیقتر مثل 4.02 داریم.
این کار باعث میشه اطلاعاتی که داخل احتمالهای مدل وجود داره از بین نره و بتونیم جوابهایی رو که قبلاً هر دو نمره ۴ میگرفتن، بهتر از هم تشخیص بدیم.
ولی مقاله فقط به همین محدود نمیشه. برای بهتر کردن Verification، سه کار دیگه هم انجام میده:
🔹 Score Granularity
تعداد نمرههای ممکن رو بیشتر میکنه تا تفاوت بین جوابها دقیقتر مشخص بشه.
🔹 Repeated Evaluation
ارزیابی رو چند بار تکرار میکنه و میانگین میگیره تا نوسان نتیجه کمتر بشه.
🔹 Criteria Decomposition
بهجای اینکه یک نمره کلی بدیم، معیارهای مختلف رو جداگانه بررسی میکنه؛ مثلاً Correctness، Completeness و Quality.
بعد این نمرهها رو با هم ترکیب میکنه تا بتونه بین چند جواب یا چند مسیر مختلف، گزینه بهتر رو انتخاب کنه.
نتایج هم جالبه:
Terminal-Bench V2 → 86.5%
SWE-Bench Verified → 78.2%
RoboRewardBench → 87.4%
MedAgentBench → 73.3%
نکته جالبتر اینه که این Continuous Score فقط برای انتخاب بهترین جواب نیست. مقاله نشون میده که میشه ازش برای فهمیدن میزان پیشرفت یک Agent در طول حل مسئله و حتی بهعنوان Reward در Reinforcement Learning هم استفاده کرد.
به نظرم ایده اصلی مقاله خیلی ساده و مهمه:
ما معمولاً از LLM میخوایم جواب تولید کنه؛ ولی شاید به همون اندازه مهم باشه که یاد بگیریم چطور جوابهای تولیدشده رو دقیقتر ارزیابی کنیم.
یعنی بهجای:
Generate → Generate → Generate
یک مسیر مهم دیگه هم میتونه این باشه:
Generate → Verify → Select → Improve
📄 Paper:
https://arxiv.org/html/2607.05391v2
🛠 Join @LLMEngineers Community
Post #485
1.51K
AI Engineers Photo
- ❤ 11
- 🔥 5
- 👌 3