Техническое РУКОВОДСТВО

Оптимизация KV-кэша

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

2 минуты чтенияПоследнее обновление

Обзор

KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.

Глубокое погружение

В преобразователе каждый новый токен обслуживает все предыдущие токены посредством ключей внимания (K) и значений (V). Перерасчет K и V для всей последовательности на каждом этапе был бы квадратичным и расточительным, поэтому модели кэшируют их: кэш KV. Минус – размер. Кэш растет линейно с длиной последовательности, размером пакета, слоями и заголовками, поэтому запрос с длинным контекстом может потреблять больше памяти графического процессора, чем вес самой модели. Оптимизация решает эту проблему с нескольких точек зрения: страничная память (PagedAttention vLLM) хранит кэш в несмежных блоках, чтобы исключить фрагментацию и обеспечить совместное использование; квантование сохраняет K и V в 8-битном или 4-битном формате; а архитектурные изменения, такие как внимание к групповым запросам (GQA) и внимание к нескольким запросам (MQA), позволяют многим головкам запросов совместно использовать меньшее количество головок «ключ-значение», сокращая размер кэша в источнике.

Техническая информация

PagedAttention заимствует подкачку виртуальной памяти у операционных систем: кеш находится в блоках фиксированного размера, сопоставленных с помощью таблицы поиска, поэтому запросы используют только те блоки, которые им нужны, а идентичные префиксы (например, общее системное приглашение) могут указывать на одни и те же блоки. Многоголовочное скрытое внимание (MLA), используемое в моделях DeepSeek, сжимает K и V в небольшой общий скрытый вектор, резко сокращая память, сохраняя при этом точность.

Стратегическое воздействие

Стоимость и бюджет

Архитектурные решения влияют на производительность и эксплуатационные расходы на протяжении многих лет.

Более четкие решения

Техническое образование помогает командам выбрать правильный стек, а не только самый новый.

Контроль качества

Лучший инженерный выбор снижает вероятность возникновения проблем с надежностью на производстве.

Будущее оптимизации KV-кэша

Поскольку контекстные окна расширяются до сотен тысяч или миллионов токенов, кэш KV становится доминирующей статьей затрат на обслуживание. Ожидайте агрессивного сжатия и вытеснения кэша (отбрасывание токенов с низким уровнем внимания), совместного использования префиксов перекрестных запросов по умолчанию, разгрузки холодного кэша на ЦП или NVMe, а такие архитектуры, как MLA и GQA, станут стандартом. Управление кэшем будет все больше напоминать полную иерархию памяти с уровнями и умной предварительной выборкой.

Реальная реализация

PagedAttention от vLLM, обслуживающий множество одновременных сеансов чата, упаковывая блоки KV без фрагментации памяти.

Внимание к групповым запросам в моделях Llama уменьшает размер кэша KV, поэтому более длинные контексты помещаются в память графического процессора

Квантование кэша KV до 8-битного (KV8), чтобы примерно вдвое уменьшить кэш-память во время суммирования длинных документов.

Кэширование префиксов, которое повторно использует блоки KV общего системного приглашения в тысячах запросов API.

Риски и ограничения

Оптимизация одного теста может скрыть более широкие недостатки системы.

Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.

Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.

Дорожная карта реализации

1

Определите целевые показатели задержки, качества и стоимости перед внедрением.

2

Тестирование при реалистичной нагрузке и условиях данных.

3

Мониторинг прибора на наличие ошибок, дрейфа и влияния пользователя.

4

Перед масштабированием подготовьте пути отката и реагирования на инциденты.

Продолжайте исследовать

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the KV Cache Optimization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Начать тест

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Часто задаваемые вопросы

What is KV Cache Optimization?

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

Что хранит кэш KV и почему?

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

Почему кэш KV может стать проблемой памяти?

Размер кэша масштабируется в зависимости от длины контекста и параллельности, поэтому длинные запросы могут использовать огромные объемы памяти графического процессора.

Какую концепцию операционной системы заимствует PagedAttention?

PagedAttention хранит кеш в несмежных блоках фиксированного размера, сопоставленных с помощью таблицы, точно так же, как подкачка ОС.

Как групповые запросы и внимание к нескольким запросам уменьшают размер кэша KV?

Совместное использование головок «ключ-значение» в нескольких головках запросов означает гораздо меньшее количество векторов K и V для хранения.

В чем преимущество совместного использования префиксов в кеше KV?

Общее системное приглашение создает идентичные записи KV, поэтому несколько запросов могут указывать на одни и те же блоки, а не дублировать их.