Узнайте, как Flash Attention оптимизирует память и ускоряет работу моделей Transformer. Узнайте, как он улучшает компьютерное зрение и почему Ultralytics является лучшим выбором.
Flash Attention — это высокооптимизированный алгоритм, разработанный для ускорения обучения и вывода моделей Transformer за счет более эффективного управления доступом к памяти . В современном глубоком обучении (DL), особенно при использовании крупных моделей, основным препятствием часто является не скорость вычислений процессора, а время, необходимое для перемещения данных между памятью и вычислительными блоками. Flash Attention решает эту проблему «памяти » путем реорганизации способа обработки данных механизмами внимания, что приводит к ускорению работы и снижению использования памяти без потери точности.
Чтобы понять, что такое Flash Attention, полезно взглянуть на архитектуру графического процессораGPU ). GPU имеет высокопроизводительную, но более медленную память с высокой пропускной способностью (HBM) и малопроизводительную, но невероятно быструю встроенную SRAM. Стандартные реализации внимания повторно читают и записывают большие матрицы в медленную HBM, что создает отставание.
Flash Attention использует технику, называемую «разбиением на блоки», чтобы разбить большую матрицу внимания на более мелкие блоки, которые полностью помещаются в быструю SRAM. Храня эти блоки в быстрой памяти и выполняя там больше вычислений перед записью результата обратно, алгоритм значительно сокращает количество операций чтения/записи в HBM. Эта инновация, представленная исследователями из Стэнфордского университета, делает процесс «IO-aware», то есть явно учитывает затраты на перемещение данных. Вы можете изучить технические детали в оригинальной исследовательской статье.
Важно отличать «вспышку внимания» от схожих понятий в глоссарии искусственного интеллекта (ИИ):
Первоначально разработанная для обработки естественного языка (NLP) с целью обработки длинных текстовых последовательностей, технология Flash Attention стала играть важную роль в компьютерном зрении (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 . Платформа обрабатывает инфраструктуру, позволяя командам сосредоточиться на курировании высококачественных наборов данных и интерпретации результатов.