They were measured in the same benchmark invocation per model. I went back to the archived runs rather than answering from memory.
In the production-scale benchmark, the KV caches and attention importances are precomputed once for the sequences. The FP16 reference is then calculated from those same cached PKVs before the config loop, and each config reuses the same pkv with base = fp16_bytes(pkv).
For Qwen2.5-32B specifically, the log has one shared 128.0 MB reference KV size, then:
K4V4 4.1x 30.9 MB
K4V2 6.2x 20.7 MB
Qwen2-72B is the same structure with one 160.0 MB reference:
K4V4 4.1x 38.8 MB
K4V2 ~6.1x 26.0 MB
So unless I’m missing something subtler in how fp16_bytes() behaves, I don’t think the two configs had different denominators. They are being compared against the same PKVs in the same run.
That seems to push the problem toward the encoded representation or enc.memory_bytes() rather than the baseline. I’ll inspect that next, but wanted to answer your invocation question first with the actual artifacts.