قیمت شناس
بازگشت به وبلاگ

مدل زبانی روی لپ‌تاپ خودتان: جای ابر را می‌گیرد؟

یک مدل ۲۷ میلیارد پارامتری را روی یک مک‌بوک اجرا کردیم و با همان پرامپت و همان جست‌وجوهای واقعی فارسی، مقابل چهار مدل ابری گذاشتیم. وقتی مدل محلی «فکر می‌کند» کیفیتش به بهترین مدل ابری می‌رسد — اما هر فراخوانی ۱۶۵ ثانیه طول می‌کشد. وقتی فکر کردن را خاموش می‌کنیم ۲۴ برابر سریع‌تر می‌شود و کیفیتش تا حد ضعیف‌ترین مدل فهرست پایین می‌آید.

هر جست‌وجوی قیمت در محصول ما دست‌کم دو بار به یک مدل زبانی نیاز دارد، و هر دو بار در ابر انجام می‌شود. مدلی که روی دستگاه خود کاربر اجرا شود دو مزیت روشن دارد: هزینه هر فراخوانی صفر می‌شود و متن جست‌وجو هیچ‌وقت از آن دستگاه بیرون نمی‌رود. پس سؤال ساده است: آیا یک مدل محلی به‌اندازه کافی خوب هست؟ این گزارش، پاسخ سنجیده‌شده روی داده واقعی خودمان است.

۲۷ میلیارد
پارامتر مدل محلی، ۸ بیتی
۶
پیکربندی مدل، همه با یک پرامپت
۵۳
جست‌وجوی واقعی فارسی از لاگ خودمان
۱۶۵ ثانیه
زمان هر فراخوانی مدل محلی

تکلیف: کدام آگهی واقعاً همان کالاست؟

وقتی کاربری «واسکازین ۹۰W140» را می‌جوید، خزنده ما حدود ۲۰ تا ۲۴ آگهی از فروشگاه‌های مختلف برمی‌گرداند. میان آن‌ها روغن دنده هست، روغن موتور هم هست، و گاهی چیزهایی کاملاً بی‌ربط. کار مدل این است که تنها همان کالای واقعی را نگه دارد و بقیه را کنار بگذارد، با یک خروجی JSON دقیق و بدون هیچ توضیح اضافه.

این تکلیف دو جور شکست می‌خورد و هر دو برای کاربر بد است: مدل می‌تواند آن‌قدر سخت‌گیر باشد که چیزی نگه ندارد — کاربر صفحه خالی می‌بیند در حالی که کالا در فهرست بوده — یا آن‌قدر شل باشد که کل فهرست را نگه دارد، که یعنی عملاً فیلتری وجود ندارد. ما هر دو را جداگانه سنجیدیم.

روش: همان پرامپت، همان جست‌وجوها

۳۴ جست‌وجوی سختی را برداشتیم که فیلتر فعلی ما در عمل روی آن‌ها هیچ نتیجه‌ای نگه نداشته بود، به‌همراه ۱۹ جست‌وجوی سالم برای اینکه ببینیم مدل‌ها زیادی شل نمی‌شوند. هر مدل دقیقاً همان فهرست نامزدها را می‌بیند که مدل اصلی در لحظه دیده بود، و پرامپت از همان بیلد محصول خوانده می‌شود نه از یک نسخه بازنویسی‌شده — سنجیدن یک پرامپت که آن را منتشر نکرده‌ایم، اندازه‌گیری بی‌فایده‌ای است.

مدل محلی Qwen3.8-27B با کوانتیزه ۸ بیتی است که با MLX روی خود لپ‌تاپ اجرا می‌شود، و آن را در دو پیکربندی سنجیدیم: با «فکر کردن» روشن و خاموش. چهار مدل ابری هم همان‌هایی هستند که در زنجیره واقعی محصول نقش دارند.

نتیجه اول: بدون فکر کردن، مدل محلی ضعیف‌ترین گزینه است

نجات جست‌وجوهایی که خالی مانده بودنددرصد از ۳۴ جست‌وجوی سخت — بالاتر بهتر
  1. openai/gpt-5.6-lunaابری · ۴٫۲ ثانیه۹۷
  2. inclusionai/ling-3.0-flashابری · ۱۰٫۲ ثانیه۹۷
  3. google/gemma-4-31b-itابری · ۱٫۷ ثانیه۸۲
  4. Qwen3.8-27B روی لپ‌تاپ، بی فکر کردنمحلی · ۸٫۸ ثانیه۲۱
  5. gemini-3.5-flash-liteابری · ۱٫۲ ثانیه۲۱

با فکر کردن خاموش، مدل محلی روی ۳۴ جست‌وجوی سخت فقط ۷ مورد را نجات داد — همان نرخ ضعیف‌ترین مدل ابری فهرست، و کمتر از نیمِ نرخ gemma که رایگان هم هست. پاسخش در بیشتر موارد تنها شش توکن بود: یک فهرست خالی. روی جست‌وجوهای سالم هم در ۱۱ درصد موارد کل فهرست را دست‌نخورده نگه داشت، یعنی همان حالتی که در آن فیلتر عملاً خاموش است.

نتیجه دوم: با فکر کردن خوب می‌شود، و بسیار کند

وقتی فکر کردن را روشن کردیم، همان مدل روی هر پنج جست‌وجوی سختی که آزمودیم نتیجه درست پیدا کرد، بدون یک مورد خطای قالب. اما هر فراخوانی به‌طور میانه ۱۶۵ ثانیه طول کشید. برای مقایسه: بهترین مدل ابری همان تکلیف را در ۴٫۲ ثانیه انجام می‌دهد. یعنی حدود ۳۹ برابر کندتر، برای یک تصمیم که کاربر پشت صفحه منتظرش است.

این عدد را با احتیاط بخوانید: پیکربندی «با فکر کردن» را فقط روی ۵ جست‌وجو سنجیدیم، چون هر فراخوانی نزدیک سه دقیقه وقت می‌گیرد و اجرای کامل روی همان ۳۴ مورد بیش از یک ساعت و نیم طول می‌کشید. پس این نتیجه مقدماتی است و کیفیت را قطعی اعلام نمی‌کنیم؛ چیزی که قطعی است تفاوت سرعت است، و آن تفاوت به‌تنهایی تصمیم را می‌گیرد.

مدلنجات موارد خالیزمان هر فراخوانیتوکن خروجی
openai/gpt-5.6-luna۹۷٪۴٫۲ ثانیه۲۲۵
inclusionai/ling-3.0-flash۹۷٪۱۰٫۲ ثانیه۱٬۳۲۹
google/gemma-4-31b-it۸۲٪۱٫۷ ثانیه۴۱
gemini-3.5-flash-lite۲۱٪۱٫۲ ثانیه
Qwen3.8-27B محلی، با فکر کردن۱۰۰٪۱۶۵ ثانیه۱٬۲۲۹
Qwen3.8-27B محلی، بی فکر کردن۲۱٪۸٫۸ ثانیه۶
نجات موارد خالی روی ۳۴ جست‌وجوی سخت سنجیده شده است. ردیف «با فکر کردن» تنها روی ۵ مورد اندازه‌گیری شده و مقدماتی است. زمان‌ها میانه هستند.

چرا این‌قدر کند است؟

علت در خود تکلیف نیست، در حجم متنی است که مدل تولید می‌کند. از حدود ۱٬۲۳۰ توکن خروجی هر فراخوانی، نزدیک ۹۶۰ توکن «فکر کردن» است — استدلالی که کاربر هیچ‌وقت نمی‌بیند و فقط برای رسیدن به آن فهرست کوتاه نهایی تولید می‌شود. روی یک لپ‌تاپ، تولید هر توکن به پهنای باند حافظه گره خورده است، و یک مدل ۲۷ میلیاردی متراکم باید برای هر توکن تمام وزن‌هایش را از حافظه بخواند.

دو راه برای بهتر کردنش هست و تفاوت‌شان مهم است. کوانتیزه سبک‌تر — مثلاً ۵ بیتی به‌جای ۸ بیتی — کمابیش به همان نسبت کمک می‌کند: انتظار حدود ۱٫۶ برابر سرعت، که ۱۶۵ ثانیه را به حدود ۱۰۵ ثانیه می‌رساند و مسئله را حل نمی‌کند. راه مؤثر تغییر معماری است: یک مدل «ترکیبی از متخصص‌ها» که در هر توکن فقط بخش کوچکی از وزن‌هایش را فعال می‌کند، می‌تواند مرتبه‌ای سریع‌تر باشد. اگر کسی می‌خواهد مدل محلی را جدی امتحان کند، آن سمت را باید امتحان کند، نه کوانتیزه را.

برای ما چه معنایی دارد

  • برای مسیر زنده جست‌وجو، جواب امروز منفی است: کاربری که سؤال قیمت می‌پرسد نمی‌تواند سه دقیقه برای یک مرحله از چند مرحله منتظر بماند.
  • برای کارهای دسته‌ای و بی‌عجله — مثلاً فهرست بلندی که شبانه پردازش شود — عدد ۱۶۵ ثانیه دیگر مانع قطعی نیست و ارزش سنجش دقیق‌تر دارد.
  • خاموش کردن فکر کردن راه‌حل نیست: سرعت را ۲۴ برابر بهتر می‌کند و کیفیت را تا سطح ضعیف‌ترین گزینه فهرست پایین می‌آورد.
  • مزیت واقعی مدل محلی حریم خصوصی و استقلال است، نه هزینه و نه کیفیت — و آن مزیت را باید مقابل همین اختلاف سرعت وزن کرد.

محدودیت‌های این سنجش را هم صریح بگوییم: یک دستگاه، یک کوانتیزه، یک مدل محلی، و برای پیکربندی «با فکر کردن» تنها ۵ نمونه. اعداد مدل‌های ابری روی ۳۴ و ۱۹ جست‌وجو سنجیده شده‌اند و با بنچمارک قبلی ما هم‌خوان‌اند، که نشان می‌دهد نمونه نماینده خوبی است.

این گزارش ادامه دو سنجش قبلی ماست: مقایسه ۱۵ مدل زبانی روی دو تکلیف واقعی و اینکه کدام مدل فارسیِ خرید را بهتر می‌فهمد.