يكتشف "كاشف بالوعات الانتباه" (Attention Sink Detector) الجديد الرموز (tokens) التي تستحوذ على معظم كتلة الانتباه خلال مرحلة التعبئة المسبقة (prefill stage) في عملية استدلال النماذج اللغوية الكبيرة (LLM). وتوضح الأداة أن إزالة رموز "البالوعات" هذه من ذاكرة التخزين المؤقت للمفاتيح والقيم (KV cache) يؤدي إلى شلل أداء النموذج، مما يجعلها ركائز أساسية لضمان استقرار عملية التوليد.
لماذا تهم مرحلة التعبئة المسبقة (prefill stage)
تركز معظم أبحاث النماذج اللغوية الكبيرة (LLM) على حلقة التوليد رمزاً تلو الآخر، ولكن العمل الذي يحدث قبل الرمز الأول — مرحلة التعبئة المسبقة (prefill) — هو ما يحدد مسار كل ما يتبع ذلك. خلال مرحلة التعبئة المسبقة، يعالج النموذج المطالبة (prompt) بأكملها، ويبني ذاكرة KV cache، وينشر الانتباه عبر كل موضع. وبما أن دالة softmax التي تنتج أوزان الانتباه يجب أن يكون مجموعها 1، فلا يمكن للنموذج أن يقول "لا يوجد شيء ذو صلة". بدلاً من ذلك، يقوم بتفريغ كتلة الاحتمالية المتبقية على رمز يسهل الوصول إليه، وعادة ما يكون الرمز الأول في التسلسل. ويصبح هذا الرمز بالوعة انتباه (attention sink).
ما هي بالوعة الانتباه (attention sink) بعبارات بسيطة
في نموذج Transformer، تحسب كل رأس (head) وزناً لكل زوج من الرموز. وعندما ينحرف التوزيع بشكل كبير، قد يحصل رمز واحد على حصة غير متناسبة من وزن الانتباه. هذه الظاهرة ليست خطأً برمجياً؛ بل هي نتيجة لشرط softmax. يعمل الرمز الأول (الذي غالباً ما يكون علامة بداية الجملة) بمثابة "صمام تفريغ" للاحتمالية المتبقية التي لا يمكن تخصيصها في مكان آخر.
المخاطر المتعلقة بإدارة ذاكرة KV-cache
تقوم ذاكرات KV cache بتخزين متجهات المفاتيح والقيم لكل رمز تمت معالجته، مما يتيح عمليات بحث سريعة أثناء التوليد. وفي سيناريوهات السياق الطويل، يقوم الممارسون بتقليم (pruning) الذاكرة المؤقتة للبقاء ضمن حدود ذاكرة وحدة معالجة الرسومات (GPU). ويظهر الكاشف الجديد أن الحذف العشوائي للرموز التي تبدو "غير مهمة" يؤدي أيضاً إلى حذف "البالوعات" التي يعتمد عليها النموذج، مما يتسبب في انهيار الأداء. إن تثبيت رموز البالوعات في الذاكرة المؤقتة يحافظ على التوازن الداخلي للنموذج ويحافظ على استقرار التوليد.
كيف يعمل الكاشف
- Eager attention: يتجاوز التنفيذ النوى السريعة (fast kernels) مثل FlashAttention، التي تدمج مصفوفة الانتباه الكاملة، وبدلاً من ذلك يسجل درجات الانتباه الخام لكل رأس.
- Layer-wide aggregation: يتم حساب متوسط الدرجات عبر جميع الطبقات والرؤوس لإنتاج ملف تعريف واحد لكتلة الانتباه لكل رمز.
- Log-median absolute deviation (MAD): نظرًا لأن أوزان الانتباه منحرفة بشدة نحو اليمين، فإن اختبار المتوسط والانحراف المعياري البسيط قد يصنف التباين الطبيعي كقيم متطرفة. يعمل التحويل اللوغاريتمي للأوزان على تطبيع التوزيع؛ ومن ثم يقوم تطبيق MAD بتمييز الرموز التي تتجاوز كتلة انتباهها الانتشار المعتاد.
اكتشاف فئتين من البالوعات
- True sinks – رمز بداية الجملة (BOS) يمتص باستمرار جزءاً هائلاً من الانتباه، بغض النظر عن محتوى المطالبة (prompt).
- Structural sinks – الرموز التي تنتمي إلى مطالبات مستوى النظام، مثل العلامات المستخدمة في ChatML (
<im_start>,<im_end>)، تشكل مجموعات صغيرة تجذب الانتباه أيضاً. فهي تعمل كحدود منطقية، مما يساعد النموذج على الفصل بين رسائل المستخدم وتعليمات النظام.
وجهة نظر معارضة: هل نحتاج حقاً إلى المصفوفة الخام؟
يشير المؤلف إلى أنه بدون الأرقام الخام، تظل ظاهرة البالوعات مخفية، وأي سياسة لتقليم الذاكرة المؤقتة تعتمد على بيانات غير كاملة تخاطر بزعزعة استقرار النموذج.
ما الذي يجب مراقبته لاحقاً
يعد الكاشف الجزء الثاني من سلسلة مكونة من أربعة أجزاء بدأت بتتبع الإنتروبيا (entropy tracker) لجودة التوليد. وسيقوم الجزء القادم بدمج اكتشاف البالوعات مع فك التشفير التخميني الموجه بالإنتروبيا (entropy-guided speculative decoding). أما الدراسة النهائية فستكون دراسة تجريبية.
الخلاصة: بالوعات الانتباه ليست مجرد سمة غريبة؛ بل هي ركائز هيكلية تحافظ على انضباط توزيع الانتباه في نموذج Transformer أثناء مرحلة التعبئة المسبقة (prefill). إن أي استراتيجية لتقليم ذاكرة KV-cache تتجاهلها ستعرض استقرار النموذج للخطر. إن اكتشاف هذه الرموز والحفاظ عليها هو إجراء وقائي منخفض التكلفة يمكن أن يجعل الاستدلال في السياقات الطويلة موثوقاً وفعالاً في آن واحد.
