Skip to content
18 / 20

Что такое KV cache в LLM, почему он сокращает inference с O(n²) до O(n), и какие у него memory tradeoffs?

KV cache хранит уже посчитанные K и V для всех предыдущих токенов, чтобы на каждом шаге autoregressive generation считать Q только для нового токена. Без кеша на каждый шаг повторно считаем attention для всей последовательности → O(n²) compute на шаг, O(n³) total. С кешем — O(n·d) на шаг, O(n²·d) total. Цена — memory: cache растёт линейно по контексту, для Llama 7B с 8K context ≈ 4.3 GB на sample. Снижают через MQA/GQA, int8/int4 quantization KV, PagedAttention (vLLM), sliding window.

Что такое KV cache в LLM, почему он сокращает inference с O(n²) до O(n), и какие у него memory tradeoffs? | JScriptiser