SageQuant: Open-source inference tradeoff calculator and quantization advisor
Project description
SageQuant is a data-driven CLI tool that helps you choose the optimal serving stack. Given your model size, target hardware, workload shape, and tail latency/quality budget, it recommends the best inference engine, quantization algorithm, and bit-width scheme.
It provides choices backed by real benchmark data, not guesswork.
Why SageQuant?
Choosing how to serve an LLM today is usually an ad-hoc decision: defaulting to vLLM, trying AWQ w4a16 because of a blog post, and hoping for the best.
SageQuant replaces this guesswork with a structured lookup across three distinct decisions:
- Inference Engine: vLLM vs. SGLang vs. TensorRT-LLM vs. MLX
- Quantization Algorithm: GPTQ vs. AWQ vs. FP8 vs. SmoothQuant vs. MLX native
- Bit-width Scheme: FP16 vs. 8-bit (W8A8) vs. 4-bit (W4A16)
Tradeoff Visualization
SageQuant maps tradeoffs across engines and algorithms for the same model and hardware:
| Engine | Quant Algo | Scheme | TTFT (p50 / p95) | Throughput | Quality vs. FP16 |
|---|---|---|---|---|---|
| vLLM | none | fp16 | 85 / 140ms | 45.0 tok/s | baseline |
| vLLM | GPTQ | w4a16 | 145 / 210ms | 38.2 tok/s | -1.1% (mmlu-5shot, n=200) |
| vLLM | AWQ | w4a16 | 140 / 205ms | 39.5 tok/s | -0.8% (mmlu-5shot, n=200) |
| SGLang | AWQ | w4a16 | 98 / 165ms | 52.0 tok/s | -1.4% (mmlu-5shot, n=200) |
Quick Start
1. Install
pip install -e .
# Advanced features (Streamlit dashboard & scikit-learn regression interpolation):
pip install -e ".[advanced]"
2. Get a Recommendation
Find the best stack based on your budget:
sage-quant recommend --model-size 7b --hardware a100-40gb --max-latency 200ms --min-quality 98
Recommended: SGLANG + AWQ (w4a16), prefix caching on
Workload: 128 in / 128 out tokens
Expected: 60ms TTFT (p50) · 105ms TTFT (p95) · 75.0 tok/s · -1.4% quality (mmlu-5shot, n=200)
Confidence: exact (3 matching benchmark runs)
Note (Engine): SGLang features RadixAttention and is highly efficient for high-cache-reuse workloads.
Note (Algo): AWQ generally preserves quality slightly better than GPTQ at 4-bit.
3. Generate Serving Config
Get a copy-pasteable server launch command:
sage-quant serve-config --model-size 7b --hardware a100-40gb --model meta-llama/Meta-Llama-3-8B-Instruct --prefer-engine sglang
Command Reference
sage-quant recommend— Find optimal engine, algorithm, and scheme. Supports--prompt-tokens,--output-tokens, and--prefer-engine.sage-quant serve-config— Generate vLLM/SGLang/MLX launch configuration scripts or YAML files.sage-quant list-hardware/list-engines/list-quant-algos— Check what combinations are currently covered in the dataset.sage-quant contribute— Append custom benchmark runs (JSON/CSV) or run automated live tests using[benchmark]extra.
Documentation
For a comprehensive guide, detailed command usage, and real-world example scenarios, see the User Guide.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sage_quant-0.1.1.tar.gz.
File metadata
- Download URL: sage_quant-0.1.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68c809586a911dab12026c9b48c8d7c55ae53265e0d09060b770c0172639caab
|
|
| MD5 |
25159767307f56f7688047f399db34ba
|
|
| BLAKE2b-256 |
174755ca8742988ac83a2ed199fd99932bb5def33d15fade23d0df49b36f26f0
|
File details
Details for the file sage_quant-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sage_quant-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9400a143b78948a13c4f0120c8f3965f7a0206076218b358394d1d00a0ece5bb
|
|
| MD5 |
1b151618da6c0f26bb8a100e45b34121
|
|
| BLAKE2b-256 |
bb80cf7d639008e635d8c5054f2d0abb0cfdb49aebd98d7f65efba36af9bad2c
|