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

وميض انتباه

اكتشف انتباه الفلاش - طريقة سريعة وفعالة من حيث الذاكرة لتحويل الانتباه إلى محول سريع وفعال يُسرّع من تدريب GPU والاستدلال في الوقت الحقيقي للبرمجة اللغوية العصبية والسيرة الذاتية.

انتباه الفلاش هي خوارزمية متقدمة مصممة لتسريع أداء نماذج المحولات من خلال تحسين كيفية وصول وصول آليات الانتباه إلى الذاكرة على أجهزة الرسومات على أجهزة الرسومات. تم تطويرها لمعالجة الاختناقات الحسابية في التعلم العميق، تزيد هذه الطريقة بشكل كبير من سرعة التدريب و والاستدلال في الوقت الحقيقي دون التضحية بالدقة. من خلال إدارة حركة البيانات بكفاءة أكبر, يسمح الانتباه السريع لنماذج الذكاء الاصطناعي بمعالجة تسلسلات أطول من البيانات، وهو أمر بالغ الأهمية للتطبيقات الحديثة في معالجة اللغات الطبيعية (NLP) والرؤية الحاسوبية عالية الأداء.

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

يكمن الابتكار الأساسي في "انتباه الفلاش" في "الوعي بالإدخال والإخراج"، مما يعني أنه يأخذ في الحسبان صراحةً تكلفة نقل البيانات بين مستويات مختلفة من الذاكرة على وحدة معالجة الرسومات GPU معالجة الرسومات (وحدة معالجة الرسومات). في في تطبيقات الانتباه القياسية، تتم قراءة المصفوفات الوسيطة الكبيرة بشكل متكرر من GPU) ذات ذات النطاق الترددي العالي (HBM)، وهي ذاكرة واسعة ولكنها بطيئة نسبيًا.

يقوم برنامج "انتباه الفلاش" بإعادة هيكلة هذه العملية باستخدام تقنية تُسمى التبليط. فهي تقسم مصفوفة الانتباه الكبيرة إلى كتل أصغر حجمًا تتناسب تمامًا مع ذاكرة الوصول العشوائي السريعة على الرقاقة (SRAM) الخاصة GPU(ذاكرة الوصول العشوائي الثابتة). من خلال إجراء المزيد من المزيد من العمليات الحسابية داخل SRAM وتقليل عمليات القراءة/الكتابة إلى HBM، فإنه يقلل من عرض النطاق الترددي للذاكرة عنق الزجاجة. تم تقديم هذا المفهوم من قبل باحثين في في جامعة ستانفورد، وتم تفصيله في ورقتهم البحثية عن FlashAttention.

الاختلافات الرئيسية عن الانتباه القياسي

من المهم التمييز بين الانتباه الوميضي والمفهوم العام للانتباه.

  • الانتباه القياسي: يشير إلى العملية الرياضية حيث يوازن النموذج بين أهمية عناصر الإدخال المختلفة. غالبًا ما تكون التطبيقات التقليدية مرتبطة بالذاكرة، مما يعني أنها تقضي وقتًا أطول في نقل البيانات أكثر من الحوسبة.
  • انتباه فلاش: هو تطبيق لنفس المنطق الرياضي بالضبط. ينتج مخرجات عددية مطابقة للانتباه القياسي ولكنه يقوم بذلك بشكل أسرع بكثير.
  • طرق التقريب: على عكس الانتباه المتناثر أو التقريبات منخفضة الرتبة التي تقايض الدقة مقابل السرعة، فإن الانتباه السريع هو خوارزمية دقيقة، تحافظ على الدقة الكاملة للنموذج.

الملاءمة في نماذج الرؤية الحاسوبية

في حين أن الانتباه السريع نشأ في مجال البرمجة اللغوية العصبية لـ النماذج اللغوية الكبيرة (LLMs)، فقد أصبح أصبح حيويًا بشكل متزايد لمهام الرؤية. تعتمد البنى الحديثة، مثل محول الرؤية (ViT)، تعتمد بشكل كبير على طبقات الانتباه.

تحتوي بعض النماذج التي يحركها المجتمع، مثل YOLO12، على آليات انتباه متكاملة تستخدم الانتباه السريع للتخفيف من التكلفة الحسابية الباهظة لبنية التكلفة الحسابية الباهظة. ومع ذلك، لا تزال هذه النماذج تعاني من ارتفاع استهلاك الذاكرة وعدم استقرار التدريب. بالنسبة لمعظم حالات الاستخدام العملي, Ultralytics YOLO11 يظل الخيار الموصى به، حيث يوفر توازنًا فائقًا بين السرعة والكفاءة. بالنظر إلى المستقبل، يتم تصميم يتم تصميم YOLO26 القادم لدعم المهام من البداية إلى النهاية المهام ذات البنى المحسّنة التي قد تستفيد من مبادئ الكفاءة المماثلة.

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

يُمكِّن الانتباه السريع أنظمة الذكاء الاصطناعي من التعامل مع المهام التي كانت في السابق باهظة من الناحية الحسابية.

  1. تحليل المستندات ذات السياق الطويل: في البرمجة اللغوية العصبية، تستخدم نماذج مثل GPT-4 تستخدم الانتباه السريع للحفاظ على كبيرة في السياق. وهذا يسمح للذكاء الاصطناعي بمعالجة كتبًا كاملة أو عقودًا قانونية طويلة في مسار واحد دون "نسيان" المعلومات السابقة، مما يحسّن إلى حد كبير تحسين قدرات تلخيص النصوص بشكل كبير.
  2. التصوير الطبي عالي الدقة: في مجال الرعاية الصحية, غالبًا ما يتضمن تحليل الصور الطبية معالجة شرائح علم الأمراض بدقة جيجا بكسل. يُمكِّن برنامج Flash Attention نماذج الرؤية من تحليل هذه الصور الكبيرة بدقة عالية دقة عالية دون تصغير حجم الصورة بشكل كبير، مع الحفاظ على التفاصيل المهمة لتشخيص حالات مثل أورام الدماغ.

التنفيذ في PyTorch و Ultralytics

الأطر الحديثة مثل 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 المعقدة يدويًا.

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

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

انضم الآن