رطم EfficientViT: محول رؤية فعال للذاكرة لرؤية كمبيوتر عالية الدقة - Unite.AI
اتصل بنا للحصول على مزيد من المعلومات

الذكاء الاصطناعي

EfficientViT: محول رؤية فعال للذاكرة لرؤية الكمبيوتر عالية الدقة

mm

تم النشر

 on

نظرًا لقدرتها النموذجية العالية، تمتعت نماذج Vision Transformer بقدر كبير من النجاح في الآونة الأخيرة. على الرغم من أدائها، فإن نماذج محولات الرؤية بها عيب رئيسي واحد: براعتها الحسابية الرائعة تأتي بتكاليف حسابية عالية، وهذا هو السبب في أن محولات الرؤية ليست الخيار الأول للتطبيقات في الوقت الفعلي. ولمعالجة هذه المشكلة، أطلق مجموعة من المطورين EfficientViT، وهي عائلة من محولات الرؤية عالية السرعة. 

عند العمل على EfficientViT، لاحظ المطورون أن سرعة نماذج المحولات الحالية غالبًا ما تكون محدودة بعمليات الذاكرة غير الفعالة، وخاصة الوظائف المتعلقة بالعناصر وإعادة تشكيل الموتر في MHSA أو شبكة الانتباه الذاتي متعددة الرؤوس. لمعالجة عمليات الذاكرة غير الفعالة هذه، عمل مطورو EfficientViT على وحدة بناء جديدة باستخدام تخطيط ساندويتش، أي أن نموذج EfficientViT يستخدم شبكة واحدة متعددة الرؤوس ذات انتباه ذاتي مرتبطة بالذاكرة بين طبقات FFN الفعالة التي تساعد في تحسين كفاءة الذاكرة، و كما تعمل على تعزيز التواصل الشامل للقناة. علاوة على ذلك، يكتشف النموذج أيضًا أن خرائط الانتباه غالبًا ما تحتوي على أوجه تشابه عالية عبر الرؤوس مما يؤدي إلى التكرار الحسابي. لمعالجة مشكلة التكرار، يقدم نموذج EfficientViT وحدة اهتمام جماعية متتالية تغذي رؤوس الانتباه بتقسيمات مختلفة للميزة الكاملة. لا تساعد هذه الطريقة في توفير التكاليف الحسابية فحسب، بل تعمل أيضًا على تحسين تنوع الانتباه في النموذج. 

تشير التجارب الشاملة التي تم إجراؤها على نموذج EfficientViT عبر سيناريوهات مختلفة إلى أن أداء EfficientViT يتفوق على النماذج الفعالة الحالية لـ رؤية الكمبيوتر مع إجراء مقايضة جيدة بين الدقة والسرعة. لذلك دعونا نتعمق أكثر ونستكشف نموذج EfficientViT بمزيد من التعمق. 

مقدمة لمحولات الرؤية وEfficientViT

تظل Vision Transformers واحدة من أكثر الأطر شيوعًا في صناعة رؤية الكمبيوتر لأنها توفر أداءً فائقًا وقدرات حسابية عالية. ومع ذلك، مع التحسين المستمر لدقة وأداء نماذج محولات الرؤية، تزداد أيضًا التكاليف التشغيلية والنفقات الحسابية العامة. على سبيل المثال، النماذج الحالية المعروفة بتقديم أداء متطور على مجموعات بيانات ImageNet مثل SwinV2 وV-MoE تستخدم معلمات 3B و14.7B على التوالي. إن الحجم الهائل لهذه النماذج إلى جانب التكاليف والمتطلبات الحسابية يجعلها غير مناسبة عمليًا للأجهزة والتطبيقات في الوقت الفعلي. 

يهدف نموذج EfficientNet إلى استكشاف كيفية تعزيز أداء نماذج محولات الرؤيةوإيجاد المبادئ التي ينطوي عليها تصميم بنيات إطارية فعالة وفعالة قائمة على المحولات. يعتمد نموذج EfficientViT على أطر محولات الرؤية الحالية مثل Swim وDeiT، ويقوم بتحليل ثلاثة عوامل أساسية تؤثر على سرعات تداخل النماذج بما في ذلك تكرار الحساب والوصول إلى الذاكرة واستخدام المعلمات. علاوة على ذلك، يلاحظ النموذج أن سرعة نماذج محولات الرؤية مرتبطة بالذاكرة، مما يعني أن الاستخدام الكامل لقوة الحوسبة في وحدات المعالجة المركزية/وحدات معالجة الرسومات محظور أو مقيد بسبب تأخير الوصول إلى الذاكرة، مما يؤدي إلى تأثير سلبي على سرعة تشغيل المحولات . تعد الوظائف المتعلقة بالعناصر وإعادة تشكيل الموتر في MHSA أو شبكة الانتباه الذاتي متعددة الرؤوس من أكثر العمليات التي لا تتسم بكفاءة الذاكرة. ويلاحظ النموذج أيضًا أن الضبط الأمثل للنسبة بين FFN (شبكة التغذية الأمامية) وMHSA، يمكن أن يساعد في تقليل وقت الوصول إلى الذاكرة بشكل كبير دون التأثير على الأداء. ومع ذلك، يلاحظ النموذج أيضًا بعض التكرار في خرائط الانتباه نتيجة لميل رأس الانتباه إلى تعلم إسقاطات خطية مماثلة. 

النموذج عبارة عن زراعة نهائية للنتائج أثناء العمل البحثي لـ EfficientViT. يتميز الطراز باللون الأسود الجديد مع تخطيط شطيرة يطبق طبقة MHSA واحدة مرتبطة بالذاكرة بين شبكة التغذية الأمامية أو طبقات FFN. هذا النهج لا يقلل فقط من الوقت الذي يستغرقه تنفيذ العمليات المرتبطة بالذاكرة في MHSA، ولكنه أيضًا يجعل العملية بأكملها أكثر كفاءة في الذاكرة من خلال السماح لمزيد من طبقات FFN لتسهيل الاتصال بين القنوات المختلفة. يستخدم النموذج أيضًا وحدة CGA أو Cascaded Group Attention الجديدة التي تهدف إلى جعل الحسابات أكثر فعالية عن طريق تقليل التكرار الحسابي ليس فقط في رؤوس الانتباه، ولكن أيضًا يزيد من عمق الشبكة مما يؤدي إلى زيادة سعة النموذج. أخيرًا، يقوم النموذج بتوسيع عرض القناة لمكونات الشبكة الأساسية بما في ذلك توقعات القيمة، مع تقليص مكونات الشبكة ذات القيمة المنخفضة مثل الأبعاد المخفية في شبكات التغذية الأمامية لإعادة توزيع المعلمات في الإطار. 

كما هو واضح في الصورة أعلاه، يعمل إطار عمل EfficientViT بشكل أفضل من نماذج CNN وViT الحديثة من حيث الدقة والسرعة. ولكن كيف تمكن إطار عمل EfficientViT من التفوق على بعض أحدث أطر العمل الحالية؟ دعونا معرفة ذلك. 

EfficientViT: تحسين كفاءة محولات الرؤية

يهدف نموذج EfficientViT إلى تحسين كفاءة نماذج محولات الرؤية الحالية باستخدام ثلاث وجهات نظر،

  1. التكرار الحسابي. 
  2. الوصول إلى الذاكرة. 
  3. استخدام المعلمة 

يهدف النموذج إلى معرفة مدى تأثير العوامل المذكورة أعلاه على كفاءة نماذج محولات الرؤية، وكيفية حلها لتحقيق نتائج أفضل بكفاءة أفضل. دعونا نتحدث عنهم بمزيد من العمق. 

الوصول إلى الذاكرة وكفاءتها

أحد العوامل الأساسية التي تؤثر على سرعة النموذج هو الوصول إلى الذاكرة العلوية أو ماو. كما هو موضح في الصورة أدناه، فإن العديد من العوامل في المحولات بما في ذلك إضافة العناصر، والتطبيع، وإعادة التشكيل المتكرر هي عمليات غير فعالة للذاكرة، لأنها تتطلب الوصول إلى وحدات ذاكرة مختلفة وهي عملية تستغرق وقتًا طويلاً. 

على الرغم من وجود بعض الطرق الحالية التي يمكنها تبسيط حسابات الاهتمام الذاتي القياسية لـ softmax مثل التقريب منخفض الرتبة والانتباه المتناثر، إلا أنها غالبًا ما توفر تسارعًا محدودًا وتقلل من الدقة. 

من ناحية أخرى، يهدف إطار عمل EfficientViT إلى تقليل تكلفة الوصول إلى الذاكرة عن طريق تقليل كمية الطبقات غير الفعالة للذاكرة في الإطار. يقوم النموذج بتقليص DeiT-T وSwin-T إلى شبكات فرعية صغيرة ذات إنتاجية تداخل أعلى تبلغ 1.25X و1.5X، ويقارن أداء هذه الشبكات الفرعية بنسب طبقات MHSA. كما هو موضح في الصورة أدناه، عند تنفيذ هذا النهج، فإنه يعزز دقة طبقات MHSA بحوالي 20 إلى 40٪. 

كفاءة الحساب

تميل طبقات MHSA إلى دمج تسلسل الإدخال في مساحات فرعية أو رؤوس متعددة، وحساب خرائط الانتباه بشكل فردي، وهو أسلوب معروف بتعزيز الأداء. ومع ذلك، فإن خرائط الانتباه ليست رخيصة من الناحية الحسابية، ولاستكشاف التكاليف الحسابية، يستكشف نموذج EfficientViT كيفية تقليل الانتباه الزائد في نماذج ViT الأصغر. يقيس النموذج الحد الأقصى لتشابه جيب التمام لكل رأس والرؤوس المتبقية داخل كل كتلة من خلال تدريب نماذج DeiT-T وSwim-T ذات العرض المنخفض مع تسريع الاستدلال بمقدار 1.25×. كما يمكن ملاحظته في الصورة أدناه، هناك عدد كبير من التشابه بين رؤوس الانتباه مما يشير إلى أن النموذج ينطوي على تكرار حسابي لأن العديد من الرؤوس تميل إلى تعلم توقعات مماثلة للميزة الكاملة الدقيقة. 

لتشجيع الرؤوس على تعلم أنماط مختلفة، يطبق النموذج حلاً بديهيًا يتم فيه تغذية كل رأس بجزء فقط من الميزة الكاملة، وهي تقنية تشبه فكرة التلافيف المجموعة. يقوم النموذج بتدريب جوانب مختلفة من النماذج المصغرة التي تتميز بطبقات MHSA المعدلة. 

كفاءة المعلمة

ترث نماذج ViT المتوسطة استراتيجيات التصميم الخاصة بها مثل استخدام العرض المكافئ للإسقاطات، وتحديد نسبة التوسع إلى 4 في FFN، وزيادة الرؤوس على المراحل من محولات البرمجة اللغوية العصبية. يجب إعادة تصميم تكوينات هذه المكونات بعناية للوحدات خفيفة الوزن. ينشر نموذج EfficientViT التقليم المنظم لـ Taylor للعثور على المكونات الأساسية في طبقتي Swim-T وDeiT-T تلقائيًا، كما يستكشف أيضًا مبادئ تخصيص المعلمات الأساسية. في ظل قيود معينة على الموارد، تقوم طرق التقليم بإزالة القنوات غير المهمة، وتحتفظ بالقنوات المهمة لضمان أعلى دقة ممكنة. يقارن الشكل أدناه نسبة القنوات إلى تضمينات الإدخال قبل وبعد التقليم في إطار عمل Swin-T. وقد لوحظ أن: دقة خط الأساس: 79.1%؛ دقة التقليم: 76.5%.

تشير الصورة أعلاه إلى أن المرحلتين الأوليين من الإطار تحافظان على أبعاد أكثر، بينما تحافظ المرحلتان الأخيرتان على أبعاد أقل بكثير. قد يعني ذلك أن تكوين القناة النموذجي الذي يضاعف القناة بعد كل مرحلة أو يستخدم قنوات مكافئة لجميع الكتل، قد يؤدي إلى تكرار كبير في الكتل القليلة الأخيرة. 

محول الرؤية الفعال: الهندسة المعمارية

على أساس الدروس التي تم الحصول عليها خلال التحليل أعلاه، عمل المطورون على إنشاء نموذج هرمي جديد يوفر سرعات تداخل سريعة، كفاءة نموذج. دعونا نلقي نظرة مفصلة على هيكل إطار عمل EfficientViT. يمنحك الشكل أدناه فكرة عامة عن إطار عمل EfficientViT. 

اللبنات الأساسية لإطار عمل EfficientViT

يتم توضيح لبنة البناء لشبكة محولات الرؤية الأكثر كفاءة في الشكل أدناه. 

يتكون الإطار من وحدة اهتمام المجموعة المتتالية، وتخطيط الساندويتش الموفر للذاكرة، واستراتيجية إعادة تخصيص المعلمات التي تركز على تحسين كفاءة النموذج من حيث الحساب والذاكرة والمعلمة، على التوالي. دعونا نتحدث عنهم بمزيد من التفصيل. 

تخطيط ساندويتش

يستخدم النموذج تخطيطًا جديدًا للشطيرة لإنشاء كتلة ذاكرة أكثر فعالية وكفاءة لإطار العمل. يستخدم تخطيط الساندويتش طبقات اهتمام ذاتية أقل ارتباطًا بالذاكرة، ويستفيد من شبكات التغذية الأمامية الأكثر كفاءة في الذاكرة للاتصال بالقناة. لكي نكون أكثر تحديدًا، يطبق النموذج طبقة واحدة من الاهتمام الذاتي للخلط المكاني الذي يقع بين طبقات FFN. لا يساعد التصميم فقط في تقليل استهلاك وقت الذاكرة بسبب طبقات الاهتمام الذاتي، ولكنه يسمح أيضًا بالاتصال الفعال بين القنوات المختلفة داخل الشبكة بفضل استخدام طبقات FFN. يطبق النموذج أيضًا طبقة رمز تفاعل إضافية قبل كل طبقة شبكة تغذية للأمام باستخدام DWConv أو Deceptive Convolution، ويعزز قدرة النموذج من خلال تقديم التحيز الاستقرائي للمعلومات الهيكلية المحلية. 

اهتمام المجموعة المتتالية

إحدى المشكلات الرئيسية المتعلقة بطبقات MHSA هي التكرار في رؤوس الانتباه مما يجعل العمليات الحسابية أقل كفاءة. لحل المشكلة، يقترح النموذج CGA أو Cascaded Group Attention لمحولات الرؤية، وهي وحدة انتباه جديدة تستلهم من تلافيفات المجموعة في شبكات CNN الفعالة. في هذا النهج، يغذي النموذج الرؤوس الفردية بتقسيمات للميزات الكاملة، وبالتالي يحلل حساب الانتباه بشكل واضح عبر الرؤوس. يؤدي تقسيم الميزات بدلاً من تغذية الميزات الكاملة لكل رأس إلى حفظ الحساب، ويجعل العملية أكثر كفاءة، ويستمر النموذج في العمل على تحسين الدقة وقدرته بشكل أكبر من خلال تشجيع الطبقات على تعلم الإسقاطات على الميزات التي تحتوي على معلومات أكثر ثراءً. 

إعادة تخصيص المعلمة

لتحسين كفاءة المعلمات، يقوم النموذج بإعادة تخصيص المعلمات في الشبكة عن طريق توسيع عرض قناة الوحدات المهمة مع تقليص عرض القناة للوحدات غير المهمة. بناءً على تحليل تايلور، يقوم النموذج إما بتعيين أبعاد قناة صغيرة للإسقاطات في كل رأس خلال كل مرحلة أو يسمح النموذج للإسقاطات بأن يكون لها نفس بُعد المدخلات. يتم أيضًا تقليل نسبة التوسع في شبكة التغذية الأمامية إلى 2 من 4 للمساعدة في تكرار المعلمات الخاصة بها. تعمل استراتيجية إعادة التخصيص المقترحة التي ينفذها إطار عمل EfficientViT على تخصيص المزيد من القنوات للوحدات المهمة للسماح لها بتعلم التمثيلات في مساحة عالية الأبعاد بشكل أفضل مما يقلل من فقدان معلومات الميزة. علاوة على ذلك، لتسريع عملية التداخل وتعزيز كفاءة النموذج بشكل أكبر، يقوم النموذج تلقائيًا بإزالة المعلمات الزائدة في الوحدات غير المهمة. 

يمكن شرح النظرة العامة على إطار عمل EfficientViT في الصورة أعلاه حيث تظهر الأجزاء،

  1. بنية EfficientViT،
  2. كتلة تخطيط ساندويتش,
  3. اهتمام المجموعة المتتالية.

 

EfficientViT: بنيات الشبكة

تلخص الصورة أعلاه بنية الشبكة لإطار عمل EfficientViT. يقدم النموذج تضمين تصحيح متداخل [20,80] يتضمن تصحيحات 16×16 في رموز البعد C1 التي تعزز قدرة النموذج على الأداء بشكل أفضل في تعلم التمثيل البصري منخفض المستوى. تشتمل بنية النموذج على ثلاث مراحل حيث تقوم كل مرحلة بتكديس اللبنات الأساسية المقترحة لإطار عمل EfficientViT، ويتم تقليل عدد الرموز المميزة في كل طبقة أخذ عينات فرعية (2 × أخذ عينات فرعية من الدقة) بمقدار 4X. ولجعل أخذ العينات الفرعية أكثر كفاءة، يقترح النموذج كتلة عينة فرعية تحتوي أيضًا على تخطيط الساندويتش المقترح باستثناء أن الكتلة المتبقية المقلوبة تحل محل طبقة الانتباه لتقليل فقدان المعلومات أثناء أخذ العينات. علاوة على ذلك، بدلاً من LayerNorm(LN) التقليدي، يستخدم النموذج BatchNorm(BN) لأنه يمكن طي BN في الطبقات الخطية أو التلافيفية السابقة مما يمنحه ميزة وقت التشغيل على LN. 

 

عائلة نماذج EfficientViT

تتكون عائلة نماذج EfficientViT من 6 نماذج ذات مقاييس مختلفة للعمق والعرض، ويتم تخصيص عدد محدد من الرؤوس لكل مرحلة. تستخدم النماذج عددًا أقل من الكتل في المراحل الأولية مقارنةً بالمراحل النهائية، وهي عملية مشابهة لتلك التي يتبعها إطار عمل MobileNetV3 لأن عملية معالجة المرحلة المبكرة بدقة أكبر تستغرق وقتًا طويلاً. يتم زيادة العرض على المراحل مع عامل صغير لتقليل التكرار في المراحل اللاحقة. يوفر الجدول المرفق أدناه التفاصيل المعمارية لعائلة نماذج EfficientViT حيث تشير C وL وH إلى العرض والعمق وعدد الرؤوس في مرحلة معينة. 

EfficientViT: تنفيذ النموذج والنتائج

يبلغ إجمالي حجم الدفعة لنموذج EfficientViT 2,048، وقد تم تصميمه باستخدام Timm & PyTorch، وتم تدريبه من الصفر لمدة 300 فترة باستخدام 8 وحدات معالجة رسومات Nvidia V100، ويستخدم برنامج جدولة معدل تعلم جيب التمام، ومُحسِّن AdamW، ويقوم بإجراء تجربة تصنيف الصور الخاصة به على ImageNet -1K. يتم اقتصاص الصور المدخلة عشوائيًا وتغيير حجمها إلى دقة 224 × 224. بالنسبة للتجارب التي تتضمن تصنيف الصور النهائية، يقوم إطار عمل EfficientViT بضبط النموذج لمدة 300 حقبة، ويستخدم مُحسِّن AdamW بحجم دفعة يبلغ 256. يستخدم النموذج RetineNet للكشف عن الكائنات على COCO، ويستمر في تدريب النماذج لمدة 12 أخرى. العصور مع نفس الإعدادات. 

النتائج على ImageNet

لتحليل أداء EfficientViT، تتم مقارنته بنماذج ViT وCNN الحالية في مجموعة بيانات ImageNet. وترد نتائج المقارنة في الشكل التالي. كما يمكن ملاحظة أن عائلة نماذج EfficientViT تتفوق في الأداء على أطر العمل الحالية في معظم الحالات، وتتمكن من تحقيق المفاضلة المثالية بين السرعة والدقة. 

مقارنة مع شبكات CNN الفعالة وشبكات ViTs الفعالة

يقوم النموذج أولاً بمقارنة أدائه مع شبكات CNN الفعالة مثل EfficientNet وأطر عمل Vanilla CNN مثل MobileNets. كما يمكن ملاحظة أنه عند مقارنتها بأطر عمل MobileNet، تحصل نماذج EfficientViT على درجة دقة أفضل من الدرجة الأولى، بينما تعمل بشكل أسرع 1X و3.0X على Intel CPU وV2.5 GPU على التوالي.  

يقارن الشكل أعلاه أداء نموذج EfficientViT مع أحدث نماذج ViT واسعة النطاق التي تعمل على مجموعة بيانات ImageNet-1K. 

تصنيف الصور المصب

يتم تطبيق نموذج EfficientViT على العديد من المهام النهائية لدراسة قدرات التعلم النقلي للنموذج، وتلخص الصورة أدناه نتائج التجربة. كما يمكن ملاحظته، يتمكن نموذج EfficientViT-M5 من تحقيق نتائج أفضل أو مماثلة عبر جميع مجموعات البيانات مع الحفاظ على إنتاجية أعلى بكثير. الاستثناء الوحيد هو مجموعة بيانات السيارات، حيث يفشل نموذج EfficientViT في تقديم الدقة. 

كشف الكائن

لتحليل قدرة EfficientViT على اكتشاف الكائنات، تتم مقارنتها بالنماذج الفعالة في مهمة اكتشاف الكائنات COCO، وتلخص الصورة أدناه نتائج المقارنة. 

افكار اخيرة

تحدثنا في هذه المقالة عن EfficientViT، وهي عائلة من نماذج محولات الرؤية السريعة التي تستخدم انتباه المجموعة المتتالي، وتوفر عمليات فعالة في الذاكرة. أظهرت التجارب الموسعة التي أجريت لتحليل أداء EfficientViT نتائج واعدة حيث يتفوق نموذج EfficientViT على نماذج CNN ومحولات الرؤية الحالية في معظم الحالات. لقد حاولنا أيضًا تقديم تحليل للعوامل التي تلعب دورًا في التأثير على سرعة تداخل محولات الرؤية. 

"مهندس بالمهنة كاتب عن ظهر قلب". كونال كاتب تقني لديه حب وفهم عميقان للذكاء الاصطناعي والتعلم الآلي ، مكرس لتبسيط المفاهيم المعقدة في هذه المجالات من خلال وثائقه الجذابة والغنية بالمعلومات.