Quantization or a smaller model

The model does not fit, or costs too much to serve. Do you compress the one you have, or use a smaller one?

The short answer

At equal memory, quantizing the larger model usually wins. Below about 4 bits that stops being true, and a well-chosen smaller model is the better trade.

Quantize the larger model

Good at

  • Cutting memory roughly in half at 8-bit and to about a quarter at 4-bit, against fp16.
  • Keeping the larger model's knowledge and reasoning, which the smaller one does not have.
  • Speeding up single-stream decoding, which is bandwidth-bound and so scales with bytes moved.
  • Being a deployment-time change: same checkpoint, no retraining.
  • Fitting a model onto hardware you already have rather than hardware you must buy.

Costs you

  • Quality does drop. 8-bit is usually negligible; 4-bit is small but real and task-dependent.
  • Degradation is uneven — long-context, code and maths tasks tend to suffer first.
  • Kernel support varies by format and hardware, so the theoretical speedup is not always available.
  • The KV cache is not shrunk by weight quantization, and at long context it dominates memory.
  • You must re-run your evals: the published perplexity delta will not tell you about your task.

Pick this when: The bigger model is meaningfully better on your eval and you need it to fit. A quantized larger model usually beats a full-precision smaller one of the same memory footprint.

Use a smaller model

Good at

  • Genuinely lower compute, not just fewer bytes per weight — throughput improves as well as memory.
  • Full-precision behaviour, with no quantization artefacts to diagnose.
  • Broad tooling support, since no special kernels or formats are involved.
  • Being a much better base for fine-tuning, which often closes the gap on a narrow task.
  • Lower latency end to end, including prefill.

Costs you

  • Less knowledge and weaker reasoning, and on hard instances this shows.
  • Failures are qualitatively different, so prompts tuned on the big model need redoing.
  • Long-context behaviour is often much weaker than the advertised window suggests.
  • You may end up fine-tuning to recover, which is a project rather than a config change.

Pick this when: The task is narrow, or a small model plus a fine-tune reaches the bar your eval sets.

The other decisions