اكتشف انتباه الفلاش - طريقة سريعة وفعالة من حيث الذاكرة لتحويل الانتباه إلى محول سريع وفعال يُسرّع من تدريب GPU والاستدلال في الوقت الحقيقي للبرمجة اللغوية العصبية والسيرة الذاتية.
انتباه الفلاش هي خوارزمية متقدمة مصممة لتسريع أداء نماذج المحولات من خلال تحسين كيفية وصول وصول آليات الانتباه إلى الذاكرة على أجهزة الرسومات على أجهزة الرسومات. تم تطويرها لمعالجة الاختناقات الحسابية في التعلم العميق، تزيد هذه الطريقة بشكل كبير من سرعة التدريب و والاستدلال في الوقت الحقيقي دون التضحية بالدقة. من خلال إدارة حركة البيانات بكفاءة أكبر, يسمح الانتباه السريع لنماذج الذكاء الاصطناعي بمعالجة تسلسلات أطول من البيانات، وهو أمر بالغ الأهمية للتطبيقات الحديثة في معالجة اللغات الطبيعية (NLP) والرؤية الحاسوبية عالية الأداء.
يكمن الابتكار الأساسي في "انتباه الفلاش" في "الوعي بالإدخال والإخراج"، مما يعني أنه يأخذ في الحسبان صراحةً تكلفة نقل البيانات بين مستويات مختلفة من الذاكرة على وحدة معالجة الرسومات GPU معالجة الرسومات (وحدة معالجة الرسومات). في في تطبيقات الانتباه القياسية، تتم قراءة المصفوفات الوسيطة الكبيرة بشكل متكرر من GPU) ذات ذات النطاق الترددي العالي (HBM)، وهي ذاكرة واسعة ولكنها بطيئة نسبيًا.
يقوم برنامج "انتباه الفلاش" بإعادة هيكلة هذه العملية باستخدام تقنية تُسمى التبليط. فهي تقسم مصفوفة الانتباه الكبيرة إلى كتل أصغر حجمًا تتناسب تمامًا مع ذاكرة الوصول العشوائي السريعة على الرقاقة (SRAM) الخاصة GPU(ذاكرة الوصول العشوائي الثابتة). من خلال إجراء المزيد من المزيد من العمليات الحسابية داخل SRAM وتقليل عمليات القراءة/الكتابة إلى HBM، فإنه يقلل من عرض النطاق الترددي للذاكرة عنق الزجاجة. تم تقديم هذا المفهوم من قبل باحثين في في جامعة ستانفورد، وتم تفصيله في ورقتهم البحثية عن FlashAttention.
من المهم التمييز بين الانتباه الوميضي والمفهوم العام للانتباه.
في حين أن الانتباه السريع نشأ في مجال البرمجة اللغوية العصبية لـ النماذج اللغوية الكبيرة (LLMs)، فقد أصبح أصبح حيويًا بشكل متزايد لمهام الرؤية. تعتمد البنى الحديثة، مثل محول الرؤية (ViT)، تعتمد بشكل كبير على طبقات الانتباه.
تحتوي بعض النماذج التي يحركها المجتمع، مثل YOLO12، على آليات انتباه متكاملة تستخدم الانتباه السريع للتخفيف من التكلفة الحسابية الباهظة لبنية التكلفة الحسابية الباهظة. ومع ذلك، لا تزال هذه النماذج تعاني من ارتفاع استهلاك الذاكرة وعدم استقرار التدريب. بالنسبة لمعظم حالات الاستخدام العملي, Ultralytics YOLO11 يظل الخيار الموصى به، حيث يوفر توازنًا فائقًا بين السرعة والكفاءة. بالنظر إلى المستقبل، يتم تصميم يتم تصميم YOLO26 القادم لدعم المهام من البداية إلى النهاية المهام ذات البنى المحسّنة التي قد تستفيد من مبادئ الكفاءة المماثلة.
يُمكِّن الانتباه السريع أنظمة الذكاء الاصطناعي من التعامل مع المهام التي كانت في السابق باهظة من الناحية الحسابية.
الأطر الحديثة مثل PyTorch (الإصدار 2.0 والإصدارات الأحدث) قد دمجت فلاش الانتباه مباشرةً في واجهات برمجة التطبيقات الوظيفية الخاصة بها. عند استخدام المكتبات عالية المستوى، يقوم النظام تلقائيًا باختيار النواة الأكثر كفاءة (مثل Flash Attention) إذا كانت الأجهزة تدعمها، كما هو الحال في وحدات معالجة الرسومات NVIDIA Ampere أو Hopper.
يوضح المثال التالي كيف يمكن للمستخدم الاستفادة من هذا النظام البيئي. من خلال تحميل نموذج ونقله إلى جهاز CUDA يطبق إطار العمل الأساسي هذه التحسينات أثناء تدريب النموذج.
import torch
from ultralytics import YOLO
# Ensure PyTorch is using a CUDA device for GPU acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")
# Load the YOLO11 model, which is optimized for efficiency
model = YOLO("yolo11n.pt")
# When training on a compatible GPU with PyTorch 2.0+,
# Flash Attention (SDPA) is utilized automatically for attention layers where applicable.
if device == "cuda":
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
هذا التكامل السلس يعني أن المطورين الذين يستخدمون منصةUltralytics الاستفادة من أحدث تقنيات التسريع دون الحاجة إلى كتابة نواة CUDA المعقدة يدويًا.