Linear Attention
اكتشف كيف يعمل الانتباه الخطي (linear attention) على تحسين نماذج التعلم العميق من خلال تقليل تعقيد Transformer إلى O(N). تعرّف على كيفية رفع كفاءة التوسع لتطبيقات الذكاء الاصطناعي.
الانتبه الخطي هو تقنية تحسين أساسية مصممة لتحسين الكفاءة الحسابية لنماذج التعلم العميق (DL) الحديثة بشكل جذري. في هندسات المحولات (Transformer) التقليدية، تعالج آليات الانتبه القياسية التسلسل من خلال مقارنة كل رمز مفرد بكل رمز آخر. وهذا يخلق عقبة حسابية وذاكرة شديدة تُعرف بـ تعقيد الوقت التربيعي، أو O(N squared)، حيث N هو طول التسلسل. يُغير الانتبه الخطي هذه العملية الرياضية الأساسية بحيث تتناسب خطياً، أو O(N). يتيح هذا الإنجاز لنماذج الذكاء الاصطناعي (AI) معالجة مجموعات بيانات ضخمة، مثل الكتب الكاملة أو صور جيجابكسل، دون استنفاد ذاكرة الأجهزة.
كيف يعمل الانتباه الخطي#
في الانتبه القياسي، تعالج الشبكات العصبية ثلاثة متجهات رئيسية: الاستعلامات (Queries (Q))، والمفاتيح (Keys (K))، والقيم (Values (V)). تحسب الصيغة الكلاسيكية التشابه بين جميع الاستعلامات والمفاتيح باستخدام دالة softmax، مما يولد مصفوفة ضخمة بحجم N x N قبل ضربها في القيم.
يتجاوز الانتبه الخطي توليد هذه المصفوفة الوسيطة الضخمة. بدلاً من ذلك، يعتمد على خاصية الترابط لضرب المصفوفات. من خلال إسقاط أو تقريب طبقة softmax باستخدام دوال نواة مخصصة، تقوم النموذج بتجميع عملية الضرب بشكل مختلف. فهو يضرب المفاتيح والقيم معاً أولاً لإنشاء مصفوفة سياق بحجم ثابت، ثم يضرب الاستعلامات في هذه المصفوفة المضغوطة الجديدة. يؤدي هذا إعادة الترتيب البسيطة إلى تقليل التعقيد الحسابي بشكل كبير، مما يوفر أجهزة مثل GPU (Graphics Processing Unit) للتعامل مع مدخلات أطول بكثير بشكل أصلي.
التطورات الأخيرة و DeltaNet#
مجتمع أبحاث الذكاء الاصطناعي، بقيادة مؤسسات مثل جامعة ستانفورد (Stanford University) وعمالقة التكنولوجيا مثل Google DeepMind، يبتكر باستمرار في الصياغات الخطية لتعزيز الدقة. في عامي 2024 و2025، قدم الباحثون DeltaNet، وهي هندسة مبتكرة تحستبدل التحديثات الإضافية القياسية في محولات الانتبه الخطي بـ "قاعدة دلتا (Delta Rule)". هذا يمكن الشبكة من تحديث ذاكرتها الداخلية نسبةً لما هو مخزن مسبقاً، بدلاً من حساب القيم المطلقة من الصفر.
التقدم اللاحق، مثل هندسات Gated DeltaNet، يقدم معدلات اضمحلال على مستوى القنوات، مما يتيح للنماذج النسيان أو الاحتفاظ الانتقائي بميزات مفتاحية محددة بمرور الوقت. تسد هذه الابتكارات الفعالة من حيث الأجهزة فجوة الأداء بين محولات الانتبه الخطي وانتبه softmax التقليدي، لا سيما في مهام الاسترجاع المعقدة داخل السياق.
الانتباه الخطي مقابل آليات الانتباه الأخرى#
يعد فهم كيفية اختلاف هذه التقنية عن المفاهيم ذات الصلة داخل عائلة آلية الانتبه (attention mechanism) الأوسع أمراً بالغ الأهمية لمهندسي الذكاء الاصطناعي الذين يحسنون شبكاتهم:
- الانتبه الذاتي (Self-Attention): الآلية الأساسية التي تستخدم مصفوفة softmax الكاملة والمكلفة حسابياً بـ O(N squared) لالتقاط سياق عالمي مثالي.
- انتبه فلاش (Flash Attention): تحسين مدرك لمدخلات ومخرجات الإدخال/الإخراج (IO) يسرع رياضيات الانتبه الذاتي الدقيقة لـ O(N squared) من خلال نقل البيانات بكفاءة بين مستويات ذاكرة GPU. على عكس الانتبه الخطي، لا يغير انتبه فلاش (Flash Attention) الصيغة الرياضية الأساسية.
- الانتبه المتناثر (Sparse Attention): طريقة توفر الذاكرة من خلال إجبار الشبكة على النظر فقط إلى نافذة محلية من الرموز المجاورة، بينما يضغط الانتبه الخطي رياضياً العرض العالمي بأكمله في حالة ثابتة.
تطبيقات العالم الحقيقي#
من خلال كسر حاجز طول التسلسل، يفتح القياس الخطي قدرات قوية عبر مجالات ذكاء اصطناعي متعددة:
- معالجة اللغات الطبيعية (NLP): يمكن لـ نماذج اللغات الكبيرة (LLMs) من منظمات مثل OpenAI استيعاب قواعد بيانات ضخمة أو مستندات قانونية معقدة بسلاسة. يتيح القياس الخطي نوافذ السياق (context windows) الهائلة المطلوبة للاستدلال القوي على المستندات.
- رؤية الكمبيوتر عالية الدقة (Computer Vision (CV)): بالنسبة للمهام المعقدة مثل تحليل الصور الطبية أو تحليل صور الأقمار الصناعية، فإن تسطيح صور جيجابكسل يولد تسلسلات رموز ضخمة. يسمح الانتبه الخطي للنماذج بتنفيذ تجزئة الصور (image segmentation) المفصلة مباشرة على مدخلات عالية الدقة دون الاعتماد على التقليل القوي للدقة الذي يدمر التفاصيل الحيوية.
مثال برمجي#
الأطر الحديثة مثل PyTorch وTensorFlow تجعل تنفيذ هذه المفاهيم الرياضية أمراً مباشراً. أدناه مقتطف برمجي مفاهيمي لـ PyTorch يوضح كيف يغير الانتبه الخطي ترتيب ضرب المصفوفات لتحقيق كفاءة O(N).
import torch
import torch.nn as nn
import torch.nn.functional as F
class SimpleLinearAttention(nn.Module):
def __init__(self, dim):
super().__init__()
self.qkv = nn.Linear(dim, dim * 3)
def forward(self, x):
# x shape: (Batch, Sequence Length, Channels)
q, k, v = self.qkv(x).chunk(3, dim=-1)
# Apply an activation function as a kernel approximation (replaces softmax)
q = F.elu(q) + 1.0
k = F.elu(k) + 1.0
# Associative trick: Multiply Key and Value first (O(N) complexity)
# k^T @ v yields a fixed (Batch, Channels, Channels) matrix
kv_context = torch.matmul(k.transpose(-2, -1), v)
# Multiply Query by the fixed context matrix to get the final output
return torch.matmul(q, kv_context)
# Example: Processing a sequence of 1024 tokens
model = SimpleLinearAttention(dim=64)
dummy_input = torch.randn(1, 1024, 64)
output = model(dummy_input)
print(f"Output shape: {output.shape}")بينما قد تدمج نماذج المجتمع التجريبية طبقات انتبه خطية أو متناثرة مختلفة، إلا أنها غالباً ما تعاني من بطء سرعات CPU أو عدم استقرار التدريب. بالنسبة لعمليات نشر رؤية الكمبيوتر القوية الجاهزة للإنتاج، فإن Ultralytics YOLO26 هو المعيار الموصى به. فهو يتميز بهندسة محسنة للغاية، ومدمجة بالكامل بشكل أصلي والتي تعظيم السرعة والدقة للمهام الحرجة مثل اكتشاف الكائنات (object detection) دون الاعتماد على طبقات انتبه ثقيلة. يمكن للمطورين تعليق مجموعات البيانات بسلاسة، والتدريب، والنشر، ومراقبة هذه النماذج من الدرجة الأولى باستخدام منصة Ultralytics (Ultralytics Platform) الشاملة.






