شاید تصور کنید حافظه در مدلهای زبانی مثل یک دفترچه یادداشت است که هر چه بیشتر در آن بنویسید، صفحات قبلی خودبهخود پاک نمیشوند؛ اما در واقعیت، بسیاری از مدلهای بهینه، با نوشتن اطلاعات جدید، خاطرات قدیمی را تخریب میکنند. اگر شما توسعهدهندهای هستید که با محدودیتهای حافظه در مدلهای خطی دستوپنجه نرم میکنید، معماری KDA پاسخ شماست.
طبق تحلیل فنی Doubleword در ۲۸ ژوئیه ۲۰۲۶، سامانه Kimi Delta Attention (KDA) با تغییر نگاه به بهروزرسانی حافظه، مشکل «تداخل» (Interference) را حل کرده است. در سیستمهای توجه خطی، افزودن اطلاعات جدید به یک وضعیت (State) با اندازه ثابت، معمولاً باعث تغییر شکل یا پاک شدن خاطرات قدیمی میشود. KDA بهجای جمع ساده، بهروزرسانیها را به عنوان «اصلاح خطا» مدیریت میکند.
همانطور که در تحلیلهای پیشین ما دربارهی بهینهسازی حافظه در مدلهای بازمتن اشاره کردیم، صنعت سالهاست که سعی دارد از هزینههای سنگین محاسباتی مدلهای سافتمکس (Softmax) که دارای پیچیدگی درجه دوم (Quadratic Cost) هستند، خلاص شود. اگرچه توجه خطی این هزینه را کاهش داد، اما تداخلی ایجاد کرد که در آن هر عملیات نوشتن توکن جدید میتوانست پیوندهای انجمنی قبلی را مخدوش کند. KDA تکاملیافتهای از خانواده DeltaNet است که اکنون توسط آخرین نسخههای خانواده مدلهای Qwen و Kimi برای حفظ بازخوانی دقیق (High-fidelity Recall) بدون تحمیل بار محاسباتی عظیم استفاده میشود.
تکامل قانون دلتا
برای درک KDA باید مسیر حرکت از توجه خطی ساده به قانون دلتا را بررسی کرد. در توجه خطی استاندارد، یک وضعیت $S$ از طریق فرمول $S_t = S_{t-1} + |v_t\rangle\langle k_t|$ بهروز میشود. چون کلیدها (Keys) از نظر ریاضی بر هم عمود (Mutually Orthogonal) نیستند، این روند جمعی شبیه به عملیات += در برنامهنویسی است؛ یعنی اگر یک کلید دو بار نوشته شود، مقدار آن بهاشتباه دوبرابر میشود و تداخل ایجاد میکند.
DeltaNet این روند را به یک جایگزینی هدفمند تبدیل کرد. در این معماری، مدل بهجای افزودن کامل مقدار، ابتدا مقدار فعلی را برای یک کلید پیشبینی میکند ($|\widehat v_t\rangle = S_{t-1}|k_t\rangle$) و سپس فقط تفاوت یا همان «خطا» را مینویسد: $|e_t\rangle = \beta_t(|v_t\rangle - |\widehat v_t\rangle)$.
این رویکرد دقیقاً از یادگیری آنلاین (Online Learning) تقلید میکند. با Treating کردن بهروزرسانی به عنوان یک گام تکمرحلهای نزول گرادینت (Gradient-descent) روی ضرایب بازسازی، DeltaNet تضمین میکند که وقتی $\beta_t=1$ باشد، حافظه دقیقاً مقدار $|v_t\rangle$ را برای آن کلید برگرداند. این تغییر بنیادین، عملیات حافظه را از یک جمع ساده (+=) به یک جایگزینی دقیق (=) تبدیل میکند.
از فراموشی کلی به فراموشی جزئی
حتی با وجود قانون دلتا، اطلاعات قدیمی و بیفایده (Stale Information) میتوانند در وضعیت حافظه باقی بمانند و خوانشهای آینده را مخدوش کنند. مدل Gated DeltaNet سعی کرد این مشکل را با معرفی یک «دروازه حفظ» اسکلار $\alpha_t$ حل کند. این مکانیزم به مدل اجازه میداد تا پیش از اعمال بهروزرسانی دلتا، کل وضعیت حافظه را با یک نرخ ثابت فراموش کند.
Kimi Delta Attention این رویکرد را یک گام فراتر برد و مقدار اسکلار $\alpha_t$ را به یک بردار $\alpha_t \in [0,1]^{d_k}$ ارتقا داد. این تغییر باعث ایجاد یک ماتریس قطری $D_t$ میشود که مدل را قادر میسازد هر کانال کلید را بهطور مستقل فراموش کند. در این حالت، یک کانال میتواند کاملاً پاکسازی شود در حالی که کانال دیگری بهطور کامل و بدون تغییر حفظ گردد.
پیادهسازی فنی و گذارهای DPLR
گذار وضعیت در KDA از نظر ریاضی به عنوان یک گذار «قطری-بهعلاوه-کمرتبه» یا همان Diagonal-plus-low-rank (DPLR) توصیف میشود. با بسط فرمول اصلاح خطا، گذاری که روی فضای کلید اعمال میشود به صورت $A_t = D_t - |b_t\rangle\langle a_t|$ تعریف میگردد.
در عمل، برای دستیابی به حداکثر بهرهوری سختافزاری، این معماری از طریق دو رژیم اجرایی مجزا پیاده شده است:
- هستهی بازگشتی ادغامشده (Fused Recurrent Kernel): این حالت برای رمزگشایی خودبازگشتی (Autoregressive Decoding) استفاده میشود. در اینجا توکنها یکی-یکی و با استفاده از عملیات برداری پردازش میشوند که برای سرویسدهی با تأخیر کم (Low-latency) ایدهآل است.
- KDA تکهبندیشده (Chunkwise KDA): این حالت برای آموزش و پیشپُرکردن (Prefill) طولانی بهکار میرود. در این رژیم، بازگشتها به صورت ضربهای ماتریسی روی تکههایی از توکنها (مثلاً با اندازه بلوک $C$) سازماندهی میشوند.
حل مشکل وابستگی علی
تکهبندی در این مدلها دشوار است زیرا خطای دلتای یک توکن به نوشتههای قبلی در همان تکه (Chunk) وابسته است. KDA این مشکل را با محاسبه «خطاهای موقت» (Provisional Errors) و سپس اصلاح آنها از طریق یک «حل مثلثی علی» (Causal Triangular Solve) برطرف میکند.
طبق تحلیل Doubleword، این فرآیند شامل ساخت ماتریسهای تعاملی ($A^{kk}_c$ و $A^{qk}_c$) است که زوال تجمعی و تعاملات کلید-کلید را کدگذاری میکنند. این ساختار اجازه میدهد سیستم خروجیهایی تولید کند که از نظر ریاضی دقیقاً با اجرای ترتیبی (Serial Recurrence) یکسان باشند، اما با سرعت هستههای تانسور (Tensor Cores) اجرا شوند.
تحلیل: بازتعریف مدیریت وضعیت
تغییر از دروازههای اسکلار به زوال قطری در هر کانال، یک حرکت استراتژیک به سمت مدیریت «هوشمندتر» حافظه در مدلهای زبانی بزرگ (LLM) است. با اجازه دادن به مدل برای مدیریت چرخه حیات ابعاد خاص ویژگیها، KDA نسبت سیگنال به نویز را در وضعیت بازگشتی به شدت کاهش میدهد.
برای متخصصان، این به معنای آن است که مدلهای با پیچیدگی خطی در حال پر کردن شکاف عملکردی با مدلهای سافتمکس درجه دوم هستند. توانایی جایگزینی هدفمند - همزمان با زوال مستقل کانالهای بیربط - اجازه میدهد این مدلها بسترهای متنی بسیار طولانیتر را با رانش حافظه (Memory Drift) بسیار کمتری نسبت به نسخههای خطی قبلی مدیریت کنند.
همزمان با حرکت صنعت به سمت مدلهای فضای وضعیت (SSM) و هیبریدهای توجه خطی، گذار DPLR به یک نقشه راه (Blueprint) برای ساخت حافظههای انجمنی تبدیل میشود که واقعاً میتوانند «فراموش کنند» بدون اینکه بافتهای حیاتی (Critical Context) را از دست بدهند.
گام بعدی شما
- اگر از مدلهای خانواده Qwen یا Kimi استفاده میکنید، روی توالیهای طولانیتر تست کنید تا دقت بازخوانی (Recall) را بسنجید.
- معماری DPLR را به عنوان الگویی برای ساخت حافظههای انجمنی که توانایی «فراموش کردن» دارند، مطالعه کنید.
- برای کاهش هزینه استنتاج در محیطهای تولید، ترکیب Chunkwise KDA با رمزگشایی گمانهزنانه را بررسی کنید.
اما تأثیر این بهینهسازیها بر نرخ مصرف VRAM در مقیاس میلیاردی حتی خیرهکنندهتر است؛ تحلیل ما دربارهی مدیریت حافظه در تراشههای Blackwell را بخوانید.




گفتگو