انتقل إلى المحتوى

مصطلح في خيطين

الانتباه السريع الموفّر للذاكرةFlashAttention

المعنى في سطر

خوارزمية انتباه دقيقة تعيد ترتيب الحسابات لتقليل حركة البيانات بين ذاكرة معالج الرسوم عالية النطاق والذاكرة الداخلية، فتسرّع التدريب دون أي تقريب.

باختصار

الـ FlashAttention خوارزمية انتباه «دقيقة» — أي لا تقرّب النتيجة — تعيد ترتيب الحسابات لتقليل عدد عمليات القراءة والكتابة بين ذاكرة معالج الرسوم عالية النطاق HBM والذاكرة الداخلية السريعة SRAM.

بالتفصيل

الورقة «FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness» لـ تري داو ودانيال فو وستيفانو إرمون وأتري رودرا وكريستوفر ريه تنطلق من ملاحظة مهملة: عنق الزجاجة في الانتباه ليس عدد العمليات الحسابية، بل حركة البيانات في الذاكرة.

الخوارزمية تعتمد ثلاث تقنيات. الأولى «التبليط» tiling: تقسيم حساب الانتباه إلى كتل صغيرة تُعالج داخل الذاكرة السريعة. والثانية «الوعي بالإدخال والإخراج» IO-awareness: تقليل نقل البيانات بين مستويات ذاكرة معالج الرسوم. والثالثة «إعادة الحساب» recomputation: مقايضة حسابات إضافية مقابل وصولات ذاكرة أقل.

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

الأرقام المنشورة: تسريع كلي بنسبة 15٪ على BERT-large بطول 512 رمزًا، وثلاثة أضعاف على GPT-2 بطول ألف رمز، و 2.4 ضعف على مقياس المدى الطويل بين ألف وأربعة آلاف رمز. كما مكّنت الخوارزمية النماذج من تجاوز حدود لم تُتجاوز قبلها: 61.4٪ دقة على تحدي Path-X بطول 16 ألف رمز — أول تجاوز للصدفة — و 63.1٪ على Path-256 بطول 64 ألف رمز.

مثال عملي

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

مصطلحات مرتبطة

آلية الانتباه (Attention Mechanism)، الذاكرة عالية النطاق (HBM)، معالج الرسوم (GPU)، نواة معالج الرسوم (GPU Kernel)، الانتباه المتناثر (Sparse Attention).

المصادر: arXiv — 2022-05-27