تشكل آلية الانتباه عنصرًا أساسيًا في بنية المحولات التي تدعم نماذج اللغة الكبيرة (LLMs). ومع توسع هذه النماذج في إدارة تسلسلات الإدخال الأطول، تصبح تكلفة حساب الانتباه عقبة كبيرة.
لمعالجة هذه المشكلة، قدم فريق تعاوني من Colfax Research وMeta وNvidia وGeorgia Tech وجامعة برينستون وTogether AI تقنية FlashAttention-3. هذه التقنية المتطورة تسرع بشكل كبير حساب الانتباه على وحدات معالجة الرسوميات Nvidia Hopper (H100 وH800).
فهم تحديات حساب الانتباه في LLMs
تتيح آلية الانتباه في نموذج المحولات تقييم العلاقات بين الرموز المختلفة داخل تسلسل الإدخال. وعلى الرغم من فعاليتها، إلا أن هذه الآلية تتطلب موارد حسابية كبيرة. ومع زيادة طول تسلسلات الإدخال، تزداد تكلفة حساب الانتباه بشكل متزايد، مما يؤدي إلى عقبات خطيرة في توسيع نطاق LLMs.
علاوة على ذلك، تم تحسين وحدات معالجة الرسوميات الحديثة بشكل أساسي لعمليات ضرب المصفوفات، جوهر التعلم العميق. العمليات الأخرى، مثل الأس، تكون أبطأ بكثير، مما يؤدي إلى تفاقم مشاكل الأداء. يمكن أن تصبح حسابات الانتباه محصورة نتيجة لارتفاع تكاليف العمليات الأكثر تعقيدًا، مثل وظيفة softmax لتحقيق وزن الانتباه، مما يجعل جدولة الأحمال العمل بفعالية أمراً بالغ الأهمية لتجنب النزاعات التشغيلية واستغلال موارد الذاكرة بكفاءة.
تعزيز استغلال موارد الأجهزة مع FlashAttention
تمت معالجة عدم كفاءة حساب الانتباه من خلال تقنية FlashAttention التي أُطلقت في عام 2022، حيث تم تقليل انتقالات الذاكرة بين الذاكرة عالية النطاق (HBM) والذاكرة العشوائية الثابتة (SRAM) على وحدات معالجة الرسوميات. من خلال معالجة أوزان الانتباه في مجموعات أصغر أو "بلاطات"، حسنت FlashAttention الكفاءة، مما سمح لنماذج اللغة الكبيرة بتوسيع نوافذ سياقها من الآلاف إلى ملايين الرموز المحتملة.
ومع تقدم قدرات الأجهزة، زادت الحاجة إلى تحسينات إضافية. وتعتبر FlashAttention-2، التي تم تقديمها في عام 2023، تحسنًا في استغلال موارد وحدات معالجة الرسوميات، حيث حققت 70% من الأداء الأقصى على وحدات معالجة الرسوميات Nvidia A100، لكنها استخدمت فقط 35% من قدرات H100.
ابتكارات FlashAttention-3
تستفيد FlashAttention-3 من الميزات الجديدة لوحدات معالجة الرسوميات Nvidia Hopper لتعزيز الأداء، بما في ذلك زيادة الإنتاجية لعمليات ضرب المصفوفات ونقل البيانات بسرعة عبر أجزاء الذاكرة. وهذا يتيح كفاءة أفضل مع العمليات ذات الدقة المنخفضة.
تشمل الابتكارات الرئيسية في FlashAttention-3:
1. جدولة محسّنة: تنظيم العمليات لتعظيم تداخل حساب البيانات وحركتها، مما يقلل وقت وحدة معالجة الرسوميات الخامل.
2. تشغيل متداخل سلس: من خلال دمج عمليات ضرب المصفوفات وsoftmax، تقلل FlashAttention-3 من العقبات المحتملة.
3. أداء محسّن للنماذج الكمية: ترتيبات خاصة في العمليات تضمن حسابات أسرع وأكثر دقة، حتى عند استخدام تمثيلات منخفضة البت لتقليل أحجام النماذج.
تشير الأبحاث إلى أن FlashAttention-3 يمكن أن تستخدم حتى 75% من الأداء الأقصى لوحدة معالجة الرسوميات H100، مما يوفر تسريعًا بمعدل بين 1.5 إلى 2 مرة مقارنة بالإصدارات السابقة من FlashAttention لتدريب ونشر LLMs.
فوائد FlashAttention-3
يوفر تسريع حساب الانتباه الذي تقدمه FlashAttention-3 آثارًا عميقة لتطوير واستخدام نماذج اللغة الكبيرة:
- تسريع التدريب: يمكن أن تؤدي الكفاءة المعززة إلى تقليل أوقات التدريب بشكل كبير، مما يسمح للباحثين باستكشاف نماذج ومجموعات بيانات أكبر.
- توسيع نوافذ السياق: من خلال تمكين المعالجة الفعالة لتسلسلات أطول، تفتح FlashAttention-3 آفاق جديدة لتطبيقات LLM، مثل فهم المستندات الطويلة وتعلم السياق خلال العديد من المرات.
- كفاءة التكلفة: يمكن أن يؤدي استخدام وحدات معالجة الرسوميات بشكل أكبر إلى تقليل عدد المعالجات المطلوبة لعمليات LLM، مما يقلل في النهاية من تكاليف الإنتاج.
تمت إتاحة FlashAttention-3 كمصدر مفتوح بموجب ترخيص مرن، مع خطط للدمج في مكتبات التعلم العميق الشائعة مثل PyTorch وHugging Face Transformers. يهدف هذا إلى تيسير استفادة الباحثين والمطورين من تقدم FlashAttention-3. كما أشار الباحثون في منشور مدونة Together AI، "تصميم الخوارزميات التي تستفيد من ميزات الأجهزة يمكن أن يؤدي إلى تحسينات كبيرة في الكفاءة وفتح إمكانيات جديدة للنماذج". وهم يتطلعون إلى مزيد من التحسينات في استنتاج LLM وتطبيق تقنياتهم عبر بنى الأجهزة المختلفة.