📊 وقتی یک مدل جدید معرفی میشه، معمولاً کنار اسمش یک‌سری عدد هم می‌بینیم؛ مثل MMLU، HumanEval، SWE-bench، GPQA، Math و کلی benchmark دیگه.

این عددها مهمن، ولی به نظرم گاهی بیشتر از چیزی که باید جدی گرفته میشن.

در نهایت benchmark یعنی مدل‌ها رو روی یک مجموعه سؤال، مسئله یا task مشخص تست می‌کنن و بعد با یک روش ثابت بهشون score میدن.

مثلاً یکی دانش عمومی و reasoning رو می‌سنجه، یکی coding رو، یکی ریاضی رو، یکی هم توانایی حل bug یا issue رو.

تا اینجای کار مشکلی نیست، مشکل از جایی شروع میشه که نتیجه benchmark رو با عملکرد واقعی مدل توی کار روزانه یکی بگیریم.

یک مدل ممکنه روی benchmark کدنویسی نمره خیلی خوبی بگیره، ولی وقتی وارد پروژه واقعی میشه، خیلی زود گیر کنه.

چون پروژه واقعی شبیه سؤال تمیز benchmark نیست ، توی کار واقعی معمولاً با این‌ها طرفیم:

📦 کد قدیمی 📄 مستندات ناقص 🧩 یا dependencyهای عجیب 🐛 باگ‌هایی که نصفشون از environment میاد 🧠 کانتکست ناقص یا اشتباه ⏱️ محدودیت زمان و هزینه 👨‍💻 تصمیم‌هایی که فقط با شناخت پروژه معنی پیدا می‌کنن

من benchmarkها رو بی‌ارزش نمی‌دونم؛ اتفاقاً خیلی هم مهمن، اما به نظرم benchmark بیشتر شبیه تست آزمایشگاهیه.

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

ولی لزوماً نمیگه اون مدل برای پروژه من، با ابزارهای من، محدودیت‌های من و سبک کاری من بهترین انتخابه.

برای همین وقتی یک مدل روی یک benchmark از همه جلوتره، بهتره سریع نتیجه نگیریم که «پس این بهترین مدله».

بهتره ببینیم اون benchmark دقیقاً چی رو اندازه گرفته، چقدر به کار ما نزدیکه، و آیا اصلاً مسئله‌ای که ما داریم، شبیه همون تست هست یا نه.

بدون شک Benchmark مهمه؛ فقط نباید جای تجربه واقعی رو بگیره.