Random Attention؛ حذف تصادفی KV cache که جواب میده
خلاصهٔ کاملتر
تیم Salesforce AI Research مخزن کد مقاله Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning رو منتشر کرده. موضوعش KV cache eviction هست، یعنی وقتی حافظهای که مدل کلید و مقدار توکنهای قبلی رو توش نگه میداره پر میشه، تصمیم بگیری کدوم توکنها بمونن و کدوم بیرون بریزن. برای مدلهای استدلالی که خروجی خیلی بلند تولید میکنن این حافظه سریع سنگین میشه، برای همین روش انتخاب مهمه.
ایده اصلی بهطرز عجیبی سادهست: prompt رو کامل نگه دار، بعد از بین توکنهای تولیدشده یه زیرمجموعه کاملاً تصادفی و جدا بهازای هر KV head تا سقف بودجه انتخاب کن، بهعلاوه یه پنجره کوتاه از آخرین توکنها. تو کد اسمش random_pp هست. هیچ امتیاز attention، هیچ آمار value و هیچ داده کالیبراسیونی خونده نمیشه؛ یعنی هزینه هر دور حذف فقط خودِ جمعوجور کردن حافظهست و نه محاسبه اضافه.
به گفته نویسندهها، روی MATH-500، GPQA-Diamond، AIME، HMMT و LiveCodeBench و با بودجه یکسان، این روش با انتخابگرهای یادگرفتهشده مثل SnapKV، R-KV، VaSE و TriAttention برابری میکنه یا ازشون جلو میزنه. این نتیجه روی Qwen3-4B و 14B و 32B و همینطور Phi-4-reasoning تکرار شده. علاوه بر دقت، سریعترین evictor هم بوده، هم تو هارنس Hugging Face و هم داخل یه استک سرویسدهی vLLM.
مخزن فقط یه اثبات مفهوم نیست: موتور eviction، هارنس ارزیابی، تستهای معناداری آماری، بنچمارکهای کارایی، پورت vLLM و ابزار مطالعه مکانیزم توش هست، یعنی همه عددهای مقاله قابل بازتولیده. نمرهدهی موقعیتیه و اسکریپت grade_cell.sh اول یکپارچگی داده رو چک میکنه تا یه اجرای ناقص بیسروصدا اشتباه نمره نگیره. آزمایشها روی ۸ کارت H200 با ۱۴۱ گیگابایت حافظه اجرا شدن و پروژه با لایسنس Apache 2.0 منتشر شده.
نکات کلیدی:
- روش random_pp هیچ سیگنالی نمیخونه: نه امتیاز attention، نه آمار value، نه داده کالیبراسیون
- انتخاب تصادفی جدا برای هر KV head انجام میشه، بهعلاوه یه پنجره کوتاه از توکنهای اخیر
- روی Qwen3-4B/14B/32B و Phi-4-reasoning آزمایش شده
- با بودجه برابر به SnapKV، R-KV، VaSE و TriAttention میرسه یا جلو میزنه
- سریعترین evictor هم تو هارنس Hugging Face و هم تو vLLM 0.19
- آزمایشها روی ۸ عدد H200 (۱۴۱ گیگابایت)، لایسنس Apache 2.0




