Request: a mixed-6-8bit pack

#59
by linuxgangster - opened

The mixed-4-8bit pack is excellent and I've had it in production for a while on a 192 GB M2 Ultra, serving a small team at 262k context with the prefix cache at 48 GB. Thank you for it.

I have roughly 50 GB of headroom I'd like to spend on quality rather than concurrency. Would you consider a mixed-6-8bit variant, raising the currently-4-bit weights to 6 while leaving the 8-bit ones alone?

The one thing I'd ask specifically: keep ngram_table.bin at 4-bit. On disk it's 30 GB of the 100 GB pack, and if the published figures are right it's around 51B of the 177B parameters. It's a lookup table rather than something multiplied through, so it looks like the worst place to spend extra bits and the most expensive.

I haven't inspected your per-tensor allocation, so this next part is an observation. Working back from the sizes I can see, 70 GB of safetensors against roughly 126B comput parameters averages out near 4.5 bits, which would suggest most of the weight sits at 4-bit with a smaller high-precision remainder. If that's roughly the shape, raising only the 4-bit portion looks like it'd land somewhere near 128 GB, which still leaves room for a real prefix cache on a 192 GB box, whereas raising the n-gram table too would push it past 140 GB and start squeezing it. You'd obviously know the real split, and I may be well off.

I've deliberately not asked for uniform 6-bit, since that would raise the experts but lower whatever you currently keep at 8, and the mixed allocation seems to be the reason this pack punches above its size.

I would be happy to test a build and report back throughput, memory and quality against the 4/8 pack on real workloads if that's useful. I have a fair amount of production traffic through it daily and full token-level telemetry.

linuxgangster changed discussion status to closed

sorry meant this to go to another page...didnt realize I was on the main QWEN page

Sign up or log in to comment