۲۶ میلیون پارامتر، فقط برای صدا زدن ابزار
خلاصهٔ کاملتر
تو این مقاله اومده که بحث دربارهٔ مدلها معمولاً حول بزرگتر شدن میچرخه، ولی Cactus Needle دقیقاً مسیر مخالف رو رفته: یه مدل ۲۶ میلیون پارامتری که فقط برای فراخوانی تابع ساخته شده. این یعنی چیزی حدود ۵۰۰ برابر کوچیکتر از GPT-4، ولی روی همون کاری که براش طراحی شده با مدلهای خیلی بزرگتر رقابت میکنه.
فراخوانی تابع یعنی مدل بهجای تولید متن آزاد، تصمیم بگیره کدوم ابزار بیرونی رو با چه آرگومانهایی صدا بزنه و خروجیش یه JSON ساختاریافته باشه. مثلاً برای «الان هوای آستین چطوره؟» مدل خودش جواب رو نمیدونه ولی میدونه تابعی به اسم get_weather در دسترسه:
{
"function": "get_weather",
"arguments": { "city": "Austin" }
}این کار ساده به نظر میاد ولی چهار مرحلهٔ جدا داره: تشخیص اینکه اصلاً ابزاری لازمه یا نه، انتخاب تابع درست از بین دهها گزینه، استخراج درست آرگومانها و در آخر تولید JSON معتبر و منطبق با اسکیما. نویسنده میگه نکتهٔ کلیدی همینجاست: این بیشتر یه مسئلهٔ پیشبینی ساختاریافتهست تا تولید آزاد، و همین دلیل رقابتی بودن یه مدل ۲۶ میلیونیه.
معماری مدل همون ترنسفورمر آشناست ولی بهشدت فشردهشده؛ چون توزیع کارش خیلی باریکتره، به ظرفیت بازنمایی کمتری نیاز داره. آموزشش هم روی جفتهای پرسوجوی طبیعی و اسکیمای تابع، انتخابهای درست و نمونههای منفی (تابع اشتباه، آرگومان توهمی، JSON خراب) انجام شده. تو این اندازه، کوانتیزیشن هم بدون افت محسوس ممکنه و مدل میتونه داخل خود اپلیکیشن جاسازی شه: بدون GPU، بدون فراخوانی API و بدون تأخیر شبکه.
نویسنده صادقانه میگه بنچمارک گرفتن از مدلهای کوچک تخصصی سخته و نتیجهها به نحوهٔ ارزیابی حساسن. جایی که خوب کار میکنه: دقت انتخاب تکتابع رقیب مدلهای ۱۰ تا ۵۰ برابر بزرگتره وقتی مجموعهٔ توابع مشخص و پرسوجو روشن باشه؛ تأخیر روی CPU معمولاً زیر ۱۰۰ میلیثانیهست؛ توان عملیاتی بالاست و نرخ تولید JSON معتبر هم بالاست چون مستقیم برای همین آموزش دیده.
جایی که کم میاره هم دقیقاً همونجاییه که استدلال لازمه: پرسوجوهای مبهم، مجموعهابزارهای بزرگ با بیشتر از ۵۰ تابع، زنجیرهٔ چندمرحلهای از فراخوانیها، و مواردی که مقدار درست آرگومان نیازمند فهم بافت ضمنیه — مثل «برام بلیت برگشت به خونه بگیر» که اول باید بدونی «خونه» کجاست.
چارچوب تصمیمگیری روشنه: مدل کوچک وقتی به کار میاد که مجموعهٔ توابعت پایدار و بین ۵ تا ۲۰ تا باشه، حجم درخواست بالا و هزینه مهم باشه، تأخیر حیاتی باشه (ایجنت صوتی، رابط تعاملی، سیستم توکار) یا کار ذاتاً الگویی باشه مثل مسیریابی تیکت پشتیبانی. سراغ مدل بزرگتر باید رفت وقتی پرسوجو مبهمه، مجموعهٔ توابع بزرگ یا متغیره، استدلال چندنوبتی لازمه یا هزینهٔ یه فراخوانی اشتباه بالاست.
چهار الگوی استقرار هم معرفی شده: مسیریاب خالص که همهٔ درخواستها اول از اون رد میشن؛ مسیریاب آبشاری که تصمیمهای کماطمینان رو به مدل بزرگتر ارجاع میده و بیشتر صرفهجویی رو بدون از دست دادن دقت حفظ میکنه؛ ایجنت توکار روی دستگاه یا لبه برای حالت آفلاین؛ و ارکستراسیون ترکیبی که مدل بزرگ تصمیم میگیره چی باید انجام شه و مدل کوچک اون تصمیم رو به فراخوانی تابع دقیق ترجمه میکنه. به گفتهٔ نویسنده این مدل یه استثنا نیست، بلکه بخشی از یه چرخش کلیتر به سمت مدلهای تخصصی و معماریهای ترکیبپذیره.
نکات کلیدی:
- فراخوانی تابع یه مسئلهٔ پیشبینی ساختاریافتهست، برای همین مدل ۲۶ میلیونی میتونه رقابتی باشه.
- روی CPU و بدون شبکه اجرا میشه و تأخیرش معمولاً زیر ۱۰۰ میلیثانیهست.
- روی مجموعهٔ توابع مشخص و پرسوجوی روشن خوب جواب میده، نه روی ابهام و زنجیرهٔ چندمرحلهای.
- الگوی آبشاری (مسیریابی کوچک، ارجاع موارد کماطمینان به مدل بزرگ) بیشترین صرفهجویی رو با کمترین ریسک میده.
- کیفیت توصیف توابع تو اسکیما، روی دقت مدلهای کوچک اثر مستقیم داره.
- برای کارهایی که هزینهٔ خطاشون بالاست، حاشیهٔ اطمینان مدل بزرگتر ارزش هزینهش رو داره.




