Discussion about this post

User's avatar
Nan Deng's avatar

KIVI is the split I would not flatten into just using 4-bit. The piece says large keys show up in particular channels while values follow a different pattern, so one scale shared across a whole tensor lets a single key channel of 20 eat the rounding levels the smaller coordinates needed. Two caches can both be INT4 and still miss differently if one groups by channel and the other by token. I would record the grouping axis next to the bit width, and treat a quality drop that only shows up on keys as a different failure from the same drop on values.

Abhishek Pan's avatar

With a recent-token buffer, the quantization error lands on the oldest context, which in RAG is usually where the retrieved documents sit. Short-prompt evals will look fine, so I'd bucket the quality checks by prompt length and look hard at the longest bucket before rolling it out.

Ready for more?