MODULE 02 / LESSON 15

ارزیابی Retriever در سیستم RAG (Evaluating Retrieval)

مفهوم اصلی مانند هر نرم‌افزار دیگری، بعد از ساخت و راه‌اندازی یک Retriever باید بررسی کنیم که آیا واقعاً عملکرد مناسبی دارد یا خیر. اگرچه می‌توان Retriever را از نظر مواردی مانند: Latency (تأخیر پاسخ) Throughput (توان پردازشی)…

نویسنده: محمد ابوطالبی۱۰۳۹ واژهماژول ۲: Retriever

مفهوم اصلی

مانند هر نرم‌افزار دیگری، بعد از ساخت و راه‌اندازی یک Retriever باید بررسی کنیم که آیا واقعاً عملکرد مناسبی دارد یا خیر.

اگرچه می‌توان Retriever را از نظر مواردی مانند:

  • Latency (تأخیر پاسخ)
  • Throughput (توان پردازشی)
  • Resource Usage (مصرف منابع)

ارزیابی کرد، اما مهم‌ترین معیار:

کیفیت جستجو (Search Quality) است.

یعنی:

آیا Retriever اسناد مرتبط را پیدا می‌کند؟


اجزای لازم برای ارزیابی Retriever

برای استفاده از معیارهای ارزیابی، سه جزء اصلی نیاز است:


1. Prompt

Prompt کاربر باید مشخص باشد.

زیرا یک Retriever ممکن است:

  • برای یک Prompt عملکرد عالی داشته باشد.
  • برای Prompt دیگر عملکرد ضعیفی داشته باشد.

2. لیست اسناد بازگردانده‌شده

باید بدانیم Retriever برای آن Prompt چه اسنادی را برگردانده است.

این لیست معمولاً:

  • رتبه‌بندی‌شده است.
  • از مرتبط‌ترین تا کم‌ارتباط‌ترین مرتب شده است.

3. Ground Truth

باید بدانیم پاسخ درست چیست.

یعنی:

تمام اسناد مرتبط موجود در Knowledge Base که Retriever باید پیدا می‌کرد.

برای ارزیابی Retriever باید بدانیم:

  • چه اسنادی درست هستند.
  • کدام اسناد باید بازگردانده می‌شدند.

Precision و Recall

دو معیار رایج برای ارزیابی کیفیت Retriever:

  1. Precision
  2. Recall

Precision

مفهوم

Precision بررسی می‌کند:

از بین اسنادی که Retriever برگردانده، چند درصد واقعاً مرتبط هستند؟

فرمول:

Precision =
Relevant Retrieved Documents
----------------------------
Total Retrieved Documents

مثال

فرض کنید:

  • ۱۰ سند مرتبط در Knowledge Base وجود دارد.
  • Retriever تعداد ۱۲ سند برمی‌گرداند.
  • ۸ مورد از آن‌ها مرتبط هستند.

Precision:

8 / 12 = 66%

یعنی:

۶۶ درصد نتایج Retriever مفید بوده‌اند.


Recall

مفهوم

Recall بررسی می‌کند:

از تمام اسناد مرتبط موجود، چند مورد توسط Retriever پیدا شده‌اند؟

فرمول:

Recall =
Relevant Retrieved Documents
----------------------------
Total Relevant Documents

مثال

در همان مثال:

  • کل اسناد مرتبط = ۱۰
  • اسناد مرتبط پیدا شده = ۸

Recall:

8 / 10 = 80%

یعنی Retriever توانسته ۸۰٪ اطلاعات مرتبط را پیدا کند.


مقایسه Precision و Recall

Precision

تمرکز:

آیا نتایجی که آوردم قابل اعتماد هستند؟

Precision پایین یعنی:

  • اسناد غیرمرتبط زیادی برگردانده شده‌اند.

Recall

تمرکز:

آیا چیزی مهم را از دست داده‌ام؟

Recall پایین یعنی:

  • اسناد مرتبط زیادی پیدا نشده‌اند.

مثال تغییر تنظیمات Retriever

اجرای اول:

نتیجه:

  • ۱۲ سند برگشت داده شد.
  • ۸ مورد مرتبط بود.

Precision:

8/12 = 66%

Recall:

8/10 = 80%

اجرای دوم:

نتیجه:

  • ۱۵ سند برگشت داده شد.
  • ۹ مورد مرتبط بود.

Precision:

9/15 = 60%

Recall:

9/10 = 90%

نتیجه:

  • Precision کاهش پیدا کرد.
  • Recall افزایش پیدا کرد.

یعنی:

کمی از دقت نتایج کم شد تا اطلاعات بیشتری پیدا شود.


Trade-off بین Precision و Recall

در عمل معمولاً باید بین این دو تعادل ایجاد کرد.

حالت ایده‌آل:

  • تمام اسناد مرتبط پیدا شوند.
  • هیچ سند غیرمرتبطی برنگردد.

یعنی:

  • Precision = 100%
  • Recall = 100%

اما معمولاً رسیدن همزمان به هر دو دشوار است.


ارزیابی بر اساس Top K

معیارهای Retrieval به تعداد اسنادی که Retriever برمی‌گرداند وابسته هستند.

برای استانداردسازی معمولاً از مفهوم:

Top K

استفاده می‌شود.

یعنی:

K سندی که Retriever بالاترین رتبه را به آن‌ها داده است.

مثال:

  • Precision@5
  • Recall@10

مثال Precision@K

فرض کنید Retriever یک لیست رتبه‌بندی‌شده برگردانده است.

در:

Precision@5

فقط ۵ سند اول بررسی می‌شوند.

اگر:

  • ۲ مورد از ۵ سند مرتبط باشند:

Precision@5:

2/5 = 40%

Precision@10

اگر:

  • ۶ مورد از ۱۰ سند مرتبط باشند:

Precision@10:

6/10 = 60%

Recall@K

فرض کنید:

کل اسناد مرتبط:

8 documents

در Top 10:

6 relevant documents

پس:

Recall@10 = 6/8 = 75%

انتخاب مقدار K

برای شرایط سخت‌تر:

  • Top 1
  • Top 2
  • Top 5

استفاده می‌شود.

اما معمولاً بازه:

  • Top 5 تا Top 15

دید کامل‌تری از عملکرد Retriever می‌دهد.


Mean Average Precision (MAP)

مفهوم

برای ارزیابی بهتر رتبه‌بندی اسناد، از:

Mean Average Precision (MAP@K)

استفاده می‌شود.

MAP بررسی می‌کند:

آیا Retriever اسناد مرتبط را در رتبه‌های بالاتر قرار داده است؟


محاسبه Average Precision

مثال:

فرض کنید ۶ سند اول Retriever بررسی می‌شوند.

برای هر رتبه:

Precision@K محاسبه می‌شود.

فقط رتبه‌هایی که سند مرتبط دارند استفاده می‌شوند.

مثلاً اسناد مرتبط در رتبه‌های:

  • 1
  • 4
  • 5

قرار دارند.

Precisionها:

1
0.5
0.6

جمع:

2.1

تقسیم بر تعداد اسناد مرتبط:

2.1 / 3 = 0.7

پس:

Average Precision:

0.7

Mean Average Precision

برای چندین Prompt:

  1. Average Precision هر Prompt محاسبه می‌شود.
  2. میانگین آن‌ها گرفته می‌شود.

نتیجه:

MAP


چرا MAP مهم است؟

MAP به رتبه‌بندی خوب پاداش می‌دهد.

اگر یک سند غیرمرتبط در رتبه بالا قرار گیرد:

  • Precision رتبه‌های بعدی کاهش پیدا می‌کند.
  • MAP کاهش پیدا می‌کند.

بنابراین:

MAP بالا یعنی:

Retriever اسناد مرتبط را در رتبه‌های بالای لیست قرار می‌دهد.


Reciprocal Rank (RR)

مفهوم

این معیار بررسی می‌کند:

اولین سند مرتبط در چه رتبه‌ای قرار گرفته است؟

فرمول:

RR = 1 / Rank

مثال

اگر اولین سند مرتبط:

رتبه ۲ باشد:

1/2 = 0.5

اگر:

رتبه ۴ باشد:

1/4 = 0.25

هرچه سند مرتبط پایین‌تر باشد، امتیاز کمتر می‌شود.


Mean Reciprocal Rank (MRR)

برای چندین Prompt:

میانگین Reciprocal Rank گرفته می‌شود.

نام آن:

MRR (Mean Reciprocal Rank)

است.


مثال محاسبه MRR

فرض کنید برای ۴ جستجو:

اولین سند مرتبط در رتبه‌های زیر قرار دارد:

  • رتبه ۱
  • رتبه ۳
  • رتبه ۶
  • رتبه ۲

مقادیر:

1/1 = 1
1/3
1/6
1/2

میانگین:

(1 + 1/3 + 1/6 + 1/2) / 4

نتیجه:

MRR = 0.5

مقایسه معیارها

معیار هدف
Recall@K پیدا کردن اسناد مرتبط
Precision@K جلوگیری از اسناد غیرمرتبط
MAP@K بررسی کیفیت رتبه‌بندی
MRR بررسی اینکه اولین نتیجه مرتبط چقدر زود پیدا می‌شود

کاربرد معیارها در تنظیم Retriever

این معیارها کمک می‌کنند بفهمیم تغییرات سیستم مفید بوده‌اند یا نه.

مثلاً در Hybrid Search:

می‌توان:

  • وزن Semantic Search را تغییر داد.
  • وزن Keyword Search را تغییر داد.

سپس بررسی کرد:

  • Recall چه تغییری کرده؟
  • Precision چه تغییری کرده؟

محدودیت معیارهای ارزیابی

مشکل اصلی:

همه این معیارها نیاز به:

Ground Truth

دارند.

یعنی باید از قبل مشخص باشد:

  • کدام اسناد مرتبط هستند.

ساخت این مجموعه داده:

  • زمان‌بر است.
  • معمولاً نیاز به بررسی دستی دارد.

اما نتیجه:

یک سیستم قابل اندازه‌گیری است که می‌توان آن را:

  • در زمان توسعه
  • در محیط Production

مانیتور کرد.


جمع‌بندی

  • مهم‌ترین معیار موفقیت Retriever، کیفیت جستجو است.
  • برای ارزیابی نیاز به Prompt، نتایج Retriever و Ground Truth داریم.
  • Precision نشان می‌دهد چه مقدار از نتایج بازیابی‌شده واقعاً مرتبط هستند.
  • Recall نشان می‌دهد چه مقدار از اطلاعات مرتبط پیدا شده است.
  • معمولاً بین Precision و Recall یک Trade-off وجود دارد.
  • MAP کیفیت رتبه‌بندی اسناد مرتبط را ارزیابی می‌کند.
  • MRR بررسی می‌کند اولین سند مرتبط چقدر سریع در رتبه‌بندی ظاهر می‌شود.
  • برای ارزیابی واقعی Retriever باید مجموعه‌ای از Promptها و اسناد مرتبط از قبل آماده شود.