Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

وميض انتباه

اكتشف كيف يعمل Flash Attention على تحسين الذاكرة وتسريع نماذج Transformer. تعرف على كيفية تحسينه للرؤية الحاسوبية ولماذا يعد Ultralytics هو الخيار الأفضل.

Flash Attention هي خوارزمية محسّنة للغاية مصممة لتسريع التدريب والاستدلال في نماذج Transformer من خلال إدارة الوصول إلى الذاكرة بشكل أكثر كفاءة. في التعلم العميق الحديث (DL)، خاصة مع النماذج الكبيرة، غالبًا ما يكون العائق الرئيسي ليس سرعة حساب المعالج، بل الوقت الذي يستغرقه نقل البيانات بين وحدة تخزين الذاكرة ووحدات الحوسبة. يعالج Flash Attention هذا "حاجز الذاكرة" عن طريق إعادة تنظيم كيفية معالجة آليات الانتباه للبيانات، مما يؤدي إلى أداء أسرع واستخدام أقل للذاكرة دون التضحية بالدقة.

كيفية عمل الانتباه السريع

لفهم Flash Attention، من المفيد النظر إلى بنية وحدة معالجة الرسوماتGPU ). تتمتع GPU بسعة عالية ولكنها أبطأ في ذاكرة النطاق الترددي العالي (HBM) وسعة منخفضة ولكنها سريعة للغاية على رقاقة SRAM. تقوم تطبيقات الاهتمام القياسية بقراءة وكتابة مصفوفات كبيرة بشكل متكرر إلى ذاكرة النطاق الترددي العالي البطيئة، مما يؤدي إلى تراكم الأعمال المتأخرة.

يستخدم Flash Attention تقنية تسمى "التبليط" لتقسيم مصفوفة الانتباه الكبيرة إلى كتل أصغر تتناسب تمامًا مع ذاكرة SRAM السريعة. من خلال الاحتفاظ بهذه الكتل في الذاكرة السريعة وإجراء المزيد من العمليات الحسابية هناك قبل إعادة كتابة النتيجة، تقلل الخوارزمية بشكل كبير من عدد عمليات القراءة/الكتابة إلى HBM. هذا الابتكار، الذي قدمه باحثون في جامعة ستانفورد، يجعل العملية "مدركة لعمليات الإدخال/الإخراج"، مما يعني أنها تأخذ في الاعتبار بشكل صريح تكلفة نقل البيانات. يمكنك استكشاف التفاصيل الفنية في ورقة البحث الأصلية.

التمييز عن المصطلحات ذات الصلة

من المهم التمييز بين "الانتباه الفوري" والمفاهيم المماثلة في مسرد مصطلحات الذكاء الاصطناعي (AI):

  • الاهتمام القياسي: التنفيذ التقليدي الذي يحسب مصفوفة الاهتمام الكاملة. وهو مطابق رياضيًا لـ Flash Attention في الإخراج، ولكنه غالبًا ما يكون أبطأ ويستهلك الكثير من الذاكرة لأنه لا يحسن أداء إدخال/إخراج الذاكرة.
  • Flash Attention: تحسين دقيق للانتباه القياسي. إنه لا يقارب؛ بل يوفر نفس النتائج الرقمية بالضبط، ولكن بشكل أسرع بكثير.
  • الانتباه المتفرق: تقنية تقريبية تتجاهل بعض الروابط لتوفير طاقة الحوسبة. على عكس الانتباه الفوري، تستبدل طرق الانتباه المتفرق بعض الدقة بالسرعة.

الأهمية في الرؤية الحاسوبية و YOLO

على الرغم من أن تقنية Flash Attention تم تطويرها في الأصل من أجل معالجة اللغة الطبيعية (NLP) لمعالجة تسلسلات النصوص الطويلة، إلا أنها أصبحت ذات أهمية بالغة في الرؤية الحاسوبية (CV). تخلق الصور عالية الدقة تسلسلات ضخمة من البيانات عند معالجتها بواسطة Vision Transformers (ViT).

تؤثر هذه التقنية على تطوير أجهزة الكشف عن الأجسام. على سبيل المثال، بعض النماذج التجريبية مثل YOLO12 التي تقودها المجتمع أدخلت طبقات الانتباه التي تستفيد من هذه المبادئ. ومع ذلك، يمكن أن تعاني البنى القائمة على الانتباه البحت من عدم استقرار التدريب و بطء CPU . بالنسبة لمعظم التطبيقات الاحترافية، يُعد Ultralytics هو المعيار الموصى به. يستخدم YOLO26 بنية محسّنة للغاية توازن بين السرعة والدقة من أجل الكشف الشامل عن الأجسام وتقسيم الصور، مما يتجنب العبء الإضافي الذي غالبًا ما يرتبط بطبقات الانتباه الثقيلة على الأجهزة الطرفية.

تطبيقات واقعية

تتيح مكاسب الكفاءة الناتجة عن Flash Attention تشغيل التطبيقات التي كانت في السابق باهظة التكلفة أو بطيئة.

  1. الذكاء الاصطناعي التوليدي طويل السياق: في عالم نماذج اللغة الكبيرة (LLMs) مثل GPT-4، تسمح تقنية Flash Attention للنموذج "بتذكر" كميات هائلة من المعلومات. وهذا يتيح نافذة سياق ضخمة، مما يسمح للمستخدمين بتحميل كتب كاملة أو قواعد قانونية لتلخيص النصوص دون تعطل النموذج بسبب حدود الذاكرة.
  2. التشخيص الطبي عالي الدقة: في تحليل الصور الطبية، التفاصيل مهمة. يقوم علماء الأمراض بتحليل مسح ضوئي بجودة جيجا بكسل لعينات الأنسجة. تسمح تقنية 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 المعقدة يدويًا. تتولى المنصة إدارة البنية التحتية، مما يتيح للفرق التركيز على تنظيم مجموعات البيانات عالية الجودة وتفسير النتائج.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن