با انتشار هر مدل زبانی جدید، نخستین پرسشی که پیش میآید این است: «جایگاهش در جدول رتبهبندی کجاست؟» پرسشی طبیعی، اما گمراهکننده. گنجاندن دهها قابلیت گوناگون در دل یک رتبه عددیِ واحد، نوعی خلاصهسازی مفرط است؛ سادهسازی شدیدی که دقیقاً معیارهای حیاتیِ تصمیمگیری ما را از بین میبرد.
مدلها شباهت زیادی به انسانها دارند؛ کسی که در ریاضیات سرآمد است، لزوماً نویسنده چیرهدستی نیست. از این رو، پرسش از اینکه «کدام مدل باهوشتر است؟» تقریباً بیمعناست؛ پرسش درست این است: «کدام گزینه برای این کارِ مشخص مناسبتر است؟» بهجای اکتفا به رتبهبندیهای کلی، باید به سراغ ترسیم پروفایلِ قابلیتها برویم.
آنچه در جدولهای رتبهبندی پنهان میماند
یک مدل ممکن است در استدلال ریاضی بینظیر باشد، اما در تولید خروجیهای ساختاریافته ناکام بماند. در مقابل، مدل دیگری شاید دستورالعملها را موبهمو اجرا کند، اما هنگام مواجهه با متنهای طولانی، جزئیات میانی را از یاد ببرد. اگر تنها به رتبه کلی بسنده کنیم، این تفاوتهای ظریف از دیدهها پنهان میمانند؛ تا روزی که در محیط عملیاتی، خود را در قالب خطایی پرهزینه نشان دهند.
ایراد اصلی جدول رتبهبندی اشتباه بودن آن نیست؛ بلکه مسئله این است که پرسش کلیدی ما را بیپاسخ میگذارد. پرسش ما همواره مشخص است: این مدل برای کار و نیازِ مشخصِ ما تا چه حد کارآمد است؟
بهجای رتبهبندی: ترسیم پروفایل قابلیتها
پروفایلکردن یعنی ارزیابی هر مدل بر اساس چند معیار مستقل، بهجای سنجش آن روی یک محور واحد. جنبههایی که در دنیای واقعی بیشترین اهمیت را دارند، معمولاً از این قرارند:
- پیروی از دستورالعمل — مدل تا چه حد محدودیتهای صریحِ تعیینشده را بهدقت رعایت میکند؟
- پایداری خروجی ساختاریافته — آیا خروجی JSON یا قالب درخواستی را بهصورت معتبر و تکرارپذیر تولید میکند؟
- بازیابی در زمینهٔ بلند — آیا قادر است جزئیاتی را که در میان حجم زیادی از متن پنهان شدهاند، بهدرستی بازیابی کند؟
- عمق استدلال — آیا در حل مسائل چندمرحلهای، زنجیره منطقی استدلال را تا انتها حفظ میکند؟
- رفتار امتناع — مدل در چه مواردی بهدرستی از گفتن «نمیدانم» بهره میبرد و در کجا با اطمینانِ کاذب، پاسخی نادرست تحویل میدهد؟
- تأخیر و هزینه — آیا کیفیت خروجی مدل، هزینه زمانی و مالی آن را توجیه میکند؟
نکته کلیدی این است که هیچیک از این شاخصها ارزش مطلق و همگانی ندارند؛ همه چیز باید بر اساس نیاز و کاربردِ واقعیِ ما سنجیده شود. برای این کار، کافی است مجموعه آزمونِ کوچکی از نمونههای واقعی (یا بسیار نزدیک به واقعیت) بسازیم — حتی وجود ۲۰ یا ۳۰ نمونه نیز اطلاعات بسیار ارزشمندی در اختیارمان میگذارد — و سپس هر مدل را با همان نمونهها، معیار به معیار، ارزیابی کنیم.
راهکاری ساده برای پیادهسازی پروفایل
پیادهسازی این ایده تنها به چند خط کد نیاز دارد. کافی است هر معیار را در قالب یک «کاوشگر» (probe) تعریف کنیم؛ تابعی که خروجی مدل را ارزیابی کرده و امتیازی بین صفر و یک به آن اختصاص میدهد. در نهایت، با اجرای این کاوشگرها روی گزینههای مورد نظر، پروفایل هر مدل را ترسیم میکنیم.
# پروفایل، نه رتبه: هر مدل را روی چند بُعدِ مستقل بسنجید.
# probes نگاشتی است از «نام بُعد» به تابعی که خروجی مدل را
# روی یک نمونه ارزیابی میکند و نمرهای در بازهٔ [0, 1] برمیگرداند.
def profile_model(run, dataset, probes):
scores = {trait: [] for trait in probes}
for example in dataset:
output = run(example["prompt"]) # یک فراخوانی به مدل
for trait, probe in probes.items():
scores[trait].append(probe(example, output))
# میانگینِ هر بُعد → پروفایلِ آن مدل
return {trait: sum(v) / len(v) for trait, v in scores.items()}
def valid_json(example, output):
import json
try:
json.loads(output)
return 1.0
except ValueError:
return 0.0
probes = {
"structured_output": valid_json,
"instruction_following": follows_constraints, # کاوشگرهای خودتان
"long_context_recall": finds_buried_fact,
# ... هر بُعدی که برای کارِ شما مهم است
}
profiles = {name: profile_model(run, dataset, probes)
for name, run in candidate_models.items()}
در این حالت، خروجی کار دیگر تکعددی مبهم نیست، بلکه جدولی است که نقاط قوت و ضعف هر مدل را آشکارا در کنار هم به تصویر میکشد. با این روش، تصمیمگیری به انتخابی آگاهانه بدل میشود: مدلی را برمیگزینیم که پروفایل آن با ماهیتِ پروژه ما همخوانی دارد، نه گزینهای که صرفاً در رتبهبندیهای کلی جایگاه بالاتری دارد.
چرا این رویکرد به تصمیمگیری بهتر کمک میکند؟
این رویکرد سه مزیت برجسته به همراه دارد؛ نخست اینکه انتخاب ما مستقیماً به نیاز واقعیمان گره میخورد، نه معیارهای عمومی که شاید هیچ ارتباطی با مسئله ما نداشته باشند. دوم اینکه با معرفی هر مدل جدید، دیگر نیازی به هیاهوهای تبلیغاتی نیست؛ کافی است همان کاوشگرها را اجرا کنیم تا ظرف چند دقیقه عیار واقعی آن مدل را برای کار خود بسنجیم. سوم اینکه ترسیم پروفایل به ما کمک میکند نقاط ضعف را پیش از ورود به محیط عملیاتی شناسایی کنیم؛ یعنی درست در مرحلهای که اصلاح خطاها هنوز کمهزینه است، نه زمانی که دیگر کار از کار گذشته و جبران خسارتها گران تمام میشود.
جدولهای رتبهبندی بیشتر به کارِ سرخط خبرها میآیند، اما یک تصمیم مهندسی دقیق و بهینه، نیازمند پروفایل است. بیایید مدلها را رتبهبندی نکنیم؛ بلکه برایشان پروفایل بسازیم.