Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

KV Cache

Узнай, как KV Cache оптимизирует модели трансформеров, такие как LLM. Пойми, как эта техника снижает задержку вывода и повышает эффективность Ultralytics YOLO26.

KV Cache (Key-Value Cache) — это критически важный метод оптимизации, используемый в первую очередь в больших языковых моделях (LLM) и других архитектурах на базе Transformer для ускорения задержки вывода и снижения вычислительных затрат. По своей сути, KV cache хранит матрицы Key и Value, сгенерированные механизмом внимания для предыдущих токенов в последовательности. Сохраняя эти промежуточные вычисления, модель избегает повторного вычисления состояний внимания для всей истории диалога каждый раз, когда генерирует новый токен. Этот процесс преобразует рабочий процесс генерации текста из операции с квадратичной сложностью в операцию с линейной, делая возможным взаимодействие в реальном времени с чат-ботами и AI-агентами.

Link to this sectionМеханизм и преимущества#

В стандартной модели Transformer генерация следующего слова требует учета всех предыдущих слов для понимания контекста. Без кэширования модели пришлось бы пересчитывать математические зависимости для всей последовательности на каждом шаге. KV cache решает эту задачу, выполняя роль банка памяти.

  • Улучшение скорости: Благодаря извлечению предварительно вычисленных ключей и значений из памяти система значительно ускоряет работу движка вывода. Это критически важно для приложений с низкими требованиями к задержке, таких как вывод в реальном времени в чат-ботах службы поддержки.
  • Эффективность ресурсов: Хотя это увеличивает использование памяти (VRAM), это значительно сокращает количество вычислений (FLOPs), необходимых для каждого токена. Этот компромисс часто решается с помощью таких методов, как квантование модели или пейджинг, аналогично тому, как операционные системы управляют оперативной памятью.
  • Расширенный контекст: Эффективное управление KV cache позволяет моделям работать с большим контекстным окном, позволяя им обрабатывать длинные документы или поддерживать связные диалоги в течение длительного времени.

Link to this sectionРеальные приложения#

KV cache является фундаментальным компонентом при развертывании современных генеративных AI, но его принципы также распространяются на компьютерное зрение (CV).

  1. Генеративные чат-боты: Сервисы, такие как ChatGPT или Claude, активно используют KV cache. Когда ты задаешь уточняющий вопрос, модель не перечитывает всю историю чата с нуля. Вместо этого она добавляет новый ввод к кэшированным состояниям предыдущего шага, что обеспечивает практически мгновенные ответы.

  2. Анализ видео: В задачах понимания видео модели обрабатывают кадры последовательно. Подобно текстовым токенам, визуальные признаки из прошлых кадров могут кэшироваться, помогая модели отслеживать объекты или распознавать действия без повторной обработки всей истории видео. Это особенно важно для распознавания действий, где временной контекст играет ключевую роль.

Link to this sectionЭффективное управление памятью#

По мере роста размеров моделей объем KV cache может стать узким местом, потребляя гигабайты памяти GPU. Последние достижения сосредоточены на оптимизации этого хранилища.

  • PagedAttention: Вдохновленный виртуальной памятью в операционных системах, PagedAttention (представленный в vLLM) позволяет хранить KV cache в несмежных блоках памяти. Это снижает фрагментацию и позволяет увеличить размеры пакетов (batch sizes) во время обслуживания моделей.
  • Квантование KV Cache: Чтобы сэкономить место, разработчики часто применяют смешанную точность или int8-квантование специально к кэшированным значениям. Это уменьшает объем памяти, позволяя Edge AI устройствам с ограниченным объемом оперативной памяти запускать мощные модели.
  • Кэширование промптов: Связанный метод, при котором состояния KV для статического системного промпта (например, "Ты — полезный помощник по написанию кода") вычисляются один раз и повторно используются в различных пользовательских сессиях. Это ключевая функция для оптимизации рабочих процессов промпт-инжиниринга в масштабе.

Link to this sectionРазграничение похожих концепций#

Полезно различать KV Cache и другие термины кэширования и оптимизации:

  • KV Cache против кэширования промптов: KV Cache обычно относится к динамической памяти, используемой по мере генерации токенов в ходе одного потока. Кэширование промптов конкретно относится к хранению обработанного состояния фиксированной инструкции ввода для повторного использования в нескольких независимых вызовах вывода.
  • KV Cache против эмбеддингов: Эмбеддинги — это векторные представления входных данных (текста или изображений), которые улавливают семантический смысл. KV cache хранит активации (ключи и значения), полученные из этих эмбеддингов в слоях внимания, специально для целей генерации последовательности.
  • KV Cache против весов модели: Веса модели — это статические, обученные параметры нейронной сети. KV cache состоит из динамических временных данных, генерируемых во время прямого прохода (forward pass) для конкретной последовательности ввода.

Link to this sectionПример: Контекст в моделях зрения#

Хотя KV caching наиболее известен в NLP, концепция сохранения состояния применима и к продвинутым моделям компьютерного зрения. В примере ниже мы имитируем передачу состояния (контекста) в сценарии отслеживания видео с использованием Ultralytics YOLO26. Здесь трекер сохраняет идентификацию объектов между кадрами, что концептуально похоже на то, как кэш сохраняет контекст между токенами.

from ultralytics import YOLO

# Load the Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")

# Track objects in a video, maintaining identity state across frames
# The 'track' mode effectively caches object features to link detections
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=False)

# Print the ID of the tracked objects
if results[0].boxes.id is not None:
    print(f"Tracked IDs: {results[0].boxes.id.numpy()}")

Разработчики, желающие управлять наборами данных и развертывать оптимизированные модели, могут использовать Ultralytics Platform, которая упрощает конвейер от разметки данных до эффективного развертывания моделей. Для тех, кто интересуется более глубокими механизмами внимания, библиотеки, такие как PyTorch, предоставляют базовые блоки, в которых реализованы эти механизмы кэширования.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения