Dory1.0-4B انویدیا: یه مدل ۴ میلیاردی که با تکرار لایهها باهوشتر میشه
خلاصهٔ کاملتر
انویدیا از طرف تیم Nemotron Labs یه مدل open-weight به اسم Dory1.0-4B داده که ۴ میلیارد پارامتر داره. ایدهی اصلیش اینه که بهجای اینکه نسخهی کوچیک و متوسط و بزرگ جدا بده، یه مدل داده که با یه تنظیم موقع اجرا میشه بین سرعت و دقت انتخاب کرد. به گفتهی مقاله، انویدیا اسم این رو گذاشته «elastic inference compute».
معماری مدل looped یا latent-recurrent هست، یعنی یه تیکه از لایهها چند بار پشت هم اجرا میشه. لایهها سه گروهن: بلوک ورودی با ۸ لایه، بلوک تکرارشونده با ۲۰ لایه و بلوک خروجی با ۸ لایه. بلوک وسطی ۱، ۲ یا ۴ بار اجرا میشه و هر بار ورودی اصلی دوباره بهش داده میشه. وزنها تو همهی دورها یکیان، پس ۴ دور اجرا هیچ پارامتر جدیدی اضافه نمیکنه و فقط محاسبهی بیشتری میخواد. مدل روی بستر nGPT ساخته شده و ترکیبی از sliding-window attention و full attention داره.
تو جدول بنچمارک خود انویدیا، کدنویسی و کارهای ایجنتی جاییه که تکرار بیشترین سود رو داره. تو SWE-bench Verified امتیاز از ۵۰.۳ با ۱ دور به ۵۹.۵ با ۲ دور و ۶۱.۸ با ۴ دور میرسه. این از Qwen3.5-4B با ۵۴.۷ بالاتره و تقریباً هماندازهی Qwen3.5-9B با ۶۱ هست. تو Terminal-Bench 2.1 از ۱۲.۵ به ۲۲.۲ میرسه ولی هنوز پشت Qwen3.5-9B با ۲۴ هست. تو IFBench (دنبال کردن دستورها) با ۷۹ و تو AA-LCR (متن طولانی) با ۷۳ از همهی رقبا جلوتره.
نقطهضعفش دانش عمومی و استدلال سنگینه. تو GPQA Diamond حدود ۷۲ میگیره که از همهی رقبا کمتره، و تو AA-Omniscience هر چند دور هم که اجرا بشه حدود ۱۰ میمونه، در حالی که بقیه بین ۱۵ تا ۲۱ میگیرن. نویسنده میگه این نشون میده تکرار لایهها جای دانشی که از دادهی آموزشی یا پارامتر بیشتر میاد رو نمیگیره. یه نکتهی جالب دیگه هم اینه که با دور بیشتر، مدل برای حل همون مسئله توکن کمتری تولید میکنه، چون «فکر کردن» داخل لایهها انجام میشه نه تو متن خروجی. یعنی هزینهی توکن هم پایین میاد.
مشکل معمول مدلهای looped اینه که برای هر دور یه KV cache جدا (یعنی حافظهای که مدل نتایج attention قبلی رو اونجا نگه میداره) لازم دارن و حافظه با تعداد دور زیاد میشه. انویدیا حالت last-loop KV caching رو اضافه کرده که هر دور روی کش دور قبلی مینویسه، پس حافظه همیشه اندازهی ۱ دور میمونه و طبق گزارش انویدیا دقت هم تقریباً عوض نمیشه. این با فلگ recurrent_kv_cache_mode (مقدار per_loop یا last_loop) و تعداد دور با n_recurrent_loops موقع اجرا تو vLLM یا llama.cpp تنظیم میشه. انویدیا ۲ دور رو پیشفرض پیشنهاد میکنه، چون بیشتر سود از دور دوم میاد، و ۴ دور رو برای کارهای ایجنتی.
نکات کلیدی:
- معماری: ۸ لایه ورودی، ۲۰ لایه تکرارشونده و ۸ لایه خروجی، با ۱، ۲ یا ۴ دور تکرار
- SWE-bench Verified با ۴ دور: ۶۱.۸، تقریباً برابر Qwen3.5-9B با ۶۱
- تو AA-Omniscience حدود ۱۰ میگیره و از همهی رقبا (۱۵ تا ۲۱) عقبتره
- حالت last_loop مصرف حافظه رو در هر تعداد دوری اندازهی ۱ دور نگه میداره
- فرمتها: BF16، MXFP8، NVFP4 و Q5_K_M؛ اجرا با vLLM یا llama.cpp




