انتخاب مدل زبانی (LLM) یکی از مهمترین تصمیمها هنگام ساخت یک سیستم RAG است.
چون انتخاب مدل مستقیماً روی:
- کیفیت پاسخها
- سرعت سیستم
- هزینه اجرا
- تجربه کاربر
تأثیر میگذارد.
امروزه تعداد زیادی LLM وجود دارد که هرکدام:
- تواناییهای متفاوت
- قیمت متفاوت
- سرعت متفاوت
دارند.
معیارهای قابل اندازهگیری برای انتخاب LLM
قبل از بررسی کیفیت مدل، چند ویژگی فنی وجود دارد که به راحتی قابل مقایسه هستند.
1. اندازه مدل (Model Size)
اندازه مدل معمولاً با تعداد پارامترها بیان میشود.
مثلاً:
7B
13B
70B
405B
یعنی:
- 7 میلیارد پارامتر
- 13 میلیارد پارامتر
- 70 میلیارد پارامتر
مدلهای کوچک
تقریباً:
1B تا 10B پارامتر
مزایا:
- سریعتر
- ارزانتر
- قابل اجرا روی سختافزار ضعیفتر
معایب:
- استدلال ضعیفتر
- دانش کمتر
- عملکرد پایینتر در وظایف پیچیده
مدلهای بزرگ
تقریباً:
100B تا 500B+
مزایا:
- توانایی بیشتر
- Reasoning بهتر
- درک بهتر متن
معایب:
- هزینه بالا
- نیاز به GPU قوی
- Latency بیشتر
نکته مهم
مدل بزرگتر معمولاً بهتر است، اما همیشه نه.
گاهی یک مدل کوچکتر:
- برای یک وظیفه خاص
- با Prompt مناسب
- همراه با RAG
میتواند بهتر عمل کند.
2. هزینه (Cost)
اکثر ارائهدهندگان LLM هزینه را بر اساس Token حساب میکنند.
معمولاً:
Price per million tokens
هزینه معمولاً شامل:
Input Tokens
متنی که به مدل میدهید:
- Prompt
- Context بازیابی شده از RAG
Output Tokens
متنی که مدل تولید میکند.
مدلهای:
- جدیدتر
- بزرگتر
- قویتر
معمولاً هزینه بیشتری دارند.
3. Context Window
Context Window یعنی:
حداکثر تعداد Tokenهایی که مدل میتواند همزمان پردازش کند.
شامل:
Prompt + Retrieved Documents + Generated Answer
مثال:
مدل:
128K Context Window
میتواند حدود:
128 هزار Token
را پردازش کند.
Context بزرگ چه مزیتی دارد؟
برای RAG مفید است چون میتوان:
- Documentهای بیشتری وارد Prompt کرد
- اطلاعات بیشتری به مدل داد
اما:
هزینه Token همچنان پرداخت میشود.
4. سرعت مدل
دو معیار مهم:
Time To First Token (TTFT)
زمانی که طول میکشد اولین Token تولید شود.
مهم برای:
- Chatbot
- سیستمهای Real-Time
Tokens Per Second
سرعت تولید Token.
مثلاً:
50 tokens/sec
اگر RAG شما چت آنلاین است:
Latency اهمیت زیادی دارد.
5. تاریخ آخرین آموزش (Knowledge Cutoff)
Knowledge Cutoff:
آخرین تاریخی که اطلاعات آموزشی مدل شامل آن بوده است.
مثلاً:
Knowledge cutoff: 2025
یعنی:
مدل اطلاعات بعد از 2025 ندارد.
حتی در RAG:
مدل جدیدتر معمولاً بهتر است.
خصوصاً برای:
- اخبار
- قوانین جدید
- تکنولوژیهای جدید
کیفیت مدل (Model Quality)
مهمترین بخش انتخاب LLM کیفیت است.
اما اندازهگیری کیفیت سختتر است.
کیفیت شامل:
- توانایی حل مسئله
- Reasoning
- تولید متن طبیعی
- کدنویسی
- درک دستورها
است.
برای مقایسه مدلها از Benchmark استفاده میشود.
انواع Benchmark برای LLM
سه دسته اصلی وجود دارد:
- Automated Benchmarks
- Human Evaluation
- LLM as Judge
1. Automated Benchmarks
در این روش:
کامپیوتر پاسخ مدل را بررسی میکند.
مثال:
MMLU
(Massive Multitask Language Understanding)
شامل:
57 موضوع مختلف:
- علوم
- ریاضی
- حقوق
- پزشکی
- علوم انسانی
است.
فرمت:
سوال چندگزینهای.
مزیت:
- سریع
- قابل تکرار
- ارزان
عیب:
همه تواناییهای مدل را نشان نمیدهد.
مثلاً:
یک مدل ممکن است در MMLU عالی باشد ولی:
- متن خوبی تولید نکند
- پاسخ مکالمهای ضعیف بدهد
2. Human Evaluation
در این روش انسانها پاسخ مدلها را مقایسه میکنند.
روش:
دو مدل به یک Prompt پاسخ میدهند.
مثلاً:
Model A
Model B
کاربر انتخاب میکند:
کدام بهتر است؟
نتایج معمولاً با الگوریتم:
Elo Rating
رتبهبندی میشوند.
مثل رتبهبندی شطرنج.
نمونه معروف:
LLM Arena
مزیت:
میتواند موارد ظریف را ببیند:
- طبیعی بودن متن
- کیفیت پاسخ
- ترجیح انسانی
عیب:
- هزینه زیاد
- زمانبر
3. LLM as a Judge
در این روش:
یک LLM دیگر، مدل را ارزیابی میکند.
ساختار:
Question
↓
Model Answer
↓
Judge LLM
↓
Score
مزایا:
- ارزانتر
- سریعتر
- قابل توسعه
مشکل:
Bias
مثلاً:
مدلهای GPT ممکن است پاسخهای GPT را بیشتر دوست داشته باشند.
یا:
Gemini مدلهای Gemini را ترجیح دهد.
ویژگیهای یک Benchmark خوب
یک Benchmark مناسب باید:
1. مرتبط با پروژه باشد
مثلاً:
اگر RAG شما کدنویسی نیست:
Benchmark کدنویسی مهم نیست.
2. سخت باشد
اگر همه مدلها نمره کامل بگیرند:
Benchmark بیارزش است.
3. قابل تکرار باشد
نتیجهها نباید هر بار کاملاً تغییر کنند.
4. با عملکرد واقعی هماهنگ باشد
مثلاً:
اگر مدل در Benchmark کدنویسی خوب است:
واقعاً باید کد خوب تولید کند.
مشکل Data Contamination
یک مشکل مهم:
مدلهای LLM روی اینترنت آموزش دیدهاند.
ممکن است:
سوالات Benchmark قبلاً در داده آموزشی مدل وجود داشته باشد.
در این حالت:
مدل جواب را حفظ کرده است.
نه اینکه واقعاً توانایی داشته باشد.
مشکل Saturation Benchmark
Benchmarkها عمر محدودی دارند.
الگو:
ابتدا:
مدلها نمره پایین میگیرند.
بعد از چند سال:
مدلها به سقف میرسند.
مثلاً:
98%
99%
100%
دیگر Benchmark نمیتواند تفاوت مدلها را نشان دهد.
پس:
Benchmark جدید ساخته میشود.
روند پیشرفت LLMها
الگوی کلی:
Benchmark جدید
↓
مدلها پیشرفت میکنند
↓
Benchmark اشباع میشود
↓
Benchmark جدید ساخته میشود
انتخاب LLM برای RAG
در عمل باید بین چند عامل تعادل ایجاد کنید:
| معیار | اهمیت |
|---|---|
| کیفیت پاسخ | خیلی زیاد |
| هزینه | زیاد |
| سرعت | زیاد |
| Context Window | متوسط تا زیاد |
| تاریخ آموزش | متوسط |
مثال انتخاب مدل
Chatbot داخلی شرکت
نیاز:
- دقت
- اطلاعات سازمانی
اولویت:
Quality > Cost > Speed
دستیار لحظهای موبایل
نیاز:
- پاسخ سریع
اولویت:
Latency > Cost > Quality
سیستم پزشکی یا حقوقی
نیاز:
- دقت بالا
اولویت:
Quality > Cost
نکته مهم در RAG
در RAG، شما بخشی از مشکل دانش را با Retriever حل میکنید.
بنابراین همیشه بزرگترین مدل لازم نیست.
یک مدل متوسط با:
- Retriever خوب
- Chunking مناسب
- Reranking
- Prompt مناسب
ممکن است بهتر از یک مدل بزرگ بدون RAG عمل کند.
جمعبندی نهایی
- انتخاب LLM روی سرعت، هزینه و کیفیت RAG اثر مستقیم دارد.
- مدلهای بزرگتر معمولاً قویتر ولی گرانتر هستند.
- Context Window برای RAG اهمیت زیادی دارد.
- Benchmarkها ابزار مقایسه هستند ولی محدودیت دارند.
- سه نوع اصلی ارزیابی:
- Automated Benchmark
- Human Evaluation
- LLM as Judge
- Benchmarkها به مرور اشباع میشوند.
- انتخاب مدل باید بر اساس کاربرد واقعی انجام شود.
- در سیستمهای RAG باید مدل را همراه با Retriever و کل Pipeline ارزیابی کرد، نه به تنهایی.