Attention Sinks
رموز احتجاز الانتباه هي رموز، عادةً الأولى، تمتص وزن الانتباه الفائض؛ ويؤدي تخزينها مؤقتًا إلى الحفاظ على استقرار نماذج اللغة الكبيرة (LLMs) عبر تدفقات طويلة جدًا.
مغناطيس الانتباه هو رمز يستحوذ على حصة كبيرة من أوزان الانتباه في كثير من الرؤوس والطبقات رغم أن محتواه لا صلة له بالاستعلام، وغالباً ما يكون الرمز الأول في التسلسل. وأطلق غوانغشوان شياو وزملاؤه في MIT وMeta AI وجامعة كارنيجي ميلون هذا الاسم على الظاهرة في بحث نماذج لغوية فعّالة للبث المستمر باستخدام مغناطيسات الانتباه، المنشور في ICLR 2024. وأظهروا أن النماذج اللغوية الكبيرة (LLMs) مثل Llama 2 وMPT وFalcon وPythia تتعطل عندما تُخرج ذاكرة التخزين المؤقت المنزلقة لـالمفاتيح والقيم (KV) الرموز الأولى، وأن الاحتفاظ بأربعة منها يعيد استقرار التوليد.
سبب تشكّل مغناطيسات الانتباه#
يحوّل الانتباه الذاتي درجات كل استعلام إلى أوزان باستخدام سوفت ماكس، ويكون مجموع هذه الأوزان واحداً دائماً. وعندما لا يكون أي رمز في السياق ذا صلة برأس ما، فلا بد أن تذهب الأوزان إلى مكان ما. وفي نموذج لغوي سببي، تكون الرموز الأولى مرئية لكل رمز لاحق، لذا يجعلها التدريب الوجهة الافتراضية للأوزان التي لا يحتاج إليها الرأس. وفي تحليل StreamingLLM لنموذج Llama 2، ركّزت كل طبقة تتجاوز الطبقتين السفليتين الانتباه على الرموز الأولية عبر جميع الرؤوس. وتوضح إضافة قيمة لوغاريتمية لمغناطيس الانتباه إلى سوفت ماكس هذا الأثر:
import torch
torch.manual_seed(0)
values = torch.randn(6, 4)
# A query that matches none of the 6 tokens: every score is close to zero
scores = torch.tensor([0.1, -0.2, 0.0, 0.2, -0.1, 0.0])
# Softmax must hand out a total weight of 1, so the output mixes all six values
weights = scores.softmax(dim=-1)
print(f"No sink: weight on tokens {weights.sum():.2f}, output norm {(weights @ values).norm():.2f}")
# A sink logit joins the softmax but carries no value, so it absorbs the spare weight
sink = torch.tensor([3.0])
weights = torch.cat([sink, scores]).softmax(dim=-1)[1:]
print(f"With sink: weight on tokens {weights.sum():.2f}, output norm {(weights @ values).norm():.2f}")من دون مغناطيس انتباه، يوزّع الرأس كامل وزنه على ست قيم غير ذات صلة، ويُخرج قيمة معيارها 0.83. ومع قيمة لوغاريتمية للمغناطيس تساوي 3، يستحوذ المغناطيس على 77% من الوزن وتنخفض قيمة المخرج إلى 0.19، لذا لا يكاد الرأس يفعل شيئاً لهذا الاستعلام. وتضمّن نماذج gpt-oss ذات الأوزان المفتوحة من OpenAI هذه الآلية عبر قيمة لوغاريتمية متعلّمة لمغناطيس الانتباه لكل رأس، ما يتيح لكل رأس مكاناً للأوزان الزائدة التي لا تضيف شيئاً إلى مخرجاته.
التوليد المتدفق باستخدام StreamingLLM#
يتجاوز النموذج الذي يولّد إلى ما لا نهاية أي نافذة سياق، ولا يستطيع الاحتفاظ بكل رمز في ذاكرة KV المؤقتة؛ كما يفشل انتباه النافذة العادي، الذي لا يحتفظ إلا بالرموز الأحدث، فور خروج الرموز الأولى منها. ويحتفظ StreamingLLM بمفاتيح وقيم أربعة رموز أولية إلى الأبد بجوار نافذة متحركة من الرموز الحديثة، ويحدد المواضع حسب مكان الرمز في الذاكرة المؤقتة لا في النص الأصلي، مع إعادة تطبيق تضمينات الموضع الدوّارة (RoPE) في كل خطوة:
حافظت هذه الطريقة على استقرار نمذجة اللغة لأكثر من 4 ملايين رمز، وكانت أسرع حتى 22.2 مرة من نافذة منزلقة تعيد حساب الذاكرة المؤقتة لكل رمز جديد. ومع ذلك، تظل النافذة تحدّ ما يستطيع النموذج تذكّره: فالرموز التي تُخرج من الوسط تضيع نهائياً، لذلك لا يتذكر روبوت الدردشة أو وكيل الذكاء الاصطناعي المتدفق إلا أحدث تبادلاته. كما درّب المؤلفون نماذج مسبقاً باستخدام رمز نائب واحد قابل للتعلّم ومخصّص في بداية كل عينة، وقد تولّى هذا الرمز دور مغناطيس الانتباه من تلقاء نفسه.
مغناطيسات الانتباه والمصطلحات ذات الصلة#
- انتباه النافذة المنزلقة: يقصر كل رمز على جيرانه الأحدث. وعند تطبيقه وقت الاستدلال على نموذج دُرّب بانتباه كامل، فإنه يفشل بمجرد خروج مغناطيسات الانتباه من النافذة.
- تدهور السياق: انخفاض الدقة مع ازدياد طول الموجّه ما دام ضمن نافذة السياق.
مغناطيسات الانتباه في نماذج الرؤية#
تُظهر محولات الرؤية (ViTs) سلوكاً ذا صلة. ففي محولات الرؤية تحتاج إلى سجلات، وجد باحثون من Meta وInria رموزاً ذات معايير كبيرة على نحو غير معتاد في رقع الخلفية منخفضة المعلومات ضمن محولات الرؤية الخاضعة للإشراف وذاتية الإشراف، وقد أُعيد توظيفها لإجراء حوسبة داخلية. وأدى إضافة بضعة رموز تسجيل إلى المدخلات إلى استيعاب هذا الدور وإزالة التشوهات من خرائط السمات وخرائط الانتباه وتحسين التنبؤ الكثيف.
توزّع SAM 2 من Meta، الذي يعمل ضمن حزمة Ultralytics، ذاكرة الفيديو وفق خطة مشابهة تحتفظ بنقطة ارتكاز ونافذة: ففي كل إطار جديد، يقرأ انتباه الذاكرة مدخلات بنك الذاكرة الخاصة بالإطارات التي وجّهها المستخدم، والمحتفظ بها طوال الفيديو، إضافةً إلى مدخلات أحدث 6 إطارات، ما يجعل كلفة الانتباه لكل إطار ثابتة مهما طال الفيديو.










