Soup: فاینتیون مدل ۸ میلیاردی روی کارت گرافیک ۴ گیگی
خلاصهٔ کاملتر
Soup یه ابزار خط فرمان با مجوز Apache 2.0 هست که کل مسیر fine-tuning، یعنی آموزش دادن دوبارهٔ یه مدل آماده روی دادهٔ خودت، رو به یه فایل soup.yaml و دستور soup train خلاصه میکنه. تو معرفی پروژه اومده که حتی تیمهای باتجربه ۳۰ تا ۵۰ درصد وقتشون رو صرف کلنجار رفتن با زیرساخت میکنن، و هدف Soup حذف همین بخشه: بدون SSH، با تشخیص خودکار GPU و انتخاب خودکار سایز بچ و کوانتیزیشن.
پررنگترین ادعای پروژه layer streaming هست، یعنی به جای اینکه کل مدل پایه تو VRAM بمونه، لایههای دیکودر یکییکی به GPU داده میشن. با این روش Llama-3.1-8B-Instruct با کوانتیزیشن NF4 روی یه RTX 3050 لپتاپی ۴ گیگابایتی با ۱۱۹.۶ توکن بر ثانیه و اوج مصرف ۳.۳۲ گیگابایت آموزش دیده و همون نتیجه روی H100 هم تکرار شده. این قابلیت اختیاریه (stream_layers: true) و هنوز BETA حساب میشه.
کل تنظیمات هم تو یه فایل YAML جمعه. نمونهٔ کانفیگ پروژه این شکلیه و بقیهٔ چیزها مثل سایز بچ خودکار انتخاب میشن:
base: meta-llama/Llama-3.1-8B-Instruct
task: sft
training:
epochs: 3
batch_size: auto
lora:
r: 64
quantization: 4bitنسخهٔ ۰.۷۵ بیشتر دربارهٔ درست شدن چیزهاییه که قبلاً بیصدا خراب بودن. مهمترینش یه تغییر شکنندهست: کلید ناشناخته تو کانفیگ حالا لود رو رد میکنه. قبلاً یه تایپو مثل quantizaton بیصدا دور ریخته میشد و ران با تنظیم اعمالنشده ادامه پیدا میکرد؛ حالا با exit 1 خطا میده و نزدیکترین اسم درست رو پیشنهاد میکنه. بکاند MLX هم شش تا تنظیم آموزشی رو قبول میکرد ولی بعد نادیده میگرفت؛ این هم درست شد.
دو تا مورد دیگه هم تو همین نسخه اومده. مقدار validation loss که قبلاً روی همهٔ بکاندها حساب و بعد دور ریخته میشد حالا ثبت و نمایش داده میشه، و اندپوینتهای خوندنی رابط وب دیگه بدون احراز هویت در دسترس نیستن. محدودیتش هم اینه که Soup فقط روی پایتون ۳.۱۰ تا ۳.۱۲ کار میکنه و به torch نسخهٔ ۲.۶ به بالا نیاز داره. جالب اینکه همهٔ ۶۰ پولریکوئست این نسخه از بیرون تیم نگهدارنده و از ۲۲ نفر اومده.
نکات کلیدی:
- فاینتیون Llama-3.1-8B با NF4 روی RTX 3050 لپتاپی ۴ گیگابایتی: ۱۱۹.۶ توکن بر ثانیه، اوج مصرف ۳.۳۲ گیگابایت.
- از v0.75 کلید ناشناختهٔ کانفیگ باعث شکست لود میشه (exit 1 روی CLI و ValueError تو API).
- شش تنظیم آموزشی که بکاند MLX قبول میکرد ولی نمیخوند، حالا واقعاً اعمال میشن.
- grpo_variant: gspo حالا همون هدف sequence-level منتشرشدهست، پس کانفیگهای قدیمی gspo نتیجهٔ قبلی رو بازتولید نمیکنن.
- فقط پایتون ۳.۱۰ تا ۳.۱۲ و torch 2.6 به بالا پشتیبانی میشه.




