DeVIT: Low-Power Vision Transformer Acceleration Using Delta Computation
تقدم هذه الورقة البحثية DeVIT، وهي طريقة تسريع منخفضة الطاقة لنماذج Vision Transformers تستغل موضعية القيم في النماذج المكممة لتمكين عملية ضرب المصفوفات بدون استخدام الضرب عبر الحوسبة التفاضلية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تحاول تعليم روبوت فائق الذكاء كيفية التعرف على الصور، مثل رصد قطة فوق شجرة أو سيارة في شارع. للقيام بذلك، نستخدم برامج حاسوبية خاصة تشبه أدمغة البشر تسمى "محولات الرؤية" (Vision Transformers). هذه البرامج قوية للغاية، لكنها وحوش ضخمة وشرهة؛ فهي تحتاج إلى إجراء مليارات العمليات الحسابية الصغيرة في كل مرة تنظر فيها إلى صورة، وتلتهم كميات هائلة من الذاكرة وطاقة البطارية. ولهذا السبب، من الصعب جدًا وضعها على أجهزة صغيرة مثل الهواتف أو الطائرات بدون طيار دون أن تسخن أو تنفد بطاريتها.
لترويض هذه الوحوش الشرهة، حاول العلماء جعل الرياضيات أبسط. إحدى الحيل الشائعة هي "الكمية" (Quantization)، وهي تشبه تقريب الأرقام التي يستخدمها الروبوت. فبدلاً من استخدام أرقام عشرية دقيقة، يستخدم الروبوت مجموعة محدودة من الأعداد الصحيحة فقط، مثل 0، 1، 2، وصولاً إلى 255. هذا يوفر مساحة، لكنه لا يمنع الروبوت من إجراء مليارات عمليات الضرب. ومع ذلك، هناك ميزة خفية لهذا التقريب: نظرًا لأن الروبوت مُجبر على استخدام مجموعة محددة من الأرقام فقط، فإنه ينتهي به الأمر باستخدام نفس الأرقام مرارًا وتكرارًا. الأمر يشبه إذا كان لدى الطاهي خمس مكونات فقط؛ فسيستخدم نفس مرطبان التوابل بشكل متكرر. السؤال الكبير هو: هل يمكننا بناء روبوت يلاحظ أنه على وشك استخدام نفس التوابل مرة أخرى ويتخطى العمل، موفرًا الطاقة في هذه العملية؟
هذا بالضبط ما سعى الباحثون وراءه في مشروع DeVIT (محول الرؤية المرمز بالفرق - Delta-coded Vision Transformer). لقد أدركوا أنه نظرًا لأن "محولات الرؤية" هذه مُجبرة على استخدام مجموعة محدودة من الأرقام، فإن الأوزان (الأرقام التي تخبر الروبوت بما يجب أن يبحث عنه) غالبًا ما تكون متقاربة جدًا في قيمتها. على سبيل المثال، إذا احتاج الروبوت لضرب رقم في 5، ثم في 6، ثم في 7، فهو ليس بحاجة للقيام بثلاث عمليات حسابية منفصلة وصعبة. يمكنه فقط القيام بالأولى، ثم إضافة مقدار ضئيل للرقم التالي، ثم إضافة مقدار ضئيل آخر بعد ذلك.
لقد ابتكر فريق DeVIT طريقة ذكية لتنظيم هذه الأرقام بحيث يمكن للروبوت القيام بخدعة "إضافة القليل" هذه بدلاً من إجراء عمليات ضرب كاملة وثقيلة. إنهم يرتبون الأرقام في خط من الأصغر إلى الأكبر ويخزنون فقط الفرق بينها (الـ "دلتا" أو Delta). إذا كان الفرق صغيرًا، يمكن للروبوت ببساية "إزاحة" الرقم (وهو ما يشبه الضرب في 2 أو 4) ثم إضافته، بدلاً من القيام بعملية ضرب معقدة. وإذا كان الفرق صفرًا (بمعنى أن الرقم هو نفسه الرقم السابق)، فلا يتعين على الروبوت فعل أي شيء على الإطلاق—فهو يعيد استخدام الإجابة السابقة فحسب.
باستخدام هذه الطريقة، أظهر الباحثون أنهم استطاعوا تقليص كمية الرياضيات التي يحتاجها الروبوت إلى 0.53 فقط مما كانت تحتاجه النسخة غير المحسنة. وهذا يعني أن الروبوت يقوم بأقل من نصف العمل! في اختباراتهم، استخدم هذا التصميم الجديد 159.57 نانو جول (nJ) من الطاقة لخطوة حسابية رئيسية واحدة. وهذا أقل بنسبة 5.5% تقريبًا من أفضل طرق "الإزاحة والجمع" الموجودة حاليًا والتي قارنوها بها.
ومع ذلك، هناك عقبة. لجعل هذا يعمل، اضطر الباحثون إلى ترتيب الأرقام وتخزين معلومات إضافية حول مكان انتمائها، وهو ما يستغرق مساحة ذاكرة إضافية قلي بالقدر نفسه. وأيضًا، نظرًا لأنهم يقربون الفروقات، فهناك مقايضة طفيفة في الدقة. في تجاربهم مع نماذج مختلفة، انخفضت الدقة بمقدار ضئيل—أحيانًا يصل إلى 3.11 نقطة مئوية لتصنيف الصور أو 2.53 نقطة mAP لاكتشاف الأشياء. وبينما يعد هذا ثمنًا صغيرًا مقابل توفير الطاقة الهائل، إلا أنه يعني أن الطريقة ليست مثالية لكل حالة على حد حد.
باختًا، DeVIT يشبه إعطاء الروبوت ورقة مرجعية. فبدلاً من إعادة حساب نفس المسائل الرياضية من البداية في كل مرة، ينظر إلى قائمة أرقامه المرتبة، ويرى أن الرقم التالي ليس سوى خطوة صغيرة بعيدة، فيأخذ طريقًا مختصرًا. هذا يجعل الروبوت أسرع وأكثر كفاءة في استهلاك الطاقة، مما يقربنا خطوة أخرى من امتلاك ذكاء اصطناعي قوي يمكنه العمل على الأجهزة اليومية دون استنزاف البطارية.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.