← [ ABORT TO HUD ]
SEQ. 1
SEQ. 2
The KV Cache Memory Bottleneck
Understanding KV Cache Expansion
During autoregressive decoding, the self-attention mechanism requires access to key and value vectors from all prior tokens. Recomputing these vectors at every step would lead to (O(N^2)) compute complexity. To avoid this, we cache them in VRAM.
Formula for KV Cache Size
For a model with (L) layers, (H_{kv}) key-value heads, dimension per head (D_{head}), batch size (B), sequence length (S), and precision bytes per element (P) (e.g. 2 for FP16, 1 for FP8):
[ ext{KV Cache (Bytes)} = 2 imes L imes H_{kv} imes D_{head} imes B imes S imes P]For a 70B model with 80 layers, 8 KV heads, 128 head dim, FP16 precision, and 8,192 sequence length: each user session consumes over 2.68 GB of VRAM solely for the KV cache!
⌨ HANDS-ON LABCalculate & Allocate KV Cache VRAM
⭐ +200 XPProfile KV cache memory growth across concurrent user sessions and configure GQA compression.
1Compute memory footprint for 64 concurrent 8k sessions under standard MHA vs GQA.
OBJECTIVE 1 / 1 — type "hint" if stuck
SYNAPSE VERIFICATION
QUERY 1 // 1
Why does Grouped-Query Attention (GQA) reduce KV cache memory consumption?
It deletes every second token from the context
It replaces floating point math with integer addition
It moves attention layers to the CPU
Multiple query heads share a single key and value head, reducing H_kv by a factor of 4x to 8x