Conversation
|
Good direction — dropping an unconditional speedup number is right, and "benchmark on your own hardware" is honest. One thing that might make the docs more useful than "it depends": the direction isn't hardware-random, it's predictable from what compression actually does. I dug into this on #330 and there are two concrete costs, both in source:
So the rule users can actually apply is: compression trades disk bytes for GPU work — it wins when disk read is your bottleneck, and loses when it isn't. That's why the original "3x" held on 2023-era commodity disks and inverts on a GB10 with fast unified memory. Same for the peak-VRAM surprise in that table (8bit 3.16GB vs none 1.60GB): dequantize materialises the fp16 tensor alongside the quantized source and its quant state. Might be worth a sentence to that effect so people can predict which side they're on before spending a 62GB split. Entirely your call on wording — just offering the mechanism since I'd already traced it. (Caveat: I verified the mechanism by reading the code, not by reproducing the benchmark — no GPU here. The magnitudes are TyrelCB's.) |
|
Thanks for tracing the tradeoff through the source and for the concrete explanation. I added a sentence to the README in |
|
Thanks for tracing the mechanism so clearly. I’ve incorporated that explanation into the branch: the README now calls out prefetching being disabled, per-layer GPU dequantization, the disk-I/O tradeoff, and benchmarking on target hardware; the API documentation was updated too. Runtime behavior is unchanged. |
Fixes #330. Summary: remove stale guaranteed speedup numbers from the README and API documentation, explain that compression can reduce storage while adding decompression work, and direct users to benchmark on their own hardware. Validation: python3 -m py_compile air_llm/airllm/utils.py; git diff --check. The change is documentation-only and does not alter runtime behavior.