Learn how to reduce LLM model size and inference costs using quantization techniques like Q4, Q8, and GPTQ. Practical guide with benchmarks.
Quantization is a crucial technique for deploying large language models efficiently. This guide covers the most effective quantization methods.
Quantization reduces the precision of model weights, typically from 32-bit floats to 8-bit or 4-bit integers, dramatically reducing model size and memory requirements.
Quantize models after training without retraining:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "meta-llama/Llama-2-7b-hf"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
# Quantize to 8-bit
from transformers import BitsAndBytesConfig
quantization_config = BitsAndBytesConfig(
load_in_8bit=True,
llm_int8_threshold=6.0
)
quantized_model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=quantization_config
)
GPTQ provides excellent 4-bit quantization with minimal accuracy loss:
# Install auto-gptq
pip install auto-gptq
# Quantize model
python -m auto_gptq.llama --model_path ./llama-7b \
--output_path ./llama-7b-gptq \
--bits 4 \
--group_size 128
Combine quantization with LoRA for efficient fine-tuning:
from peft import LoraConfig, get_peft_model
from transformers import BitsAndBytesConfig
# 4-bit base model
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config
)
# Add LoRA adapters
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05
)
model = get_peft_model(model, lora_config)
| Method | Size Reduction | Speedup | Accuracy Loss |
|---|---|---|---|
| FP32 | Baseline | 1x | 0% |
| FP16 | 2x | 1.5x | <1% |
| INT8 | 4x | 2x | 1-2% |
| INT4 (GPTQ) | 8x | 3x | 2-5% |
Quantization enables running large models on consumer hardware. Start with FP16 and experiment with lower precision based on your accuracy requirements.
For Model Quantization Techniques: Reducing LLM Size and Cost, define pre-deploy checks, rollout gates, and rollback triggers before release. Track p95 latency, error rate, and cost per request for at least 24 hours after deployment. If the trend regresses from baseline, revert quickly and document the decision in the runbook.
Keep the operating model simple under pressure: one owner per change, one decision channel, and clear stop conditions. Review alert quality regularly to remove noise and ensure on-call engineers can distinguish urgent failures from routine variance.
Repeatability is the goal. Convert successful interventions into standard operating procedures and version them in the repository so future responders can execute the same flow without ambiguity.
For Model Quantization Techniques: Reducing LLM Size and Cost, define pre-deploy checks, rollout gates, and rollback triggers before release. Track p95 latency, error rate, and cost per request for at least 24 hours after deployment. If the trend regresses from baseline, revert quickly and document the decision in the runbook.
Keep the operating model simple under pressure: one owner per change, one decision channel, and clear stop conditions. Review alert quality regularly to remove noise and ensure on-call engineers can distinguish urgent failures from routine variance.
Repeatability is the goal. Convert successful interventions into standard operating procedures and version them in the repository so future responders can execute the same flow without ambiguity.
For Model Quantization Techniques: Reducing LLM Size and Cost, define pre-deploy checks, rollout gates, and rollback triggers before release. Track p95 latency, error rate, and cost per request for at least 24 hours after deployment. If the trend regresses from baseline, revert quickly and document the decision in the runbook.
Keep the operating model simple under pressure: one owner per change, one decision channel, and clear stop conditions. Review alert quality regularly to remove noise and ensure on-call engineers can distinguish urgent failures from routine variance.
Repeatability is the goal. Convert successful interventions into standard operating procedures and version them in the repository so future responders can execute the same flow without ambiguity.
Get the latest tutorials, guides, and insights on AI, DevOps, Cloud, and Infrastructure delivered directly to your inbox.
GitHub Actions Pipeline Reliability. Practical guidance for reliable, scalable platform operations.
Concrete systemd unit patterns that reduced flakiness: restart policies, resource limits, and structured logs.
Explore more articles in this category
We ran the same workload on both for half a year. The break-even point isn't where most blog posts say it is — and the latency story has more nuance than throughput-per-dollar charts admit.
Six months running RAG in production taught us that the retrieval step matters far more than the model. Concrete techniques that moved the needle, with before/after numbers.
Battle-tested prompt patterns from running LLM features in production: structured output, chain-of-thought, and graceful failure handling.
Evergreen posts worth revisiting.