Skip to content

Note 01 / 15 April 2026 / 5 min

Why mixed precision, rather than one format everywhere

If sensitivity varies across a model, a uniform format is a budget spent badly. The argument, and the cost of acting on it.

Mixed precision · Allocation · Hardware

Uniform quantization treats every parameter in a network as equally important. That assumption is easy to implement and, as far as I can tell, false in every model I have looked at.

The argument in one step

Suppose a model tolerates INT4 everywhere except a handful of components, which need INT8 to keep quality. Under a uniform policy there are two options: INT4 everywhere and accept the damage, or INT8 everywhere and pay for bits that most of the model does not need.

Mixed precision is simply the observation that this is a false choice. Precision is a budget, sensitivity is unevenly distributed, and a budget should be spent where it does the most good. Framed that way it stops being a compression trick and becomes an allocation problem: given a total budget, assign a format to each component so that quality is maximised.

That framing is what I find interesting, because allocation problems have structure. There is an objective, a constraint, and a search space — and the search space is enormous, since a 12-block transformer with six quantizable matrices per block and three candidate formats has more configurations than can be enumerated.

Which is why it is not free

Three costs come with the idea.

Search. The allocation has to be found. Sensitivity measurement narrows the space, but the remaining search is multi-objective and every evaluation costs a benchmark run. This is where methods like NSGA-II earn their place: they return a front rather than a point.

Kernels. A configuration is only useful if it can be executed. Mixed formats mean either conversion at layer boundaries, which costs latency, or kernels that handle the mixture, which may not exist for the combination the search picked. An allocation that is theoretically optimal and practically unrunnable is not a result.

Complexity. Uniform INT8 is one decision. A per-component allocation is dozens, each of which has to be recorded, reproduced, and justified. That is a real maintenance cost and a real reproducibility burden.

Where the hardware enters

This is the part I think is under-explored, and the reason my thesis is framed as hardware-aware rather than just mixed-precision.

Sensitivity is a property of the model. Cost is a property of the accelerator. The same allocation has different value on different hardware: a format with tensor-core support is cheap, the same format without it is not; a memory-bandwidth-bound layer benefits from smaller weights far more than a compute-bound one does.

So the objective cannot be written from the model alone. It has to include measured cost on the target device, which means benchmarking is inside the optimisation loop rather than after it.

What I want to establish

Whether allocations found with measured hardware cost in the loop are meaningfully better than allocations found from sensitivity alone — and whether the resulting precision patterns transfer across models, or have to be searched from scratch each time.

If they transfer, mixed precision becomes a set of design rules. If they do not, it stays a per-model search, and the contribution is in making that search cheap.