Attention Sinks
Узнай, как attention sinks стабилизируют LLMs и VLMs при генерации бесконечных последовательностей. Научись оптимизировать память и развёртывать стабильные системы ИИ с помощью Ultralytics YOLO26.
Поглотители внимания — критически важное явление, обнаруженное в архитектуре современных больших языковых моделей (LLMs) и моделей компьютерного зрения и языка (VLMs), которое обеспечивает стабильность при непрерывной генерации длинных текстов или потоков данных. В механизме внимания нейронные сети динамически назначают «веса» разным частям входных данных. Исследователи заметили, что авторегрессионные модели по своей природе направляют огромное количество избыточных оценок внимания на самые первые токены последовательности, независимо от их фактического смыслового значения. Эти начальные токены действуют как «поглотитель внимания», обеспечивая математический якорь, который не позволяет оценкам внимания модели схлопнуться. Если постоянно сохранять эти токены-поглотители в KV cache модели, разработчики могут включить бесконечную генерацию последовательностей без снижения точности или сбоев из-за ограничений памяти.
Как поглотители внимания стабилизируют модели#
Необходимость в поглотителях внимания возникает из-за операции Softmax, используемой в Transformers. Поскольку сумма оценок внимания всегда должна быть равна 1, модели нужно место для распределения ненужного внимания при обработке сильно локализованных данных. Самые ранние токены в запросе естественным образом поглощают этот избыток.
Раньше при генерации очень длинных последовательностей инженеры использовали методы работы с окнами, которые удаляли из памяти старые токены. Однако удаление первых токенов-поглотителей приводило к немедленному падению производительности. Современные реализации, такие как StreamingLLM, явно сохраняют эти начальные токены вместе с самыми последними токенами. Этот высокооптимизированный подход к управлению памятью активно исследуется в разработках OpenAI в области компьютерного зрения и исследованиях Google DeepMind, а также изначально поддерживается в экосистеме PyTorch.
Отличия от связанных концепций внимания#
Чтобы полностью понять, как AI-модели оптимизируют контекст, полезно сравнить поглотители внимания с другими стратегиями работы с памятью и оборудованием:
- Поглотители внимания и внимание со скользящим окном: Внимание со скользящим окном ограничивает фокус модели фиксированным числом последних токенов для экономии памяти. Однако строгие скользящие окна отбрасывают первые токены, что приводит к нестабильности. Поглотители внимания изменяют этот подход, закрепляя окно с помощью этих важных первых токенов.
- Поглотители внимания и Flash Attention: Flash Attention — это оптимизация на уровне оборудования, которая ускоряет чтение и запись данных в памяти GPU. Поглотители внимания, напротив, представляют собой архитектурное открытие о том, какие токены необходимо сохранять в памяти для поддержания логической стабильности.
Практические применения#
Открытие поглотителей внимания позволило реализовать высокоэффективную непрерывную обработку в различных отраслях.
-
Непрерывно работающие AI-агенты и чат-боты: Благодаря сохранению поглотителей внимания AI-агент или бот службы поддержки может непрерывно вести диалог в течение нескольких часов. Он выборочно забывает токены из середины, сохраняя начальный поглотитель и недавний контекст, предотвращая ошибки нехватки памяти и сохраняя связность диалога.
-
Понимание видео в реальном времени: В интеллектуальном видеонаблюдении и при непрерывном мониторинге крайне важно поддерживать стабильное контекстное окно. Модели могут анализировать непрерывные видеопотоки в течение нескольких дней, обеспечивая эффективность, сопоставимую с оптимизированными для периферийных устройств архитектурами компьютерного зрения.
Реализация эффективного непрерывного инференса#
Хотя поглотители внимания в первую очередь оптимизируют массивные генеративные модели, применение эффективных циклов инференса с рациональным использованием памяти имеет универсальное значение в компьютерном зрении (CV). При обработке непрерывных видеопотоков с помощью Ultralytics YOLO26 использование генераторов Python обеспечивает стабильное потребление памяти в течение длительного времени, подобно управлению локализованным контекстным окном.
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model for efficient, real-time edge processing
model = YOLO("yolo26n.pt")
# Process a continuous video stream efficiently without memory overflow
results = model.predict(source="rtsp://continuous_camera_stream", stream=True)
# Iterate through the generator to maintain a stable memory footprint over time
for frame_result in results:
print(f"Detected {len(frame_result.boxes)} objects in the current frame.")Масштабирование этих эффективных непрерывных конвейеров обнаружения объектов для корпоративного использования требует надежных инструментов управления. Разработчики могут использовать Ultralytics Platform, чтобы упростить развертывание моделей и автоматическое управление наборами данных, позволяя командам без труда создавать стабильные приложения компьютерного зрения, работающие в течение длительного времени.






