Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Вспышка внимания

Узнайте, как Flash Attention оптимизирует память и ускоряет работу моделей Transformer. Узнайте, как он улучшает компьютерное зрение и почему Ultralytics является лучшим выбором.

Flash Attention — это высокооптимизированный алгоритм, разработанный для ускорения обучения и вывода моделей Transformer за счет более эффективного управления доступом к памяти . В современном глубоком обучении (DL), особенно при использовании крупных моделей, основным препятствием часто является не скорость вычислений процессора, а время, необходимое для перемещения данных между памятью и вычислительными блоками. Flash Attention решает эту проблему «памяти » путем реорганизации способа обработки данных механизмами внимания, что приводит к ускорению работы и снижению использования памяти без потери точности.

Как работает вспышка внимания

Чтобы понять, что такое Flash Attention, полезно взглянуть на архитектуру графического процессораGPU ). GPU имеет высокопроизводительную, но более медленную память с высокой пропускной способностью (HBM) и малопроизводительную, но невероятно быструю встроенную SRAM. Стандартные реализации внимания повторно читают и записывают большие матрицы в медленную HBM, что создает отставание.

Flash Attention использует технику, называемую «разбиением на блоки», чтобы разбить большую матрицу внимания на более мелкие блоки, которые полностью помещаются в быструю SRAM. Храня эти блоки в быстрой памяти и выполняя там больше вычислений перед записью результата обратно, алгоритм значительно сокращает количество операций чтения/записи в HBM. Эта инновация, представленная исследователями из Стэнфордского университета, делает процесс «IO-aware», то есть явно учитывает затраты на перемещение данных. Вы можете изучить технические детали в оригинальной исследовательской статье.

Отличие от смежных терминов

Важно отличать «вспышку внимания» от схожих понятий в глоссарии искусственного интеллекта (ИИ):

  • Стандартное внимание: традиционная реализация, которая вычисляет полную матрицу внимания. Математически она идентична Flash Attention по выходу, но часто работает медленнее и требует больше памяти, поскольку не оптимизирует ввод-вывод памяти.
  • Flash Attention: точная оптимизация стандартного внимания. Она не приближает, а дает точно такие же числовые результаты, только значительно быстрее.
  • Редкое внимание: метод аппроксимации, который игнорирует определенные связи, чтобы сэкономить вычислительную мощность. В отличие от Flash Attention, методы редкого внимания жертвуют некоторой точностью ради скорости.

Актуальность в компьютерном зрении и YOLO

Первоначально разработанная для обработки естественного языка (NLP) с целью обработки длинных текстовых последовательностей, технология Flash Attention стала играть важную роль в компьютерном зрении (CV). Изображения с высоким разрешением создают огромные последовательности данных при обработке с помощью Vision Transformers (ViT).

Эта технология влияет на развитие детекторов объектов. Например, некоторые экспериментальные модели, такие как созданная сообществом YOLO12, внедрили слои внимания, использующие эти принципы. Однако архитектуры, основанные исключительно на внимании, могут страдать от нестабильности обучения и низкой CPU . Для большинства профессиональных приложений Ultralytics является рекомендуемым стандартом. YOLO26 использует высокооптимизированную архитектуру, которая обеспечивает баланс между скоростью и точностью для сквозного обнаружения объектов и сегментации изображений, избегая накладных расходов, часто связанных с тяжелыми слоями внимания на периферийных устройствах.

Применение в реальном мире

Повышение эффективности благодаря Flash Attention позволяет запускать приложения, которые ранее были слишком дорогими или медленными.

  1. Генеративный ИИ с длинным контекстом: в мире крупных языковых моделей (LLM), таких как 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

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас