Dory انویدیا: مدل ۴ میلیاردی که لایههاشو چند بار اجرا میکنه
خلاصهٔ کاملتر
Dory یه مدل تحقیقاتی ۳.۹۷ میلیارد پارامتری از تیم Nemotron Labs انویدیاست که بهش looped transformer میگن (یعنی ترنسفورمری که یه دسته لایه رو برای هر توکن چند بار پشت سر هم اجرا میکنه). بهجای اینکه هر لایه وزنهای جدای خودش رو داشته باشه، Dory یه بلوک ثابت رو دوباره استفاده میکنه. تو مقاله اومده که نکتهی جالب فقط بردنش نیست، بلکه اینه که کجا میبره و کجا میبازه.
ساختار مدل ۷۲ لایهست و سه بخش داره: یه بلوک ورودی ۱۶ لایهای که یه بار اجرا میشه، یه بلوک recurrent ۴۰ لایهای که چند بار تکرار میشه، و یه بلوک خروجی ۱۶ لایهای. هر دور تکرار، ورودی اصلی رو دوباره به مدل نشون میده، شبیه کاری که ResNet با اضافه کردن ورودی به هر مرحله میکنه. اینطوری مدل وضعیت داخلیش رو دقیقتر میکنه و از موضوع دور نمیشه.
با ۱ دور، عمق مؤثر حدود ۷۲ لایهست، با ۲ دور حدود ۱۱۲ و با ۴ دور حدود ۱۹۲ لایه. محاسبات با عمق زیاد میشه، ولی وزنهایی که تو حافظهی GPU هستن همون زیر ۴ میلیارد پارامتر میمونن. انویدیا اسم اینو گذاشته elastic inference compute. مهمتر اینکه بلوک خروجی طوری آموزش دیده که خروجی هر تعداد دور رو بخونه، پس لازم نیست برای یه عدد خاص دوباره آموزش یا fine-tune انجام بدی.
مقایسه با Gemma 3 27B انجام شده که یه MoE با حدود ۴ میلیارد پارامتر فعال برای هر توکنه، پس محاسبهی هر توکن تقریباً برابره. Dory با ۱ دور تو ۱ از ۱۰ بنچمارک، با ۲ دور تو ۴ از ۱۰ و با ۴ دور تو ۵ از ۱۰ بنچمارک برندهست. تو کارهای agent، پیروی از دستور، context طولانی و کارهای شبیه SWE-bench verified خوبه، ولی تو GPQA و Humanity's Last Exam بد میبازه. دلیلش اینه که تکرار، محاسبه اضافه میکنه ولی دانش ذخیرهشدهی جدید نه.
هزینهای که بالا میره KV cache هست (یعنی حافظهای که مدل برای توکنهای قبلی نگه میداره). تو حالت per loop هر دور کش خودشو داره، ولی تو حالت last loop کش آخرین دور جای قبلیها رو میگیره و حافظه ثابت میمونه. با context ۳۲ هزار توکنی و ۲ دور، حالت per loop حدود ۲ گیگ و حالت last loop حدود ۱.۳ گیگ برای هر sequence میگیره. اطمینان مدل به توکن پیشبینیشده هم از حدود ۱۵٪ با ۱ دور به حدود ۷۰٪ با ۵ یا ۶ دور میرسه، هرچند جواب نهایی همیشه بهتر نمیشه.
انویدیا Dory رو روی ۶ تریلیون توکن آموزش داده که ۴.۵ تریلیونش مستقیم با NVFP4 بوده، بعد ۳۰۰ میلیارد توکن برای افزایش context و SFT و GRPO اضافه شده. مدل با لایسنس باز و قابل استفادهی تجاری، در فرمتهای bf16، MXFP8، NVFP4 و GGUF منتشر شده. فعلاً ابزارهایی مثل vLLM باید تعداد دور رو موقع شروع بدونن، پس برای چند تنظیم مختلف باید چند instance جدا اجرا کنی. پیشنهاد مقاله اینه که یه instance دو دوری پیشفرض باشه و درخواستهای سختتر به یه instance چهار دوری برن.
نکات کلیدی:
- Dory با ۳.۹۷ میلیارد پارامتر، یه بلوک ۴۰ لایهای رو موقع اجرا ۱ تا ۸ بار تکرار میکنه.
- با ۴ دور، تو ۵ از ۱۰ بنچمارک از Gemma 3 27B بهتره.
- تو GPQA و Humanity's Last Exam عقبه چون تکرار دانش جدید اضافه نمیکنه.
- حالت last loop کش رو ثابت نگه میداره: ۱.۳ گیگ بهجای ۲ گیگ با context ۳۲K.
- vLLM فعلاً تعداد دور رو فقط موقع راهاندازی قبول میکنه.




