Linear Attention
اكتشف كيف يعمل الانتباه الخطي (linear attention) على تحسين نماذج التعلم العميق من خلال تقليل تعقيد Transformer إلى O(N). تعرّف على كيفية رفع كفاءة التوسع لتطبيقات الذكاء الاصطناعي.
يُعد الانتباه الخطي تقنية تحسين أساسية مصممة لتحسين الكفاءة الحسابية لنماذج التعلم العميق (DL) الحديثة بشكل جذري. في معماريات Transformer التقليدية، تعالج آليات الانتباه القياسية التسلسلات عبر مقارنة كل رمز (token) بجميع الرموز الأخرى. وهذا يخلق عنق زجاجة حادًا في الحوسبة والذاكرة يُعرف باسم التعقيد الزمني التربيعي، أو O(N تربيع)، حيث N هو طول التسلسل. يغير الانتباه الخطي هذه العملية الرياضية الكامنة بحيث تصبح ذات مقياس خطي، أو O(N). تتيح هذه الطفرة لنماذج الذكاء الاصطناعي (AI) معالجة مجموعات بيانات ضخمة، مثل كتب كاملة أو صور بدقة جيجابكسل، دون استنزاف ذاكرة العتاد.
Link to this sectionكيف يعمل الانتباه الخطي#
في الانتباه القياسي، تعالج الشبكات العصبية ثلاثة متجهات رئيسية: الاستعلامات (Queries (Q))، والمفاتيح (Keys (K))، والقيم (Values (V)). تحسب الصيغة الكلاسيكية التشابه بين جميع الاستعلامات والمفاتيح باستخدام دالة softmax، مما يولد مصفوفة ضخمة بحجم N x N قبل ضربها في القيم.
يتجاوز الانتباه الخطي إنشاء هذه المصفوفة الوسيطة الضخمة. وبدلاً من ذلك، يعتمد على خاصية التجميع لضرب المصفوفات. من خلال إسقاط أو تقريب طبقة softmax باستخدام دوال نواة متخصصة، يقوم النموذج بتجميع الضرب بشكل مختلف. فهو يضرب المفاتيح والقيم معًا أولاً لإنشاء مصفوفة سياق ذات حجم ثابت، ثم يضرب الاستعلامات في هذه المصفوفة المضغوطة الجديدة. هذا الترتيب البسيط يقلل من التعقيد الحسابي بشكل كبير، مما يفرغ عتادًا مثل GPU (وحدة معالجة الرسومات) للتعامل مع مدخلات أطول بكثير بشكل أصلي.
Link to this sectionالتطورات الأخيرة و DeltaNet#
يواصل مجتمع أبحاث الذكاء الاصطناعي، بقيادة مؤسسات مثل جامعة ستانفورد وعمالقة التكنولوجيا مثل Google DeepMind، الابتكار في الصيغ الخطية لتعزيز الدقة. في عامي 2024 و 2025، قدم الباحثون DeltaNet، وهي معمارية جديدة تحل محل التحديثات الإضافية القياسية في محولات الانتباه الخطية بـ "قاعدة دلتا" (Delta Rule). وهذا يمكّن الشبكة من تحديث ذاكرتها الداخلية بالنسبة لما هو مخزن بالفعل، بدلاً من حساب قيم مطلقة من الصفر.
تقدم التطورات اللاحقة، مثل معماريات Gated DeltaNet، معدلات تلاشٍ خاصة بالقنوات، مما يتيح للنماذج نسيان أو الاحتفاظ بميزات رئيسية محددة بمرور الوقت بشكل انتقائي. تسد هذه الابتكارات الموفرة للعتاد الفجوة في الأداء بين المحولات الخطية وانتباه softmax التقليدي، وتحديداً في مهام الاسترجاع المعقدة ضمن السياق.
Link to this sectionالانتباه الخطي مقابل آليات الانتباه الأخرى#
إن فهم كيفية اختلاف هذه التقنية عن المفاهيم ذات الصلة ضمن عائلة آلية الانتباه الأوسع أمر بالغ الأهمية لمهندسي الذكاء الاصطناعي الذين يعملون على تحسين شبكاتهم:
- الانتباه الذاتي (Self-Attention): الآلية الأساسية التي تستخدم مصفوفة softmax الكاملة والمكلفة حسابياً (O(N تربيع)) لالتقاط سياق عالمي مثالي.
- Flash Attention: تحسين يراعي عمليات الإدخال والإخراج (IO-aware) يسرع رياضيات الانتباه الذاتي الدقيقة (O(N تربيع)) عن طريق نقل البيانات بكفاءة بين مستويات ذاكرة GPU. على عكس الانتباه الخطي، لا يغير Flash Attention الصيغة الرياضية الأساسية.
- الانتباه المتناثر (Sparse Attention): طريقة توفر الذاكرة من خلال إجبار الشبكة على النظر فقط إلى نافذة محلية من الرموز المجاورة، في حين يقوم الانتباه الخطي بضغط الرؤية العالمية بأكملها رياضياً في حالة ثابتة.
Link to this sectionتطبيقات العالم الحقيقي#
من خلال كسر حاجز طول التسلسل، يفتح القياس الخطي قدرات قوية عبر مجالات ذكاء اصطناعي متعددة:
- معالجة اللغات الطبيعية (NLP): يمكن لـ نماذج اللغات الكبيرة (LLMs) من منظمات مثل OpenAI استيعاب قواعد بيانات برمجية واسعة أو مستندات قانونية معقدة بسلاسة. يسمح القياس الخطي بـ نوافذ سياق ضخمة مطلوبة للاستدلال القوي على المستندات.
- الرؤية الحاسوبية (CV) عالية الدقة: بالنسبة للمهام المعقدة مثل تحليل الصور الطبية أو تحليل صور الأقمار الصناعية، يولد تسطيح صور الجيجابكسل تسلسلات رموز ضخمة. يسمح الانتباه الخطي للنماذج بتنفيذ تجزئة الصور التفصيلية مباشرة على مدخلات عالية الدقة دون الاعتماد على تصغير الحجم القوي الذي يدمر التفاصيل الحيوية.
Link to this sectionمثال برمجي#
تجعل الأطر الحديثة مثل 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 هو المعيار الموصى به. فهو يتميز بمعمارية محسنة للغاية ومن الطرف إلى الطرف (end-to-end) تزيد من السرعة والدقة للمهام الحرجة مثل اكتشاف الكائنات دون الاعتماد على طبقات انتباه ثقيلة. يمكن للمطورين تعليق مجموعات البيانات وتدريب النماذج ونشرها ومراقبتها بسلاسة باستخدام منصة Ultralytics الشاملة.






