Spark X2.5 4B؛ مدل کوچیک با کانتکست یک میلیون توکنی
خلاصهٔ کاملتر
Spark X2.5 4B یه مدل زبانی متنباز ۴ میلیارد پارامتریه که XHToken با لایسنس Apache 2.0 روی Hugging Face منتشر کرده و یه نسخهٔ کوچیکتر ۱٫۷ میلیاردی هم داره. کارت مدل از آموزش روی حدود ۲۰ تریلیون توکن، پشتیبانی از بیش از ۲۰۰ زبان و سازگاری با هارنسهای ایجنتی مثل Hermes میگه. ادعای اصلیش کانتکست بومی یک میلیون توکنیه، عددی که معمولاً مال مدلهای چند برابر بزرگتره.
ترفند پشت این کانتکست، معماریه نه حجم داده. تو مدلهای معمولی هر لایه full attention داره، یعنی هر توکن به همهٔ توکنهای دیگه نگاه میکنه و هزینهش با مربع طول دنباله بالا میره. Spark X2.5 بهجاش یه بلوک تکرارشونده داره: سه لایه sliding window که فقط یه تیکهٔ نزدیک از توکنها رو میبینن و ارزونترن، و بعدش یه لایه full attention که ارتباط سرتاسری رو حفظ میکنه.
از نظر حافظه، وزنهای خام روی یه کارت ۴۸ گیگابایتی زیر ۹ گیگ جا شدن، ولی وقتی با SGLang سرو شد و KV cache فعال بود، مصرف با سقف کانتکست ۶۵ هزار توکن به حدود ۴۱ گیگ رسید. یعنی فاصلهٔ بین لود شدن وزنها و وزنها بهعلاوهٔ کش، همون چیزیه که باید براش برنامه بریزی. سرو کردنش هم استاندارده: یه ایمیج داکر پینشده از SGLang که یه API سازگار با OpenAI رو روی پورت ۳۰۰۰۰ بالا میآره.
سختترین تست یه اپ وب چهارلایهٔ زنده بود، شامل دیتابیس Postgres، بکاند FastAPI و فرانتاند Nginx روی Docker Compose، که نقش داشبورد اعزام اورژانس رو بازی میکرد. یه باگ عمدی توش کاشته بودن: تو یه بازهٔ اولویت، حادثهها بهجای بیشترین تعداد آسیبدیده بر اساس کمترین مرتب میشدن. مدل بدون هیچ راهنمایی و بعد از حدود ۱۶ تا ۱۷ دقیقه استدلال، منطق مرتبسازی رو درست پیدا و اصلاح کرد، فقط سه چهار برابر مدلهای بزرگتر وقت برد.
تست دوم ساخت یه انیمیشن کبابِ چرخان تو یه فایل HTML بدون کتابخونه بود؛ مدل ۳۰ تا ۴۰ دقیقه استدلال کرد، چند بار تو حلقه گیر کرد و خروجیش صاف و بیجون از آب دراومد. ضعف روشنتر تو چندزبانگیه: زبانهای اروپایی تمیز ترجمه شدن ولی خروجی خیلی از زبانهای هندی، جنوب شرق آسیا و آفریقایی بههمریخته بود یا کاراکتر چینی توش میاومد، و تیگرینیا کلاً به یه ردیف علامت مساوی تبدیل شد.
نکات کلیدی:
- الگوی attention ترکیبیه: سه لایه sliding window بهازای هر یه لایه full attention، که راه رسیدن به ادعای کانتکست یک میلیون توکنیه.
- وزنها زیر ۹ گیگابایت VRAM لود شدن، ولی سرو با SGLang و سقف کانتکست ۶۵ هزار توکن مصرف رو به حدود ۴۱ گیگابایت رسوند.
- باگ ترتیب اولویت تو اپ چهارلایه رو درست رفع کرد، منتها سه تا چهار برابر کندتر از مدلهای بزرگتر.
- تو تست انیمیشن HTML بین ۳۰ تا ۴۰ دقیقه توکن استدلال سوزوند و نتیجه در حد متوسط بود.
- ادعای بیش از ۲۰۰ زبان فقط برای زبانهای پرداده جواب میده؛ تیگرینیا خروجی معتبر نداد.
- لایسنس Apache 2.0، وزنها روی Hugging Face، و یه نسخهٔ ۱٫۷ میلیاردی هم موجوده.




