bitsandbytes NF4 (4-bit NormalFloat)
Fields
quantization/bitsandbytes-nf4Notes
NF4 is a data type, not a PTQ algorithm: 16 fixed quantization points chosen to be information-theoretically optimal for normally-distributed weights, with a per-block absmax scale and optional double quantization of those scales (quant-torch-qlora-paper). Bitsandbytes' HF docs position it as memory reduction for loading, with LLM.int8() as the accuracy-preserving compute path - i.e. NF4 quantization for storage, 8-bit compute for the outliers. Weight-only, so again no native 4-bit activation path. Block size 64 is the bitsandbytes default and is a library default rather than something NF4 the format defines; recorded as such. It became the default quantization for QLoRA finetuning (quant-torch-qlora-paper), which is why it is ubiquitous - its inference story is weaker than AWQ/GPTQ. No fp16 quality delta recorded: the source paper is a finetuning paper and does not report a clean NF4-vs-fp16 inference benchmark delta. NATIVE_SUPPORT CLASSIFIED 2026-10-04: this field is still [] and that is CORRECT, but the empty list used to be ambiguous between three different states and now is not. Reason class on this record: WEIGHT-ONLY, SO STRUCTURALLY ABSENT. The bits field keeps activations in FP16, so execution is dequantize-to-FP16 then an FP16 tensor-core GEMM; there is no INT4-x-INT4 (or sub-8-bit x sub-8-bit) silicon instruction for it to target. This is a statement about the arithmetic, not an absence of investigation. Consequence for a reader: nothing further to verify - no silicon path is possible for this format as defined. The full statement of the three-way distinction, and the worked list of all 72 empty records by class, is in gotcha quant-native-support-empty-means-three-different-things. Rule of thumb for this field everywhere in the repo: if the bits field carries an 'a16', or the scheme is KV-cache-only or a llama.cpp integer storage type, an empty native_support is a DEFINITION and needs no verification; only a W4A4/W8A8/sub-8-bit format with research kernels can have an empty list that is a real finding.