Needle 3؛ مدل کوچیکی که به جای چت، ابزار صدا میزنه
خلاصهٔ کاملتر
به گفتهٔ نویسنده، Needle 3 یه مدل پایه از Cactus Compute هست که کامل روی خود دستگاه اجرا میشه: گوشی، ساعت هوشمند، ربات، هاب خونهٔ هوشمند، سیستم خودرو و میکروکنترلر. کل مدل یه فایل بین ۸ تا ۲۹ مگابایته، اونقدر کوچیک که به جای صدا زدن سرور، داخل خود بستهٔ اپ جا بشه. انجین اجراش هم برای هر پلتفرم زیر ۱ مگابایته.
سر tool calling، مدل توابعی که اپ در اختیارش گذاشته رو با حرف کاربر تطبیق میده و آرگومانها رو پر میکنه. اگه یه جمله به دو کار اشاره کنه، دو تا call به ترتیب درست برمیگردونه؛ و اگه هیچ ابزاری به درخواست نخوره، لیست خالی میده نه یه تابع از خودش درآورده. نویسنده میگه این رفتار روی دستگاه مهمتر از فضای ابریه، چون یه call اشتباه ممکنه واقعاً چراغ اشتباهی رو خاموش کنه و آدمی هم وسط کار نیست که چک کنه.
هر جواب یه آبجکت JSON واحده که function callها، یه ردپای کوتاه از استدلال، و یه امتیاز confidence کالیبرهشده از یه head جدا داره. الگویی که کاکتوس پیشنهاد میده مسیر سهشاخهست: اجرای خودکار، گرفتن تأیید از کاربر، یا رد کردن درخواست.
کار دوم مدل هم استخراج ساختارمنده؛ توسعهدهنده شکل داده رو تعریف میکنه (فاکتور، رزرو، فرم) و متن خام رو میده، و چون یه گرامر بایتمحور که از همون schema ساخته شده هر توکن رو محدود میکنه، خروجی حتماً JSON معتبره. همین مکانیزم برای دستهبندی هم کار میکنه، چون دستهبندی عملاً استخراج تو یه فیلد enum هست.
معماری هم استاندارد نیست. کاکتوس اسمش رو گذاشته Laddered Simple Attention Network: Monarch Hadamard MLP به جای شبکهٔ feed-forward، attention از نوع GQA با causal conv tap، و یه حافظهٔ n-gram به اسم engram که بیشتر پارامترها همونجا نگه داشته میشن. طبق گفتهٔ کاکتوس همین باعث میشه نسخهٔ ۱۲۱ میلیون پارامتری کار یه مدل ۵۰ میلیونی رو بکنه. «laddered» هم یعنی هر عمقی از ۲ تا ۲۰ لایه خودش یه مدل قابل استقراره، پس میشه مدل رو برای سختافزار ریزتر برید بدون آموزش مجدد.
نویسنده میگه با فاینتیون حسابوکتاب عوض میشه: روی دیتاست DroidCall دقت تو همهٔ اندازهها ۱۸ تا ۳۶ واحد بالا میره و از زیرشبکهٔ ۴ لایه به بالا، یعنی از ۲۹ میلیون پارامتر، مدل تیونشده تو بنچمارک خودشون از DeepSeek V4 Flash جلو میزنه. البته این هنوز یه مدل چت نیست و برای پرسشهای دانشی باز جواب خوبی نمیده؛ ارزشش برای اپیه که فقط میخواد بدون رفتوبرگشت شبکه تابع درست رو صدا بزنه.
نکات کلیدی:
- فایل مدل بین ۸ تا ۲۹ مگابایته و انجین هر پلتفرم زیر ۱ مگابایت حجم داره.
- وزنها با روش Cactus Quants تا حدود ۲.۱۲۵ بیت روی هر وزن فشرده و تو فرمت .cact ذخیره میشن که انجین مستقیم میخوندش.
- هر عمقی از ۲ تا ۲۰ لایه جدا قابل استقراره؛ ساخت با needle build --layers N و فاینتیون با LoRA روی پایهٔ ۲۰ لایهٔ فریزشده.
- فاینتیون روی DroidCall دقت رو ۱۸ تا ۳۶ واحد بالا میبره و از ۴ لایه (۲۹ میلیون پارامتر) به بالا از DeepSeek V4 Flash جلو میزنه.
- وزنها، چکپوینت safetensors و انجین هر پلتفرم روی GitHub و Hugging Face منتشر شدن و نصب پایتونش pip install cactus-needle هست.
- تعریف ابزارها با system prompt و تاریخچه تو یه context شریکن؛ needle_init اندازهٔ prefix ثابت رو گزارش میده و اگه جا نشه خطا میده.




