RAP: KV-Cache Compression via RoPE-Aligned Pruning
تقدم هذه الورقة البحثية تقنية "التقليم المتوافق مع تضمين الموضع الدوراني" (RoPE-Aligned Pruning - RAP)، وهي طريقة تقليم هيكلية تحافظ على دلالات تضمين الموضع الدوراني عن طريق إزالة قنوات ذاكرة المفتاح والقيمة (KV cache) في أزواج متوافقة، مما يحقق وفراً كبيراً في الذاكرة والحوسبة لاستنتاج النماذج اللغوية الكبيرة ذات السياق الطويل دون التضحية بالدقة.
المؤلفون الأصليون:Jihao Xin, Tian Lyu, David Keyes, Hatem Ltaief, Marco Canini
تخيل أنك تحاول تذكر قصة طويلة جداً. في كل مرة تسمع فيها جملة جديدة، يتعين عليك الاحتفاظ بقائمة ذهنية بكل الجمل السابقة حتى تتمكن من فهم كيفية ترابطها. في عالم الذكاء الاصطناائي، تُسمى هذه القائمة الذهنية "ذاكرة الـ KV cache". إنها تشبه دفتراً ضخماً يكتب فيه روبوت فائق الذكاء أهم التفاصيل في المحادثة حتى لا ينسى البداية بحلول الوقت الذي يصل فيه إلى النهاية. المشكلة هي أنه كلما طالت القصة، أصبح هذا الدفتر ضخماً؛ فهو يشغل مساحة كبيرة من الذاكرة ويتطلب الكثير من القدرات الذهنية لتقليب صفحاته، مما يجعل الروبوت يبدأ في التباطؤ أو حتى ينفد منه المكان تماماً. يسعى العلماء دائماً لإيجاد طرق لتقليص حجم هذا الدفتر دون فقدان الأجزاء المهمة من القصة، لكي يتمكن الروبوت من الدردشة حول مواضيع طويلة دون أن يتوقف عن العمل.
إحدى الحيل الشهيرة التي يستخدمها الروبوت لفهم أين تحدث الأشياء في القصة تسمى "تضمين الموضع الدوار" (RoPE). فكر في (RoPE) كرقصة خاصة يؤديها الروبوت مع ذاكرته. فبدلاً من مجرد كتابة رقم مثل "الجملة 5"، يقوم الروبوت بجمع رقمين معاً ويجعلهما يدوران مثل طوق الهولا هوب. هذا الدوران يخبر الروبوت بالضبط مدى بُعد تلك الجملة عن الجملة الحالية. القاعدة الحاسمة في هذه الرقصة هي أن الرقمين في الزوج يجب أن يبقيا معاً؛ فإذا فصلتهما، تنكسر الدورة، ويصاب الروبوت بالارتباك بشأن التسلسل الزمني.
والآن، ظهرت طريقة جديدة تسمى RAP (التقليم المتوافق مع RoPE). لاحظ الباحثون وراء هذه الفكرة أن المحاولات السابقة لتقليص دفتر ذاكرة الروبوت كانت ترتكب خطأً فادحاً. تخيل أن لديك حقيبة ظهر مليئة بهذه الأزواج الراقصة. حاولت الطرق القديمة توفير المساحة عن طريق رمي عناصر فردية عشوائية من الحقيبة. ولكن لأن العناصر كانت ترقص في أزواج، فإن رمي عنصر واحد فقط ترك شريكه يدور وحيداً في الهواء دون أحد ليمسك بيده. انهارت الرقصة، وأصبحت ذاكرة الروبوت عديمة الفائدة.
يقترح مؤلفو هذه الورقة طريقة أكثر ذكاءً لحزم الحقيبة. فبدلاً من التخلص من عناصر فردية عشوائية، تنظر (RAP) إلى الأزواج الراقصة وتقرر التخلص من أزواج كاملة دفعة واحدة. إذا لم يكن الزوج مهماً جداً، يرحل الثنائي بأكمله. وإذا كان الزوج مهماً، يبقى الثنائي بأكمله. هذا يحافظ على سلامة الرقصة. اختبر الباحثون هذه الطريقة على عدة نماذج ذكاء اصطناعي شهيرة (تتراوح من 3 مليارات إلى 14 مليار "خلية دماغية") ووجدوا أن هذه الطريقة تعمل بشكل جيد للغاية. لقد تمكنوا من تقليص دفتر الذاكرة بنسبة 30% (الاحتفاظ بـ 70% فقط من الحجم الأصلي) مع الحفاظ على دقة عالية، رغم وجود انخفاض طفيف وملموس في الأداء مقارنة بالنموذج الكامل غير المضغوط.
ما يجعل هذا الأمر أكثر روعة هو أن الطرق الأخرى التي تحاول تقليص الذاكرة غالباً ما تضطر للقيền بعمل إضافي في كل مرة يتحدث فيها الروبوت لإعادة بناء الأجزاء المفقودة، مما يبطئ كل شيء. أما (RAP)، فهي تشبه تحرير الدفتر قبل أن يبدأ الروبوت في التحدث. فهي تزيل الصفحات الإضافية بشكل دائم، بحيث لا يضطر الروبوت للقيام بأي عمليات حسابية إضافية لسد الفجوات. إنها تعمل بشكل أسرع، وتستهلك طاقة أقل، وتتذكر القصة جيداً جداً. تظهر الورقة أنه بينما قد توفر الحيل الأخرى مساحة، إلا أنها غالباً ما تكسر إحساس الروبوت بالوقت أو تجعله أبطأ. تعد (RAP) واحدة من أفضل الطرق التي تنجح في تقليص الذاكرة، وتسريع الروبوت، والحفاظ على دقة القصة في آن واحد، حيث تظل قريبة جداً من المنافسين الأقوياء في تقنيات "الرتب المنخفضة" (low-rank) مع تقديم فوائد كفاءة فريدة. الأمر يشبه إدراك أنك لست بحاجة لحمل الموسوعة بأكملها لتروي قصة؛ بل تحتاج فقط لحمل الفصول الصحيحة، والتأكد من عدم تمزيق الصفحات إلى نصفين.
يواجه الاستنتاج في سياق النصوص الطويلة (Long-context inference) في النماذج اللغوية الكبيرة (LLMs) بشكل متزايد عائقاً يتمثل في متطلبات الذاكرة والحوسبة لذاكرة التخزين المؤقت للمفاتيح والقيم (KV cache). ومع توسع طول السياق، تهيمن ذاكرة KV على استخدام ذاكرة وحدة معالجة الرسومات (GPU) وتكاليف حساب الانتباه (Attention). وبينما يوفر التقليم الهيكلي (Structured pruning) مساراً مباشراً لضغط الذاكرة عبر إزالة القنوات الأقل فائدة من أوزان إسقاط Wk و Wv، فإن الطرق الحالية تواجه عدم توافق حرج مع تضمين الموضع الدوراني (RoPE).
تطبق النماذج اللغوية الكبيرة الحديثة RoPE بعد عمليات إسقاط الاستعلام/المفتاح (Query/Key projections)، حيث تقوم بتدوير أبعاد الميزات في أزواج. وغالباً ما تقوم طرق التقليم لكل قناة (مثل KVPruner) بإزالة قنوات فردية دون مراعاة بنية هذا التزاوج. هذا "التشريد" (Orphaning) لنصف الأزواج يكسر المعاني الدورانية لـ RoPE، مما يؤدي إلى انهيار صامت ولكنه كارثي في دقة النموذج. علاوة على ذلك، فإن طرق تفكيك الرتبة المنخفضة الحالية (مثل SVD-LLM و PaLU) التي تحاول ضغط الأوزان غالباً لا تستطيع دمج مصفوفات التوسيع الخاصة بها مع إسقاط الاستعلام (Wq) بسبب عدم التبادلية بين RoPE وضرب المصفوفات، مما يفرض عملية إعادة بناء مكلفة لكل خطوة من الأبعاد الكاملة لمتجهات المفاتيح (Key vectors) أثناء عملية فك التشفين (Decoding).
2. المنهجية: التقليم المتوافق مع RoPE (RAP)
يقترح المؤلفون RAP، وهو إطار عمل للتقليم الهيكلي مصمم خصياً ليحترم البنية الزوجية التي يفرضها RoPE.
المبدأ الأساسي
بدلاً من تقليم القنوات الفردية، يقيد RAP درجة التقليم لتكون على مستوى الأزواج المتوافقة مع RoPE. ومن خلال إزالة أزواج كاملة من الأبعاد، تضمن الطريقة بقاء عملية الدوران صالحة رياضياً والحفاظ على المعاني الموضعية.
مسار عمل RAP
تسجيل أزواج RoPE:
بالنسبة لأوزان إسقاط المفتاح (Wk)، يتم تجميع الأعمدة في أزواج RoPE وفقاً لاستراتيجية التزاوج الخاصة بالنموذج (سواء كانت متجاورة أو متباعدة نصفياً).
يتم قياس الأهمية باستخدام درجات معلومات فيشر (Fisher information) المحسوبة على مجموعة بيانات معايرة صغيرة. بالنسبة لزوج p=(j,j′)، تكون الدرجة σp هي محصلة جذر مقدار فيشر للقناتين.
بالنسبة لإسقاط القيمة (Wv)، الذي يفتقر إلى تزاوج RoPE، يتم حساب درجات فيشر للقنوات الفردية.
تخصيص الميزانية:
يتم توزيع نسبة الاحتفاظ العالمية ρ عبر الطبقات والرؤوس.
متكيف مع الطبقة (Layer-Adaptive): تُخصص ميزانيات للطبقات بناءً على حساسيتها (إجمالي درجات فيشر)، مما يعطي الطبقات الأكثر حساسية ميزانية أكبر.
موحد للرؤوس (Head-Uniform): داخل الطبقة الواحدة، تتلقى جميع الرؤوس نفس عدد الأزواج المحتفظ بها لتسهيل عمليات GEMM المجمعة.
توازن K/V: لمنع سحق بُعد المفتاح (Key dimension) (الذي يضر بأداء السياق الطويل)، يخصص RAP نفس ميزانية القنوات لكل رأس لكل من K و V. وتحديداً، إذا احتفظ K بـ m من الأزواج، فإن V يحتفظ بـ 2m من القنوات.
البناء والدمج:
يتم إنشاء مصفوفة اختيار ثنائية حافظة للأزواج Ek لتعيين الأزواج المحتفظ بها إلى الفهارس الأصلية.
من المهم أن Ek يحافظ على بنية الزوج، وبالتالي فهو يتبادل (Commutes) مع عملية Roote: Rope(XW~kEk)=Rope(XW~k)Ek.
تسمح هذه التبادلية بدمج قناع التقليم في إسقاط الاستعلام (Query projection) خارجياً: W~q=WqEk⊤.
النتيجة: يعمل النموذج على الأبعاد المقلصة، وتخزن ذاكرة التخزين المؤقت KV فقط المفاتيح الكامنة ذات الأبعاد المنخفضة. لا تتطلب العملية أي إعادة بناء عبر الإنترنت (Online reconstruction).
استعادة الدقة:
لاستعادة الدقة المفقودة أثناء التقليم، يستخدم RAP تحديث LoRA (التكيف منخفض الرتبة) خفيف الوزن مدمج مع تقطير المعرفة (Knowledge Distillation - KD).
يتم تدريب محول LoRA برتبة صغيرة (r=8) على النموذج المقلص لمحاذاة مخرجاته مع نموذج المعلم الكثيف، ثم يتم دمجه قبل النشر.
3. المساهمات الرئيسية
تحديد عدم التوافق مع RoPE: يسلط البحث الضوء على أن تقليم القنوات القياسي يكسر أزواج RoPE، مما يسبب انهياراً في الدقة، وأن هذا الفشل غالباً ما يكون صامتاً (لا توجد أخطاء وقت التشغيل، بل تدهور في الأداء فقط).
استراتيجية التقليم المتوافقة مع RoPE: يقدم RAP درجة تقليم تلتزم بصرامة بأزواج RoPE، مما يضمن بقاء عملية الدوران صالحة دون الحاجة إلى إعادة تدريب معقدة أو إعادة بناء.
فك تشفير خالٍ من إعادة البناء: على عكس طرق تفكيك الرتبة المنخفضة التي يجب أن تعيد بناء المفاتيح كاملة الأبعاد عند كل خطوة فك تشفير، يقوم RAP بدمج قناع التقليم في Wq خارجياً، مما يلغي "ضريبة إعادة البناء" ويقلل من تكاليف الذاكرة والحوسبة.
تقييم شامل: تم تقييم الطريقة عبر عائلات نماذج متعددة (Llama, Mistral, Qwen) ومقاييس مختلفة (من 3B إلى 14B)، مما أظهر متانة عالية.
4. النتائج التجريبية
أُجريت التقييمات تحت إعداد iso-KV (مطابقة نسبة القنوات المحتفظ بها لـ KV ρ) لضمان مقارنة عادلة للجودة والكفاءة.
الدقة مقابل الضغط:
عند نسبة ضغط 30% (ρ=0.7)، يحافظ RAP على دقة قابلة للاستخدام (على سبيل المثال، WikiText-2 PPL ~9.12 لـ Llama-3-8B مقابل 8.28 للنموذج المرجعي)، متفوقاً بشكل كبير على التقليم الأعمى لـ RoPE (مثل KVPruner) الذي يعاني من انهيار هائل في الدقة (PPL ~397).
يحقق RAP أداءً مقارباً أو أفضل من النماذج القوية القائمة على الرتبة المنخفضة (PaLU, SVD-LLM) مع تكاليف انتباه أقل.
مكاسب الكفاءة:
المعلمات و FLOPs: يقلل RAP من معلمات الانتباه وعمليات FLOPs خطياً مع نسبة الاحتفاظ ρ (مثلاً، ~70% عند ρ=0.7). في المقابل، غالباً ما تحتفظ طرق الرتبة المنخفضة بعدد معلمات أعلى بسبب الحاجة إلى عوامل توسيع عبر الإنترنت.
زمن الاستجابة (Latency): يقلل RAP من زمن استجابة مرحلتي التجهيز (Prefill) وفك التشفير (Decode) (مثلاً، 83%/77% من النموذج الكثيف عند ρ=0.7) لأنه يتجنب إعادة البناء في كل خطوة. أما طرق الرتبة المنخفضة فغالباً ما تظهر زيادة في زمن الاستجابة، خاصة أثناء فك التشفير.
المتانة:
يحافظ RAP على الأداء عبر أحجام وهياكل نماذج مختلفة.
هو متوافق وقابل للتركيب مع تكميم الأوزان بـ 4 بت (4-bit weight quantization).
تتعامل الطريقة مع فهرسة RoPE غير المتصلة بكفاءة عبر نواة Triton مخصصة، لتجنب العبء الناتج عن عمليات فهرسة PyTorch القياسية.
5. الأهمية والادعاءات
يزعم البحث أن RAP هو الطريقة الوحيدة التي تحقق في آن واحد:
تقليل حجم ذاكرة التخزين المؤقت KV.
تقليل معلمات النموذج وعمليات FLole الإسقاط.
الحفاظ على دقة عالية عند نسب ضغط عالية.
العمل دون عبء إعادة البناء في كل خطوة.
يؤكد المؤلفون أن RAP هو حل "جاهز للاستخدام" (drop-in) للنماذج القائمة على RoPE. فمن خلال احترام القيود الهيكلية لـ Rotary Position Embedding، فإنه يحل مشكلة "الفشل الصامت" لطرق التقليم الحالية، ويقدم بديلاً أكثر كفاءة لتفكيك الرتبة المنخفضة للاستنتاج في السياقات الطويلة. ويشير العمل إلى أن التوافق الهيكلي مع آليات النموذج (مثل RoBe) أمر بالغ الأهمية لضغط النماذج بفعالية.