اكتشف كيف يعمل Flash Attention على تحسين الذاكرة وتسريع نماذج Transformer. تعرف على كيفية تحسينه للرؤية الحاسوبية ولماذا يعد Ultralytics هو الخيار الأفضل.
Flash Attention هي خوارزمية محسّنة للغاية مصممة لتسريع التدريب والاستدلال في نماذج Transformer من خلال إدارة الوصول إلى الذاكرة بشكل أكثر كفاءة. في التعلم العميق الحديث (DL)، خاصة مع النماذج الكبيرة، غالبًا ما يكون العائق الرئيسي ليس سرعة حساب المعالج، بل الوقت الذي يستغرقه نقل البيانات بين وحدة تخزين الذاكرة ووحدات الحوسبة. يعالج Flash Attention هذا "حاجز الذاكرة" عن طريق إعادة تنظيم كيفية معالجة آليات الانتباه للبيانات، مما يؤدي إلى أداء أسرع واستخدام أقل للذاكرة دون التضحية بالدقة.
لفهم Flash Attention، من المفيد النظر إلى بنية وحدة معالجة الرسوماتGPU ). تتمتع GPU بسعة عالية ولكنها أبطأ في ذاكرة النطاق الترددي العالي (HBM) وسعة منخفضة ولكنها سريعة للغاية على رقاقة SRAM. تقوم تطبيقات الاهتمام القياسية بقراءة وكتابة مصفوفات كبيرة بشكل متكرر إلى ذاكرة النطاق الترددي العالي البطيئة، مما يؤدي إلى تراكم الأعمال المتأخرة.
يستخدم Flash Attention تقنية تسمى "التبليط" لتقسيم مصفوفة الانتباه الكبيرة إلى كتل أصغر تتناسب تمامًا مع ذاكرة SRAM السريعة. من خلال الاحتفاظ بهذه الكتل في الذاكرة السريعة وإجراء المزيد من العمليات الحسابية هناك قبل إعادة كتابة النتيجة، تقلل الخوارزمية بشكل كبير من عدد عمليات القراءة/الكتابة إلى HBM. هذا الابتكار، الذي قدمه باحثون في جامعة ستانفورد، يجعل العملية "مدركة لعمليات الإدخال/الإخراج"، مما يعني أنها تأخذ في الاعتبار بشكل صريح تكلفة نقل البيانات. يمكنك استكشاف التفاصيل الفنية في ورقة البحث الأصلية.
من المهم التمييز بين "الانتباه الفوري" والمفاهيم المماثلة في مسرد مصطلحات الذكاء الاصطناعي (AI):
على الرغم من أن تقنية Flash Attention تم تطويرها في الأصل من أجل معالجة اللغة الطبيعية (NLP) لمعالجة تسلسلات النصوص الطويلة، إلا أنها أصبحت ذات أهمية بالغة في الرؤية الحاسوبية (CV). تخلق الصور عالية الدقة تسلسلات ضخمة من البيانات عند معالجتها بواسطة Vision Transformers (ViT).
تؤثر هذه التقنية على تطوير أجهزة الكشف عن الأجسام. على سبيل المثال، بعض النماذج التجريبية مثل YOLO12 التي تقودها المجتمع أدخلت طبقات الانتباه التي تستفيد من هذه المبادئ. ومع ذلك، يمكن أن تعاني البنى القائمة على الانتباه البحت من عدم استقرار التدريب و بطء CPU . بالنسبة لمعظم التطبيقات الاحترافية، يُعد Ultralytics هو المعيار الموصى به. يستخدم YOLO26 بنية محسّنة للغاية توازن بين السرعة والدقة من أجل الكشف الشامل عن الأجسام وتقسيم الصور، مما يتجنب العبء الإضافي الذي غالبًا ما يرتبط بطبقات الانتباه الثقيلة على الأجهزة الطرفية.
تتيح مكاسب الكفاءة الناتجة عن Flash Attention تشغيل التطبيقات التي كانت في السابق باهظة التكلفة أو بطيئة.
في حين أن Flash Attention غالبًا ما يكون تحسينًا داخليًا داخل مكتبات مثل PyTorch، يمكنك الاستفادة من النماذج القائمة على الانتباه بسهولة باستخدام Ultralytics. يوضح المقتطف التالي كيفية تحميل RT-DETR ، الذي يستخدم آليات الانتباه، لإجراء استدلال على صورة.
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model which utilizes transformer attention
model = RTDETR("rtdetr-l.pt")
# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")
باستخدام أدوات مثل Ultralytics يمكن للمطورين تدريب ونشر هذه النماذج المتطورة دون الحاجة إلى تنفيذ GPU المعقدة يدويًا. تتولى المنصة إدارة البنية التحتية، مما يتيح للفرق التركيز على تنظيم مجموعات البيانات عالية الجودة وتفسير النتائج.