در کار با مدلهای زبانی بزرگ، پردازش متون طولانی همواره با یک دیوار سخت مواجه میشود: رشد درجه دو محاسبات اتنشن (Attention) و انفجار حجم حافظهی کش کلید-مقدار (KV cache). در طول متنهای بالاتر از 64k توکن، مدلهای استاندارد مبتنی بر ترنسفورمر بخش عمدهای از حافظهی گرافیکی (VRAM) را فقط صرف نگهداری این کش میکنند. از سوی دیگر، مدلهای فضای حالت (SSM) مانند خانوادهی Mamba با حافظهی ثابت و پیچیدگی خطی این مشکل را حل کردهاند، اما در بازیابی دقیق اطلاعات و ردیابی حالت در متنهای طولانی دچار افت کیفیت میشوند.
معماری هیبریدی Jamba که توسط AI21 معرفی شد، پاسخی مهندسیشده به این بنبست است. این معماری با ترکیب 1 لایهی ترنسفورمر به ازای هر 7 لایهی Mamba و ادغام آن با متخصصان تنک (MoE)، امکان پردازش پنجرهی زمینهی 256k توکن را روی یک پردازندهی گرافیکی 80GB فراهم میکند؛ دستاوردی که اجرای آن با ترنسفورمر خالص روی چنین سختافزاری غیرممکن است.
تهیهی کارتهای گرافیک سازمانی با حافظهی بالا یا اجارهی نمونههای ابری خارجی برای توسعهدهندگان ایرانی دشوار و بسیار پرهزینه است؛ بنابراین بهینهسازی ردپای حافظه اهمیت دوچندان پیدا میکند. در این درس با جزئیات معماری Jamba، نحوهی محاسبهی بودجهی حافظه و دستاوردهای جدید Mamba-3 آشنا میشوید تا بتوانید هنگام طراحی یا استقرار سیستمهای پردازش اسناد حجیم، مدل مناسب نیاز خود را انتخاب کنید.
مدلهای فضای حالت (State space models یا SSM) و ترنسفورمرها (Transformers) اهداف متفاوتی را دنبال میکنند. ترنسفورمرها کیفیت را از طریق اتنشن (Attention) و به بهای هزینهی درجه دو به دست میآورند. در مقابل، مدلهای SSM استنتاج با زمان خطی و حافظهی ثابت را از طریق یک رابطهی بازگشتی (recurrence) محقق میکنند، اما از نظر کیفیت عقب میمانند. مدلهای Jamba (مارس 2024) و Jamba 1.5 (اوت 2024) از شرکت AI21 هر دو را در یک مدل کنار هم قرار دادند: 1 لایهی ترنسفورمر به ازای هر 7 لایهی Mamba، لایههای MoE در بلوکهای یکدرمیان، و یک پنجرهی زمینهی 256k که روی یک پردازندهی گرافیکی 80GB جا میشود. مدل Mamba-3 (کنفرانس ICLR 2026) بخش SSM را با فضاهای حالت با مقادیر مختلط (complex-valued) و تصویر کردنهای MIMO ارتقا میدهد. در این درس، هر دو معماری را به صورت سرتاسری بررسی میکنیم و توضیح میدهیم چرا این ترکیب هیبریدی (hybrid) در طی سه سال مقیاسپذیری دوام آورده، در حالی که تلاشها برای زمینهی طولانی با SSM خالص و ترنسفورمر خالص ناکام ماندهاند.
اهداف یادگیری
- توضیح سه مولفهی اصلی در یک بلوک Jamba — لایههای ترنسفورمر، لایههای Mamba و MoE — و الگوی درهمتنیدگی 1:7:حالتهای زوج.
- بیان ساختار کلی رابطهی بازگشتی SSM و علت امکانپذیر شدن استنتاج با حافظهی ثابت به کمک آن.
- محاسبهی ردپای حافظهی کش کلید-مقدار (KV cache) یک مدل Jamba در زمینهی 256k و مقایسهی آن با نیاز یک مدل ترنسفورمر خالص.
- نام بردن از سه نوآوری Mamba-3 (گسستهسازی ذوزنقهای-نمایی، بهروزرسانی حالت با مقادیر مختلط، و MIMO) و مسئلهای که هر یک هدف قرار دادهاند.
صورت مسئله
اتنشن نسبت به طول دنباله پیچیدگی درجه دو دارد. مدلهای فضای حالت خطی هستند. این تفاوت در طول دنبالههای زیاد چند برابر میشود: در 256k توکن، ماتریس اتنشن ترنسفورمر به ازای هر سر (Head) شامل 65 میلیارد درایه است؛ در حالی که وضعیت بازگشتی یک SSM صرفنظر از طول دنباله، اندازهای ثابت دارد.
مدلهای SSM خالص (Mamba و Mamba-2) در مقیاسهای کوچک به پرپلکسیتی (Perplexity) ترنسفورمر میرسند، اما در وظایف ردیابی حالت (state-tracking) ضعیفترند و در برخی دستههای بازیابی درونزمینه (in-context retrieval) شکست میخورند. شهود ماجرا این است: مدلهای SSM تاریخچه را درون یک حالت با اندازهی ثابت فشرده میکنند، و وقتی تاریخچه طولانی میشود، اطلاعات نشت میکند و از دست میرود. در مقابل، اتنشن همه چیز را دقیق به یاد میسپارد، اما هزینهای درجه دو میپردازد.
راهکار روشن است: استفاده از هر دو معماری. لایههای ترنسفورمر را در جایی بگذارید که بازخوانی (Recall) دقیق اهمیت دارد و در سایر بخشها از لایههای SSM بهره ببرید؛ سپس نسبت این دو را تنظیم کنید. مدل Jamba اولین مدل در سطح عملیاتی است که این فرمول هیبریدی را در مقیاس بالا پیاده کرده است (52 میلیارد پارامتر کل، 12 میلیارد فعال، زمینهی 256k، روی یک پردازندهی گرافیکی 80GB). مدل Jamba 1.5 این خانواده را به 398 میلیارد کل / 94 میلیارد فعال گسترش میدهد. مدل Mamba-3 (کنفرانس ICLR 2026) نیز در حال حاضر بهترین خط مبنای (Baseline) SSM خالص است که میتوان مدلهای هیبریدی را بر پایهی آن بازطراحی کرد.
در این درس هر سه مقاله را بررسی میکنیم و مدل ذهنی لازم را برای «انتخاب نسبت بهینه» میسازیم.
مفاهیم پایه
مدل SSM در یک نگاه
یک مدل فضای حالت، دنبالهی x_1, ..., x_N را از طریق یک حالت با اندازهی ثابت h پردازش میکند:
در هر گام، حالت بر اساس یک دینامیک خطی A تغییر میکند، ورودی B x_t را دریافت کرده و خروجی C h_t را تولید میکند. پارامترهای A, B, C قابل آموزش هستند. به این ویژگی حیاتی دقت کنید: محاسبهی y_t فقط به h_{t-1} و x_t نیاز دارد، نه به هیچکدام از مقادیر قبلی x. به همین دلیل، حافظه ثابت میماند و استنتاج به ازای هر توکن خواهد بود.
رمز دستیابی به کیفیت مدلسازی، ساختار ماتریس A است. مدل S4 (گو، 2021) از ماتریسی بسیار ساختاریافته استفاده کرد که در طول آموزش میشد آن را به شکل یک کانولوشن طولانی با کارایی بالا محاسبه کرد. مدل Mamba (گو و دائو، 2023) مقادیر ثابت A, B, C را با متغیرهای وابسته به داده (بخش «انتخابی» یا selective) جایگزین کرد. مدل Mamba-2 (2024) این ساختار را سادهتر کرد و Mamba-3 (2026) پیچیدگی را دوباره در بخشهای مشخصی اضافه کرد.
ویژگی کلیدی: برای یک مدل زبانی دیکودر (decoder LLM)، لایهی SSM جایگزینی آماده برای لایهی اتنشن است که به جای کش کلید-مقدار در حال رشد، در هر لایه حالتی با اندازهی ثابت نگه میدارد.
بلوک Jamba
یک بلوک Jamba لایهها را بر اساس دو عدد به صورت متناوب ترکیب میکند:
- شاخص
l: نسبت اتنشن به Mamba. در Jamba این مقدارl = 8است؛ یعنی 1 لایهی ترنسفورمر به ازای هر 7 لایهی Mamba (7 لایهی Mamba + 1 لایهی اتنشن = 8 لایه در هر گروه). - شاخص
e: بسامد MoE. در Jamba این مقدارe = 2است؛ یعنی لایههای یکدرمیان از MoE استفاده میکنند.
توالی لایهها در داخل یک بلوک:
M M M M M M M A (7 Mamba + 1 Attention)
| M | M | M | M (where | marks MoE applied)
هر بلوک Jamba شامل 8 لایه است. در عمق 4 بلوک (مجموعاً 32 لایه)، به 28 لایهی Mamba و 4 لایهی اتنشن میرسید که 16 تای آنها از MoE استفاده میکنند.
علت انتخاب نسبت 1:7
تیم AI21 آزمایشهای مقایسهای انجام داد: چه نسبتی از اتنشن به Mamba بهترین پرپلکسیتی به ازای پارامتر و بازخوانی درونزمینه را در ارزیابیهای متن طولانی رقم میزند؟
- اتنشن بیش از حد (1:1): کیفیت بالا میرود، اما حافظه و سرعت افت میکنند.
- اتنشن خیلی کم (1:15): مصرف حافظه عالی است، اما بازیابی درونزمینه دچار اختلال میشود.
- نقطهی طلایی: 1:7 یا 1:8.
شهود پشت این نتیجه: لایههای ترنسفورمر وظیفهی بازخوانی دقیق و ردیابی حالت را بر عهده دارند؛ لایههای Mamba نیز بار اصلی و کمهزینهی پردازش را به دوش میکشند.
کدگذاری مکانی
لایههای Mamba به خودی خود (از طریق رابطهی بازگشتی) نسبت به موقعیت آگاه هستند. لایههای اتنشن در مدلهای هیبریدی اولیهی مبتنی بر Mamba از RoPE استفاده نمیکردند؛ چرا که لایههای SSM اطلاعات مکانی را فراهم میکردند. با این حال، Jamba 1.5 برای تعمیمپذیری بهتر در زمینههای طولانیتر، RoPE را به لایههای اتنشن اضافه کرد؛ تغییری ثانویه که بر اساس ارزیابیهای تجربی متن طولانی حاصل شد.
بودجهی حافظه
برای ساختار Jamba-1 (شامل 32 لایه: 28 لایهی Mamba + 4 لایهی اتنشن، بعد پنهان 4096، و 32 سر اتنشن):
- کش کلید-مقدار (فقط لایههای اتنشن):
2 * 4 * 32 * 128 * 256k * 2 = 16 GBدر حالت BF16 برای 256k توکن. فقط 4 لایهی اتنشن در این حافظه سهم دارند. نسخهی نهایی Jamba از GQA با 8 سر KV در آن لایهها استفاده میکند که این رقم را به 4 GB میرساند؛ دقیقاً همان رقمی که در مقالهی Jamba آمده است. - حالت SSM: به ازای هر پیشوند توکن برابر با
28 * hidden * state_sizeاست، اما این مقدار برای هر لایه ثابت است و با طول دنباله تغییر نمیکند. اندازهی معمول حالت در Mamba برابر با 16 به ازای هر ویژگی در بعد پنهان 4096 است: مجموعاً28 * 4096 * 16 * 2 = 3.7 MB.
این را با یک ترنسفورمر خالص 32 لایه با همان بعد پنهان و MHA کامل با 32 سر مقایسه کنید: 2 * 32 * 32 * 128 * 256k * 2 = 128 GB در حالت BF16 برای 256k توکن؛ یعنی کاهش 8 برابری در کش کلید-مقدار. حتی در مقایسه با خط مبنای GQA(8) که اکثر مدلهای 2024 به کار میبرند (2 * 32 * 8 * 128 * 256k * 2 = 32 GB)، یک مدل هیبریدی 1:7 با 32 سر KV و مصرف 16 GB باز هم 2 برابر کوچکتر است. نسخهی عرضهشدهی Jamba با 4 GB نیز 8 برابر کوچکتر است.
منظور AI21 از «زمینهی 256k روی یک پردازندهی گرافیکی 80GB» دقیقاً همین است. کش کلید-مقدار یک ترنسفورمر خالص با MHA کامل اصلاً جا نمیشود؛ حتی خط مبنای GQA هم جایی برای وزنها و فعالسازها (activations) باقی نمیگذارد، اما ساختار Jamba این فضا را دارد.
مدل Mamba-3: خط مبنای SSM خالص در سال 2026
مدل Mamba-3 (کنفرانس ICLR 2026، مقاله arXiv:2603.15569) سه نوآوری در معماری SSM خالص معرفی میکند:
-
گسستهسازی ذوزنقهای-نمایی. جایگزین روش گسستهسازی اویلر در Mamba-2 میشود و رابطهی بازگشتی رساتری ارائه میدهد. در این روش، عملیاتی شبیه به کانولوشن روی ورودیِ حالت در هستهی رابطهی بازگشتی اعمال میشود، نه به عنوان یک کانولوشن بیرونی روی
x_t. -
بهروزرسانی حالت با مقادیر مختلط. نسخههای قبلی Mamba ماتریس حالت را از مقادیر مختلط (S4) به قطری حقیقی (Mamba) و سپس به ماتریس همانی مقیاسشده (Mamba-2) ساده کردند. مدل Mamba-3 دوباره مقادیر مختلط را اضافه میکند؛ معادلی برای امبدینگ چرخشی وابسته به داده روی حالت. این ویژگی قابلیتهای ردیابی حالت را که قربانی سادهسازیهای حقیقی قبلی شده بود، بازمیگرداند.
-
تصویر کردنهای چندورودی-چندخروجی (MIMO). استفاده از تصویر کردنهای ماتریسی به جای تصویر کردنهای اسکالر به ازای هر ویژگی. این تغییر قدرت مدلسازی و بهرهوری سختافزار در زمان استنتاج را بدون افزایش تاخیر تولید توکن (decode latency) بهبود میدهد.
در مقیاس 1.5 میلیارد پارامتر، Mamba-3 دقت وظایف پاییندستی را به طور میانگین 0.6 امتیاز نسبت به Gated DeltaNet افزایش میدهد؛ نسخهی مجهز به MIMO نیز 1.2 امتیاز دیگر به آن اضافه میکند تا در مجموع 1.8 امتیاز ارتقا یابد. در اندازهی حالت یکسان، Mamba-3 با نصف حالت Mamba-2 با آن برابری میکند.
مدل Mamba-3 هنوز در قالب یک مدل هیبریدی بزرگ و عملیاتی عرضه نشده است؛ اما گزینهی مسلم بخش SSM برای نسل بعدی مدلهای همردهی Jamba به شمار میرود.
چه زمانی سراغ مدلهای هیبریدی برویم؟
مدلهای هیبریدی در این سناریوها برنده هستند:
- طول زمینه آنقدر بلند است که کش کلید-مقدار ترنسفورمر خالص دردسرساز میشود (64k به بالا).
- وظایف ترکیبی از الگوهای کوتاهبرد (مناسب برای SSM) و بازخوانی بلندبرد (نیازمند ترنسفورمر) هستند.
- میخواهید سیستم را روی حافظهی محدود یک پردازندهی گرافیکی مستقر کنید، جایی که تنها کش کلید-مقدار ترنسفورمر هم جا نمیشود.
مدلهای هیبریدی در این سناریوها برتری ندارند:
- طول زمینه کوتاه است (کمتر از 16k). در این شرایط سربار SSM هدر میرود و ترنسفورمر خالص عملکرد مناسبی دارد.
- وظایف به اتنشن همهبههمه نیاز دارند (استدلال عمیق، ارجاع متقابل بین چندین سند). در این حالت، تنکسازی (Sparsity) لایههای اتنشن در مدل هیبریدی به کیفیت آسیب میزند.
- در حال مقیاسدهی به مدلهای پیشرو و تریلیونپارامتری هستید. در حال حاضر ترنسفورمر خالص به همراه MLA و MoE (سبک DeepSeek-V3) رقابت توانمندی را میبرد.
فضای رقابتی مدلها
| مدل | خانواده | مقیاس | ادعای منحصربهفرد |
|---|---|---|---|
| Mamba-2 | مدل SSM خالص | 3B | زمان خطی، حافظهی ثابت |
| Jamba | هیبریدی | 52B/12B | زمینهی 256k روی 80GB |
| Jamba 1.5 Large | هیبریدی | 398B/94B | زمینهی طولانی در سطح سازمانی |
| Mamba-3 | مدل SSM خالص | 1.5B (مقاله) | احیای ردیابی حالت |
| DeepSeek-V3 | ترنسفورمر خالص + MoE | 671B/37B | توانمندی پیشرو در مرز دانش |
چشمانداز سال 2026: ترنسفورمر خالص مبتنی بر MoE در مرز دانش حکمرانی میکند، اما مدلهای هیبریدی جایگاه اختصاصی زمینههای بالای 256k را در اختیار دارند. پیروزیهای Mamba-3 در ردیابی حالت ممکن است در نسل بعد، نسبتهای مدلهای هیبریدی را کمتر کند (SSM بیشتر، اتنشن کمتر).
به کار بگیرید
فایل code/main.py یک ابزار محاسبهی حافظه برای معماریهای هیبریدی است. با دریافت نسبت SSM به ترنسفورمر و تنظیمات بعد پنهان و تعداد لایهها، مقادیر زیر را محاسبه میکند:
- کش کلید-مقدار در زمینهی هدف.
- حافظهی حالت SSM.
- کل حافظه در زمینهی N برای ساختارهای مختلف مدل.
این ابزار از موارد زیر پشتیبانی میکند:
- خط مبنای ترنسفورمر خالص (رشد کش کلید-مقدار با N).
- مدل هیبریدی 1:7 به سبک Jamba.
- مدل SSM خالص (بدون هیچ کش کلید-مقداری).
اعداد مستقیماً از مقالات Jamba-1 و Jamba-1.5 برای ساختارهای منتشرشده استخراج شدهاند و برای متغیرهای فرضی تعمیم یافتهاند.
ملاحظات عملی برای استقرار در محیط عملیاتی:
- اکثر سرورهای استنتاج (Inference server) عملیاتی (مثل vLLM و SGLang) از Jamba و Mamba پشتیبانی میکنند. نسخهی مشخص را بررسی کنید.
- در زمینهی 256k، مزیت حافظهای Jamba خود را در نرخ پردازش (Throughput) درخواستهای همزمان نشان میدهد. روی همان مقدار حافظهی گرافیکی (VRAM)، توالیهای بیشتری از Jamba نسبت به توالیهای ترنسفورمر جا میگیرند.
- مدل Mamba-3 به عنوان یک مدل مستقل هنوز وارد خط تولید نشده و فعلاً در قالب یک پیشنمایش پژوهشی 1.5 میلیاردی مطرح است.
تحویل پروژه
خروجی این درس فایل outputs/skill-hybrid-picker.md خواهد بود. این راهنما با دریافت مشخصات کاری شما (پروفایل طول زمینه، ترکیب وظایف، بودجهی حافظه)، با استدلال شفاف دربارهی بدهبستانهای حافظه و کیفیت، گزینهی مناسب را از بین ترنسفورمر خالص، هیبریدی Jamba یا SSM خالص پیشنهاد میدهد.
تمرینها
-
فایل
code/main.pyرا اجرا کنید تا کش کلید-مقدار در زمینهی 256k را برای یک ترنسفورمر خالص 32 لایه (بعد پنهان 4096، 32 سر) و یک مدل هیبریدی Jamba-1 با همان مشخصات محاسبه کند. کاهش حدوداً 8 برابری حافظه را که مقالهی AI21 ادعا کرده بود، راستیآزمایی کنید. -
ماشینحساب را دستکاری کنید تا یک مدل هیبریدی 1:3 (4 لایهی Mamba به ازای 1 لایهی اتنشن) و یک مدل هیبریدی 1:15 (14 لایهی Mamba به ازای 1 لایهی اتنشن) را شبیهسازی کند. نمودار کش کلید-مقدار بر حسب نسبت را رسم کنید. در چه نسبتی کش کلید-مقدار با حافظهی حالت SSM برابر میشود؟
-
بخش 3 مقالهی Jamba (arXiv:2403.19887) را بخوانید. توضیح دهید چرا AI21 با وجود سریعتر بودن Mamba-2، از Mamba-1 استفاده میکند. راهنمایی: بخش آزمایشهای مقایسهای مدل هیبریدی این موضوع را مستند کرده است.
-
سربار پارامتری لایههای یکدرمیان MoE را در مدل Jamba 1.5 Large (شامل 398B کل، 94B فعال) محاسبه کنید. نسبت پارامترهای فعال را با DeepSeek-V3 (با 37B/671B) مقایسه کنید و بگویید چرا معماری Jamba این نسبت فعال را بالاتر میبرد.
-
بخش 3 مقالهی Mamba-3 (arXiv:2603.15569) را مطالعه کنید. در سه جمله توضیح دهید چرا بهروزرسانی حالت با مقادیر مختلط، معادل یک امبدینگ چرخشی وابسته به داده است. پاسخ را به اثبات فرمول RoPE در فاز 7، درس 04 گره بزنید.
اصطلاحات کلیدی
| اصطلاح | برداشتی که رایج است | معنای دقیق فنی |
|---|---|---|
| مدل فضای حالت (SSM) | «سیستم بازگشتی با حالت ثابت» | لایهای با رابطهی بازگشتی آموزشپذیر h_t = A h_{t-1} + B x_t؛ حافظهی ثابت به ازای هر توکن |
| مدل SSM انتخابی (Selective SSM) | «ترفند مدل Mamba» | پارامترهای A، B و C وابسته به داده که در زمان خطی، رفتاری شبیه به گیتینگ به مدل میدهند |
| نسبت اتنشن به Mamba | «چند لایه اتنشن داریم» | در Jamba، مقدار l = 8 یعنی 1 لایهی اتنشن به ازای هر 7 لایهی Mamba |
| بلوک Jamba | «دستهی 8 لایهای» | یک لایهی اتنشن + هفت لایهی Mamba + ساختار MoE روی موقعیتهای یکدرمیان |
| حالت SSM | «بافر پنهان» | حالت با اندازهی ثابت به ازای هر لایه که در لایههای Mamba جایگزین کش کلید-مقدار میشود |
| زمینهی 256k | «عدد شاخص Jamba» | طول دنبالهای که Jamba-1 را روی یک پردازندهی گرافیکی 80GB جا میدهد؛ ترنسفورمر خالص در این اندازه جا نمیشود |
| مدل Mamba-3 | «مدل SSM خالص 2026» | بهترین معماری SSM خالص فعلی با حالت مختلط و MIMO؛ خط مبنایی که مدلهای هیبریدی حول آن بازطراحی میشوند |
| فناوری MIMO | «چندورودی-چندخروجی» | نوآوری Mamba-3 که به جای نگاشتهای اسکالر به ازای هر ویژگی، از تصویر کردنهای ماتریسی بهره میبرد |
| گسستهسازی ذوزنقهای-نمایی | «رابطهی بازگشتی Mamba-3» | رابطهی بازگشتی رساتری که روش گسستهسازی اویلر در Mamba-2 را پوشش میدهد |
| معماری هیبریدی | «ترکیب اتنشن و SSM» | هر مدلی که لایههای ترنسفورمر و SSM را متناوب بچیند؛ Jamba نمونهی شاخص آن در سطح عملیاتی است |
برای مطالعهی بیشتر
- Lieber et al. — Jamba: A Hybrid Transformer-Mamba Language Model (arXiv:2403.19887) — مقالهی اصلی Jamba، آزمایشهای مقایسهای نسبت لایهها و ادعای زمینهی 256k
- AI21 — Jamba 1.5: Hybrid Transformer-Mamba at Scale (arXiv:2408.12570) — خانوادهی مقیاسیافته، عرضهی عمومی 398B/94B و 12B/52B
- Gu, Dao — Mamba: Linear-Time Sequence Modeling with Selective State Spaces (arXiv:2312.00752) — مقالهی معرفی SSM انتخابی که Jamba بر آن سوار شده است
- Dao, Gu — Mamba-2 (arXiv:2405.21060) — نسخهی سادهشدهی فضاهای حالت ساختاریافتهی متوالی
- Lahoti et al. — Mamba-3 (arXiv:2603.15569, ICLR 2026) — حالت با مقادیر مختلط، MIMO، و مرزهای SSM خالص در سال 2026
- Gu et al. — Efficiently Modeling Long Sequences with Structured State Spaces (arXiv:2111.00396) — مقالهی S4، نقطهی آغاز تبارشناسی SSM برای مدلهای زبانی بزرگ
