One Vector Is All You Need for O(1) Self-Attention: The Ocean State
تقدم هذه الورقة البحثية "حالة المحيط" (Ocean State)، وهي طريقة تستبدل آلية الانتباه الذاتي القياسية بمتجه مستمر واحد لتحقيق تعقيد حسابي وذاكرة بمستوى O(1)، مع إظهار استقرار فائق في التدريب وعدم وجود أي علامات على النسيان حتى عند 10 ملايين خطوة من السياق.
تعتمد تقنيات الذكاء الاصطناعي الحديثة غالبًا على نوع محدد من البرامج الحاسوبية يسمى "المحول" (Transformer)، والذي أصبح المعيار القياسي لمهام مثل كتابة النصوص، وترجمة اللغات، والإجابة على الأسئلة. تعمل هذه البرامج من خلال النظر في تسلسل من الكلمات وتحديد الكلمة التالية. وللقيام بذلك بدقة، يجب على البرنامج تذكر الكلمات التي رآها بالفعل. في التصميم الحالي، بينما يقرأ البرنامج جملة طويلة أو كتابًا كاملاً، فإنه يحتفظ بقائمة متزايدة من كل كلمة تمت معالجتها حتى الآن. تعمل هذه القائمة كبنك ذاكرة يتوسع مع كل كلمة جديدة. وبينما يعمل هذا بشكل جيد مع النصوص القصيرة، فإنه يصبح عبئًا ثقيلاً بالنسبة للنصوص الطويلة جدًا؛ إذ يجب على الحاسوب باستمرار مسح هذه القائمة المتنامية للعثور على المعلومات ذات الصلة، مما يتطلب قدرًا هائلًا من قوة المعالجة والذاكرة. ومع ازدياد طول النص، تنمو الجهد والوقت اللازمان لقراءته بسرعة أكبر بكثير من النص نفسه، مما يجعل من المستحيل في النهاية معالجة المستندات الطويلة جدًا بكفاءة.
اقترح باحث يدعى يو شويوان طريقة مختلفة للتعامل مع مشكلة الذاكرة هذه. فبدلاً من الاحتفاظ بقائمة متزايدة من كل كلمة، تقترح الطريقة الجديدة الاحتفاظ بمجرد متجه ملخص واحد، وهو ما يسميه المؤلف "حالة المحيط" (ocean state). تخيل هذه الحالة كحاوية واحدة كثيفة تحمل جوهر كل ما قرأه البرنامج حتى الآن. وبينما يقرأ البرنامج كلمة جديدة، فإنه يقوم بتحديث هذه الحاوية الواحدة لتشمل المعلومة الجديدة، مستبدلًا الملخص القديم بآخر جديد. ثم يستخدم البرنامج هذه الحاوية الواحدة للمساعدة في التنبؤ بالكلمة التالية. يغير هذا النهج الرياضيات الأساسية للمشكلة: فبدلاً من نمو الجهد مع طول النص، يظل الجهد ثابتًا بغض النظر عن مدى طول النص. يمكن للبرنامج قراءة مليون كلمة بنفس القدر من العمل لكل كلمة، ويستخدم قدرًا ثابتًا وضئيلًا من الذاكرة بغض النظر عن الطول.
الفكرة الجوهرية وراء هذا العمل هي سؤال بسيط: ماذا لو لم نتخلص من الملخص النهائي للجملة بعد استخدامه للتنبؤ بالكلمة التالية؟ في البرامج القياسية، يتم حساب هذا الملخص ثم التخلص منه. أما الطريقة الجديدة فتحتفظ به، وتعامله كذاكرة مستمرة تتدفق من خطوة إلى أخرى. يقرأ البرنامج الكلمة الحالية وهذا المتجه الملخص الواحد، ويجمعهما معًا، وينتج ملخصًا جديدًا. تتكرر هذه العملية لكل كلمة في النص. والأهم من ذلك، أن البرنامج يتعلم كيفية قراءة وتحديث هذا المتجه الواحد بمفرده تمامًا؛ فلم يخبره أحد بكيفية ضغط المعلومات في مكان واحد، بل تعلم القيام بذلك ببساطة أثناء التدريب لأن التصميم سمح بحدوث ذلك. وقد وجد الباحثون أن هذا المتجه الواحد قادر بشكل مذهل؛ إذ يمكنه حمل معلومات من تسلسل مكون من عشرة ملايين خطوة دون فقدان أي منها. وفي الاختبارات، استطاع البرنامج استدعاء كلمات محددة من بداية تسلسل مكون من عشرة ملايين خطوة بدقة تماثل دقة استدعائها من الخطوات الأولى، دون أي إشارة إلى النسيان.
اختبر الباحثون هذه الفكرة مقابل الطريقة القياسية باستخدام مجموعة كبيرة من البيانات النصية. قاموا بتدريب كلتا النسختين للتنبؤ بالكلمة التالية في جملة. وأظهرت النتائج أن الطريقة الجديدة، التي تستخدم متجهًا واحدًا فقط، تفوقت باستمرار على الطريقة القياسية التي تحتفظ بقائمة متزايدة. لم يكن هذا التفوق محض صدفة، بل ظهر عبر العديد من الإعدادات المختلفة، بما في ذلك أحجام النماذج المختلفة وأطوال النصوص المختلفة. وفي الواقع، كانت الطريقة الجديدة مستقرة للغاية لدرجة أنها استطاعت معالجة تسلسل من عشرة ملايين خطوة دون أي زيادة في الخطأ، في حين كانت الطريقة القياسية ستنفد من الذاكرة أو تستغرق وقتًا مستحيلاً لمعالجة حتى جزء بسيط من ذلك الطول. كما اختبر الباحثون مهمة محددة حيث كان على البرنامج تكرار كلمة بعد تأخير طويل؛ حيث أعادت الطريقة الجديدة الكلمة بفقد قدره 0.0006، بينما فشلت الطريقة القياسية تمامًا.
أحد المخاوف بشأن مثل هذا النوع من الذاكرة المضغوطة هو أنها قد تصبح غير مقروءة أو "ضبابية" بمرور الوقت، مما يؤدي إلى فقدان التفاصيل اللازمة لاتخاذ تنبؤات جيدة. ومع ذلك، أظهرت التجارب العكس تمامًا؛ إذ ظل المتجه الواحد حادًا وواضحًا، وقادرًا على استرجاع معلومات محددة حتى بعد ملايين الخطوات. كما استكشف الباحثون كيفية جعل هذه الطريقة أسرع على الحواسيب الحقيقية. ولأن الطريقة الجديدة تعالج الكلمات واحدة تلو الأخرى في تسلسل صارم، فقد تكون أبطأ في التدريب على آلة واحدة مقارنة بالطريقة القياسية التي يمكنها معالجة العديد من الكلمات في وقت واحد. ولحل هذه المشكلة، طور الباحثون طريقة لتقسيم العمل عبر طبقات مختلفة من البرنامج، مما يسمح بمعالجة خطوات متعددة في آن واحد. هذا التغيير الهندسي قلل بشكل كبير من الوقت اللازم لتدريب النموذج مع الحفاظ على نفس الأداء العالي.
تثبت هذه الدراسة أنه من الممكن بناء نظام يتذكر كمية هائلة من المعلومات باستخدام كمية ثابتة من الذاكرة وقوة المعالجة. لقد أظهر الباحثون أن البرنامج يتعلم تنظيم هذه المعلومات بكفاءة دون أي تعليمات خاصة. وبينما أجريت التجارب الحالية على مجموعة بيانات محددة ومع نماذج صغيرة نسبيًا، وظلت السلوكيات عند الأحجام الواقعية غير مختبرة، إلا أن النتائج تشير إلى أن المبدأ الأساسي قوي. تعمل هذه الطة من خلال إعادة تموضع كيفية تعامل البرنامج مع حالته الداخلية، محولةً الملخص الذي يتم التخلص منه إلى ذاكرة مستمرة. هذا التغيير يلغي التكلفة الهيكلية التي حدت من طول النصوص التي يمكن لأنظمة الذكاء الاصطناعي التعامل معها. وتشير النتائج إلى أنه مع هذا النهج، قد لا تعود قيود طول السياق عائقًا، مما يسمح للأنظمة بقراءة وفهم المستندات من أي حجم بسرعة ودقة ثابتتين.
ملخص تقني: متجه واحد هو كل ما تحتاجه لآلية انتباه O(1): حالة المحيط (The Ocean State)
1. بيان المشكلة
تعاني نماذج "ترانسفورمر" (Transformers) القياسية من قيد هيكلي: تترتب على آلية الانتباه الذاتي تكلفة حوسبة قدرها O(N2) وتتطلب ذاكرة تخزين مؤقت (KV cache) بمقدار O(N) ينمو خطياً مع طول السياق. وبينما تحاول الأعمال الحديثة (مثل RetNet، وRWKV، وMamba، وTitans) التخفيف من حدة ذلك عبر إدخال آليات جديدة مثل الانتباه الخطي، أو البوابات الانتقائية، أو وحدات الذاكرة الخارجية، إلا أنها تغير البنية الأساسية بشكل جوهري. علاوة على ذلك، تتخلص نماذج "ترانسفورمر" القياسية من الحالة المخفية النهائية بعد كل تمريرة أمامية (forward pass)، على الرغم من أنها تحتوي على استيعاب للسياق بأكمله.
تفترض الورقة أن التكلفة O(N2) هي هيكلية في التنفيذ الحالي لآلية الانتباه، وليست متأصلة في مفهوم نمذجة السياق نفسه. وتطرح تساؤلاً: ماذا لو لم تكن الحالة المخفية، التي تستوعب السياق بأكمله، تُهمل بعد كل تمريرة، بل تم الاحتفاظ بها واستخدامها ككائن وحيد للانتباه للرمز (token) التالي؟
2. المنهجية: حالة المحيط (The Ocean State)
يتضمن الحل المقترح، "حالة المحيط"، إعادة تموضع محددتين لبنية "ترانسفورمر" القياسية دون إضافة مكونات جديدة (أي لا توجد بوابات، ولا ذاكرة خارجية).
2.1 الآليات الجوهرية
حالة المحيط (إعادة التموضع 1):
بدلاً من التخلص من الحالة المخفية بعد التمريرة الأمامية، يقوم مخرج معالجة الرمز الحالي باستبدال الحالة المخفية السابقة، والتي تُسمى "حالة المحيط".
آلية الانتباه: يتم حساب الانتباه حصرياً بين الرمز الحالي وحالة المحيط المستمرة (متجه كثيف واحد).
النتائج: يلغي هذا الحاجة إلى ذاكرة التخزين المؤقت للمفاتيح والقيم (KV caches)، والترميزات الموضعية (positional encodings)، والأقنعة السببية (causal masks). يتم تحديث الحالة عبر "التتابع" (استبدال 1:1) بدلاً من التراكم، مما يضمن إعادة ترتيب المعلومات بدلاً من ضغطها أو التخلص منها.
للقراءة فقط: يتم قراءة حالة المحيط بواسطة الرمز الحالي، ولكن لا يتم معالجتها أبداً عبر شبكة التغذية الأمامية (FFN) أو مكدس الطبقات؛ حيث يمر الرمز وحده عبر المكدس.
الانتشار العكسي عبر الزمن للمحيط (Ocean BPTT) (إعادة التموضع 2):
نظرًا لأن حالة المحيط هي متغير متكرر (recurrent variable)، يجب نشر التدرجات عبر الزمن (Backpropagation Through Time - BPTT).
تدفق التدرج: خلال التمريرة الخلفية، يتم حساب تدرج حالة المحيط عند الخطوة t بناءً على الرمز عند الخطوة t. ثم يُضاف هذا التدرج إلى تدرج الحالة المخفية للخطوة t−1.
عامل مسار القراءة: يقوم عامل محدد برسم خريطة لتدرج الرمز عائداً إلى حالة المحيط باستخدام أوزان الانتباه التي تم حفظها من التمريرة الأمامية. فكلما "قرأ" الرمز المحيط بشكل أكبر، زادت قوة إشارة التدرج المرسلة لتحديث تمثيل حالة المحيط.
2.2 التنفيذ الخوارزمي
تتكون دورة التدريب من:
التمريرة الأمامية: ينتبه الرمز t إلى oceant−1. يمر الرمز عبر مكدس الطبقات (الانتباه + FFN). مخرج هذه العملية يستبدل oceant−1 ليصبح oceant.
التمريرة الخلفية: تتدفق التدرجات من الخسارة عند الخطوة t عبر الطبقات. ومن الأهمية بمكان أن تدرج حالة المحيط عند الخطوة t يتراكم عبر الخطوات الزمنية، مما يسمح للأخطاء من الرموز المستقبلية بتحديث تمثيل السياقات الماضية.
2.3 المتغيرات الهندسية
تستكشف الورقة ثلاثة أنظمة تدريب للموازنة بين التكلفة، والوقت، والجودة:
Serial Ocean BPTT (المحيط المتسلسل): نشر كامل للسلسلة الزمنية. أعلى مكاسب في الجودة، وأقل تكلفة حوسبة، ولكن وقت تشغيل (wall-clock time) متسلسل.
Ocean on Framework (المحيط على الإطار البرمجي): يعمل على السلسلة الكاملة باستخدام أطر العمل التلقائية القياسية. يحافظ على كامل مكاسب الجودة مع تحسين معدل الإنتاجية عبر المعالجة بالدفعات (batching).
Ocean Detach (فصل المحيط): يقطع سلسلة التدرج الزمني (لا يوجد BPTT عبر الخطوات). يسمح بالتدريب المتوازي الكامل (مثل "ترانسفورمر" القياسي) ولكنه يضحي بمكاسب الأداء المستمدة من التدرجات الزمنية.
3. المساهمات الرئيسية
إعادة التموضع الهيكلي: يثبت أن الانتباه O(1) والذاكرة O(1) أمر ممكن عبر إعادة استخدام الحالة المخفية المهملة كمتجه "محيط" مستمر، مما يلغي الحاجة إلى ذاكرة التخزين المؤقت (KV caches) والترميزات الموضعية.
القدرة الناشئة: يظهر أن "ترانسفورمر" يمكنه تعلم قراءة واستخراج المعلومات من متجه كثيف واحد دون تعليمات صريحة، بالاعتماد فقط على التدريب من البداية إلى النهاية.
القابلية للتوسع في السياقات القصوى: يثبت أن البنية يمكنها التعامل مع أطوال سياق تصل إلى 10 ملايين خطوة دون تدهور، وهو إنجاز مستحيل على نماذج "ترانسفورمر" القياسية بسبب قيود الذاكرة والحوسبة.
نشر التدرج (Gradient Unrolling): يقدم "Ocean BPTT"، الذي يطبق BPTT القياسي على مخرج مكدس الطبقات الكامل كحالة متكررة، ويحدد هذا كالمصدر الرئيسي لمكاسب الأداء.
4. النتائج التجريبية
أُجريت التجارب على مجموعة بيانات "شكسبير" (على مستوى الحرف والكلمة) باستخدام تنفيذ مخصص بلغة NumPy (بنوع float64) وتم التحقق منه باستخدام PyTorch.
4.1 الأداء وديناميكيات التدريب
التفوق: عبر جميع التكوينات المختبرة (العرض d∈{32,64,128,256}، العمق L∈{2,4,6}، ومختلف أعداد الرؤوس)، تفوق نظام "Ocean Full" باستمرار على "ترانسفورمر" القياسي.
مكسب مستقر: كان الفارق في الأداء (Δ=Lossstd−Lossfull) موجباً ومستقراً (حوالي -0.15 في تقليل الخسارة) عبر الشبكة التجريبية.
مصدر المكسب: المكسب هيكلي في المقام الأول. فعندما يتم فصل السلسلة الزمنية (Ocean Detch)، تنخفض الجودة بشكل كبير، مما يشير إلى أن نشر التدرج الزمني هو العامل الحاسم، وليس مجرد آلية الانتباه نفسها.
4.2 السياق الطويل والذاكرة
عدم النسيان: في اختبار التعبئة المسبقة (prefill) لـ 10 ملايين خطوة، ظلت الخسارة ثابتة (1.532 عند الخطوة 1 مليون مقابل 1.531 عند الخطوة 10 ملايين). لم تظهر حالة المحيط أي علامة على تشبع السعة أو النسيان.
مهمة الصدى (Echo Task): حقق النموذج خسارة تقترب من الصفر (0.0006) في مهمة صدى مع تأخير قدره مليوني خطوة، بينما فشل "ترانسفورمر" القياسي تماماً.
كفاءة الذاكرة: تتطلب حالة المحيط ذاكرة O(1) فقط (متجه واحد ببعد d)، وهي مستقلة عن طول السياق. في المقابل، تتطلب نماذج "ترانسفورمر" القياسية ذاكرة O(N) لذاكرة التخزين المؤقت (KV caches)، وهو ما يصبح غير ممكن عند مقاييس مثل مليون رمز (يتطلب حوالي 1 تيرابايت لنموذج بـ 13 مليار معلمة).
4.3 الاستدلال والتوليد
لا يوجد استقراء (No Extrapolation): يولد المحيط نصاً متماسكاً دون الحاجة إلى استقراء الترميز الموضعي (مثل RoPE أو ALiBi) لأن طول السياق ليس متغيراً مدخلاً لآلية الانتباه.
وقت التشغيل (Wall-Clock Time): بينما تجعل الطبيعة المتسلسلة للتكرار عملية التدريب أبطأ لكل خطوة مقارنة بنماذج "ترانسفورمر" المتوازية، تشير الورقة إلى أن خطوط الأنابيب على مستوى الطبقات (Ocean A-2) يمكن أن تحقق تسريعاً بمقدار 1.9 ضعف في وقت التشغيل، وأن التوازي المتداخل (Ocean A-3) يقدم مكاسب نظرية تصل إلى 103. تؤكد الورقة أن التدريب يتضمن مقايضة ثلاثية بين التكلفة، والوقت، والجودة، حيث يتطلب التنفيذ العملي اختيار أنظمة محددة (مثل Detach للقياس الصناعي، أو Full Chain لجودة الأبحاث).
5. الأهمية والادعاءات
تدعي الورقة ثلاث نقاط رئيسية، حددتها بأنها قابلة للتفنيد:
اتساق التدريب: تتدرب حالة المحيط بنفس شكل منحنى التعلم لنموذج "ترانسفورمر" القياسي، مما يؤكد أنها إعادة تموضع صالحة وليست نموذجاً تعليمياً مختلفاً جوهرياً.
المكسب الشامل: لأي بنية "ترانسفورمر" تحت نفس الظروف، يحقق "المحيط" مكسباً في الأداء (Δ>0).
السعة اللانهائية: مع وجود بُعد كافٍ (d)، لا تظهر حالة المحيط أي حد للسعة، أو نسيان، أو فشل في الاسترجاع، عند أي مقياس يمكن ملاحظته.
تخلص الورقة إلى أن "حالة المحيط" تعالج مبدأ الاستدلال O(1) والتدريب لطوال سياقات غير محدودة، قائلة: "نعتقد أن المبدأ قد حُلَّ". ومن خلال الاعتماد على القدرة الناشئة لـ "ترانسفورمر" لتنظيم المعلومات داخل متجه كثيف واحد، تزيل الطريقة الاختناقات الهيكلية للانتباه التربيعي ونمو الذاكرة الخطي، مما قد يتيح نماذج "ترانسفورمر" صغيرة وشخصية، وروبوتات تشبه البشر ذات حالات معرفية مستمرة. وتؤكد الورقة أن هذه النتائج مشتقة من تجارب "ماذا لو" على مكونات موجودة، مع احترام الخصائص الناشئة للبنية الأصلية، مع الاعتراف بالأسئلة المفتوحة المتعلقة بتكوينات محددة (مثل لماذا يتفوق نظام Detach على النظام القياسي في بعض الحالات).