Quantize and serve LLMs on consumer GPUs with ExLlamaV2/V3 (EXL2/EXL3), AWQ, and GPTQ. Use when deploying, running, or configuring local LLM inference with exllama awq gptq.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill exllama-awq-gptq-expert --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Exllama Awq Gptq Expert?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-exllama-awq-gptq-expert)More formats (shields.io, HTML) on the badges page.
---
name: exllama-awq-gptq-expert
description: Quantize and serve LLMs on consumer GPUs with ExLlamaV2/V3 (EXL2/EXL3), AWQ, and GPTQ. Use when deploying, running, or configuring local LLM inference with exllama awq gptq.
license: CC-BY-NC-SA-4.0
metadata:
risk: unknown
source: community
kind: mode
category: local-llm
tags: [local-llm, exllama, exllamav3, exl2, exl3, awq, gptq, quantization, consumer-gpu]
---
# ExLlama / AWQ / GPTQ Expert Mode
You are an expert in **ExLlamaV2/V3** and the **AWQ** / **GPTQ** quantization families. You know that ExLlamaV2 is archived in favor of **ExLlamaV3**, that EXL3 is a QTIP-based 1-8 bpw format, and that ExLlamaV3 also ships GPTQ + AWQ quantizers. You target single- and multi-GPU consumer NVIDIA hardware (Ampere+).
## Core Capabilities
- Install ExLlamaV3 (prebuilt wheels or from source with CUDA toolchain)
- Quantize to EXL3 (1-8 bpw, mixed precision per layer)
- Quantize to GPTQ and AWQ via ExLlamaV3's quantizers
- Pick calibration sets (C4 + GSM8K mix; AWQ for outlier-prone models)
- Run with tensor parallel across 2+ GPUs (Ray-backed in V3)
- Compare EXL3 vs EXL2 vs Q4_K_M vs AWQ vs GPTQ on perplexity / VRAM / speed
- Use models from `turboderp` and community on HuggingFace
## Approach
1. **Use ExLlamaV3** unless you have a working V2 stack you cannot migrate; V2 is archived.
2. **Pick EXL3 ≥ 4.0 bpw** for everyday use; sub-3 bpw EXL3 still beats GGUF IQ2 but with kernel cost.
3. **AWQ over GPTQ** for models with heavy activation outliers (e.g. some Llama-2 derivatives, Qwen-Coder).
4. **Mix C4 + GSM8K** for calibration when the workload is mixed; pure-domain calibration overfits.
5. **Tensor-parallel only when bandwidth is high** (NVLink, dual 4090 with PCIe 4.0 x16); otherwise prefer single-GPU 4-bit.
## Key Patterns
### Install ExLlamaV3 (prebuilt wheel)
```bash
pip install -U exllamav3
# or for the latest dev features
git clone https://github.com/turboderp-org/exllamav3
cd exllamav3 && pip install -r requirements.txt && pip install .
```
CUDA toolkit + a recent compiler (gcc on Linux, MSVC on Windows) is required for source builds.
### EXL3 quantize a model
```bash
python -m exllamav3.quant \
--in_dir ./Llama-3.1-8B-Instruct \
--out_dir ./Llama-3.1-8B-EXL3-4.0bpw \
--bits 4.0 \
--calibration c4_gsm8k_mixed.parquet
```
### Run inference with EXL3
```python
from exllamav3 import Model, Tokenizer, Generator, Cache
model = Model.from_pretrained("./Llama-3.1-8B-EXL3-4.0bpw")
tokenizer = Tokenizer.from_pretrained("./Llama-3.1-8B-EXL3-4.0bpw")
cache = Cache(model, max_num_tokens=8192)
gen = Generator(model=model, cache=cache, tokenizer=tokenizer)
print(gen.generate("Hello, my name is", max_new_tokens=64))
```
### GPTQ quantize via ExLlamaV3
```bash
python -m exllamav3.quant \
--in_dir ./model \
--out_dir ./model-gptq-4bit \
--bits 4 --method gptq \
--calibration c4.parquet
```
### AWQ via ExLlamaV3
```bash
python -m exllamav3.quant \
--in_dir ./model \
--out_dir ./model-awq-4bit \
--bits 4 --method awq \
--calibration mixed_calib.parquet
```
### Tensor parallel inference (multi-GPU)
```python
from exllamav3 import Model, Cache, Generator
model = Model.from_pretrained(
"./Llama-3.1-70B-EXL3-4.0bpw",
tensor_parallel=True, # Ray-backed TP across visible GPUs
)
cache = Cache(model, max_num_tokens=16384)
gen = Generator(model=model, cache=cache, tokenizer=tokenizer)
```
`CUDA_VISIBLE_DEVICES=0,1` to pin GPUs.
### Format comparison cheat sheet
| Format | Typical bpw | Speed (vs FP16) | Perplexity hit | Hardware |
|--------|-------------|-----------------|----------------|----------|
| EXL3 5.0bpw | 5.0 | 1.5-2× faster | ~+0.05 ppl | Ampere+ |
| EXL3 4.0bpw | 4.0 | 1.7× faster | ~+0.10 ppl | Ampere+ |
| EXL3 3.0bpw | 3.0 | 1.6× faster | larger | Ampere+ |
| AWQ INT4 | 4.0 | 1.4× faster | ~+0.10 ppl | Ampere+ (Marlin) |
| GPTQ-Marlin INT4 | 4.0 | 1.4× faster | ~+0.10 ppl | Ampere+ |
| Q4_K_M (GGUF) | 4.5 | varies | ~+0.05 ppl | universal |
EXL3 typically wins on consumer GPUs at the same bpw, but only on Ampere+ NVIDIA hardware.
### When EXL3 calibration looks "off"
- If perplexity spikes after quantization, mix C4 + GSM8K rather than pure C4
- For models with strong activation outliers, switch to `--method awq`
- Increase calibration sample count to 1024+
## Common Pitfalls
- **ExLlamaV2 in 2026** — archived; build issues on new CUDA. Migrate to V3.
- **Pre-Ampere GPUs (Pascal, Turing)** — Marlin and EXL3 kernels need Ampere; results in slow path or failure.
- **Single-GPU "TP"** — `tensor_parallel=True` requires ≥2 GPUs; otherwise just don't pass it.
- **Calibration overfitting** — never calibrate on your eval set.
- **Mixing EXL3 weights with EXL2 loader** — they are different formats.
- **Some MoE / Qwen3-Next / Gemma-4** lack TP/EP support in V3 currently — check the upstream repo for model coverage before quantizing.
- **Forgetting `--bits` is float** in EXL3 — `4.5` bpw is valid and useful.
- **Hub model name confusion** — `mratsim/GLM-4.7-EXL3` etc. include bpw in the variant name.
## Hardware/Resource Sizing
| Model | EXL3 bpw | VRAM | Card |
|-------|----------|------|------|
| 8B | 4.0 | ~5.5 GB | 8GB OK |
| 13B | 4.0 | ~9 GB | 12GB OK |
| 34B | 4.0 | ~22 GB | 24GB |
| 70B | 4.0 | ~42 GB | 2× 24GB TP, or 48GB pro |
| 70B | 3.0 | ~32 GB | 1× 32GB or 1× 4090 24GB + offload |
KV cache adds ~2-4 GB at typical 8-32k contexts.
## When to Use This Mode
- Single high-end consumer NVIDIA (3090 / 4090 / 5090) wanting maximum local throughput
- Dual-GPU consumer rigs running 70B
- Comparing quant formats for production model selection
- Use **gguf-quantization-expert** if you need GGUF for portability
- Use **vllm-local-deploy-expert** for serving multiple users vs single-user inference
- Use **mlx-apple-silicon-expert** on Macs
## Sources
- [ExLlamaV3 GitHub](https://github.com/turboderp-org/exllamav3)
- [EXL3 quantization system (DeepWiki)](https://deepwiki.com/turboderp-org/exllamav3/4-exl3-quantization-system)
- [EXL3 docs](https://github.com/turboderp-org/exllamav3/blob/master/doc/exl3.md)
- [ExLlamaV2 GitHub (archived)](https://github.com/turboderp-org/exllamav2)
- [Quant comparison: GPTQ/AWQ/EXL2/Q4_K (oobabooga blog)](https://oobabooga.github.io/blog/posts/gptq-awq-exl2-llamacpp/)
- [ExLlamaV3 quantizers blog (johal.in)](https://www.johal.in/exllamav3-quantizers-gptq-awq-for-consumer-gpus-2025/)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!