MODULE 04 / LESSON 33

RAG vs Fine-Tuning — تفاوت، کاربرد و ترکیب آن‌ها

در بهبود عملکرد LLM دو تکنیک بسیار معروف وجود دارد: RAG (Retrieval Augmented Generation) Fine-Tuning هر دو باعث بهتر شدن خروجی مدل می‌شوند، اما مشکل‌های متفاوتی را حل می‌کنند. ایده اصلی RAG RAG بدون تغییر دادن خود مدل، اطلاعات…

نویسنده: محمد ابوطالبی۱۱۱۱ واژهماژول ۴: LLM & Promptingشامل افزودهٔ پژوهشی ۲۰۲۶

در بهبود عملکرد LLM دو تکنیک بسیار معروف وجود دارد:

  1. RAG (Retrieval Augmented Generation)
  2. Fine-Tuning

هر دو باعث بهتر شدن خروجی مدل می‌شوند، اما مشکل‌های متفاوتی را حل می‌کنند.


ایده اصلی RAG

RAG بدون تغییر دادن خود مدل، اطلاعات جدید را هنگام پاسخ‌گویی به آن می‌دهد.

یعنی:

User Question

        ↓

Retriever

        ↓

Relevant Documents

        ↓

Prompt + Documents

        ↓

LLM

        ↓

Answer

مدل همان مدل قبلی است، فقط اطلاعات بیشتری در Prompt دریافت می‌کند.


مثال:

LLM عمومی:

آخرین قوانین شرکت شما چیست؟

مدل:

نمی‌دانم.

با RAG:

Question

+

Company Policy PDF

        ↓

LLM

        ↓

طبق قوانین شرکت، مرخصی سالانه ۲۵ روز است.

ایده اصلی Fine-Tuning

Fine-Tuning یعنی:

خود مدل را دوباره آموزش دهیم تا رفتار یا تخصص خاصی پیدا کند.

یعنی:

Base LLM

      ↓

Training on Domain Data

      ↓

Specialized LLM

در Fine-Tuning پارامترهای داخلی مدل تغییر می‌کنند.


چگونه Fine-Tuning انجام می‌شود؟

معمولاً با:

Supervised Fine-Tuning (SFT)

انجام می‌شود.

داده آموزشی شامل:

Instruction

+

Expected Answer

است.

مثال:

Dataset:

Question:
علائم دیابت چیست؟

Answer:
دیابت معمولاً با افزایش قند خون، تشنگی زیاد و ...

مدل یاد می‌گیرد:

  • چگونه جواب دهد
  • چه سبکی داشته باشد
  • چه ساختاری استفاده کند

مثال پزشکی

مدل عمومی:

سؤال:

درد مفصل + حساسیت به نور + جوش پوستی؟

جواب:

ممکن است دلایل مختلفی داشته باشد...

جواب عمومی.


بعد از Fine-Tuning پزشکی:

بر اساس علائم ذکر شده، بیماری‌های خودایمنی مانند Lupus باید بررسی شوند...

مدل:

  • تخصصی‌تر
  • دقیق‌تر
  • با لحن پزشکی

تفاوت اصلی RAG و Fine-Tuning

مهم‌ترین جمله:

RAG برای اضافه کردن دانش جدید است.
Fine-Tuning برای تغییر رفتار و تخصص مدل است.


RAG = Knowledge Injection

یعنی:

"مدل چه چیزی بداند؟"


Fine-Tuning = Domain Adaptation

یعنی:

"مدل چگونه رفتار کند؟"


مقایسه مستقیم

ویژگی RAG Fine-Tuning
تغییر وزن‌های مدل ❌ ✅
اضافه کردن اطلاعات جدید عالی ضعیف‌تر
تغییر سبک پاسخ محدود عالی
هزینه آموزش کم زیاد
نیاز به Dataset کمتر زیاد
حذف/آپدیت اطلاعات آسان سخت
مناسب اطلاعات متغیر عالی ضعیف
تخصصی کردن رفتار متوسط عالی

چرا Fine-Tuning برای یاد دادن اطلاعات جدید خوب نیست؟

یک تصور اشتباه:

"می‌خواهم مدل PDFهای شرکت را بداند، پس Fine-Tune کنم."

معمولاً انتخاب خوبی نیست.

چرا؟

چون Fine-Tuning بیشتر یاد می‌دهد:

  • چگونه پاسخ دهد
  • چه الگویی داشته باشد

نه اینکه:

  • دقیقاً چه اطلاعاتی را حفظ کند

مثلاً:

اگر امروز:

قانون مرخصی = 20 روز

و فردا:

قانون مرخصی = 25 روز

در RAG:

فقط PDF را عوض می‌کنیم.

در Fine-Tuning:

باید دوباره آموزش دهیم.


مثال واقعی

سیستم حقوقی شرکت

اطلاعات:

  • قراردادها
  • قوانین جدید
  • آیین‌نامه‌ها

راه درست:

✅ RAG

چرا؟

چون اطلاعات دائم تغییر می‌کند.


سیستم تولید قرارداد حقوقی

می‌خواهیم مدل:

  • لحن حقوقی داشته باشد
  • قالب خاص تولید کند

راه مناسب:

✅ Fine-Tuning


ترکیب RAG + Fine-Tuning

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

معماری:

User

 ↓

Retriever

 ↓

Documents

 ↓

Fine-Tuned LLM

 ↓

Answer

مثلاً:

Fine-Tuned Model:

یاد گرفته:

چطور گزارش پزشکی بنویسد

RAG:

می‌دهد:

اطلاعات بیمار و مقالات پزشکی

نتیجه:

مدل:

  • سبک درست دارد
  • اطلاعات درست دارد

کاربرد Fine-Tuning در Agentic RAG

یک مثال مهم:

در Agentic RAG چند مدل داریم:

Router Agent

Evaluator Agent

Generator Agent

Router فقط یک کار دارد:

تشخیص:

Need Retrieval?
YES / NO

برای این کار:

یک مدل کوچک Fine-Tune شده عالی است.

مثلاً:

Llama 3 8B

↓

Fine-Tune

↓

Router Model

چون فقط یک وظیفه دارد.


چه زمانی RAG انتخاب کنیم؟

اگر مشکل شما:

"مدل اطلاعات کافی ندارد"

است:

✅ RAG

مثال:

  • اسناد شرکت
  • قوانین
  • محصولات
  • مقالات جدید
  • دیتابیس داخلی

چه زمانی Fine-Tuning انتخاب کنیم؟

اگر مشکل:

"مدل نمی‌داند چگونه پاسخ دهد"

است:

✅ Fine-Tuning

مثال:

  • سبک نوشتاری خاص
  • فرمت خروجی ثابت
  • وظیفه تخصصی
  • Classification
  • Agent تخصصی

چه زمانی هر دو؟

در سیستم‌های Enterprise:

معمولاً:

RAG

+

Fine-Tuned Model

+

Agent Workflow

است.


تصمیم‌گیری سریع

آیا مشکل کمبود اطلاعات است؟

        |
       بله
        |
       RAG


آیا مشکل رفتار و سبک مدل است؟

        |
       بله
        |
   Fine-Tuning


هر دو؟

        |
       بله
        |
 RAG + Fine-Tuning

جمع‌بندی نهایی

RAG و Fine-Tuning رقیب نیستند؛ مکمل هستند.

  • RAG → حافظه خارجی مدل
  • Fine-Tuning → تغییر شخصیت و مهارت مدل

یک سیستم حرفه‌ای GenAI معمولاً:

Knowledge
   ↓
RAG

Behavior
   ↓
Fine-Tuning

Workflow
   ↓
Agents

را ترکیب می‌کند تا به یک سیستم دقیق، تخصصی و قابل اعتماد برسد.