AI Pulse

NF4量化格式用高斯分布匹配大模型权重

NF4量化格式用高斯分布匹配大模型权重

NF4是一种4比特数值格式,被用于QLoRA等大语言模型量化方案。它和FP4一样常见于Hugging Face上发布的4比特量化模型权重,但设计逻辑完全不同。 这意味着:NF4不是靠符号、指数、尾数来解码数字,而是把4比特当作索引,查表得到16个预定义的实数。

这16个数不是均匀分布,也不是传统浮点的阶梯式分布,而是按标准正态分布N(0,1)的分位点(quantile)选取的——具体来说,是取α=0.9677范围内的等距概率点,再映射到标准正态的反函数Q(·)上,最后归一化到[-1,1]区间。 这意味着:模型权重中出现最多的值(靠近0)能被更精细地表达,而极值虽少,但仍有覆盖;这种分布对LLM权重的统计特性做了显式建模。

论文提到,NF4刻意避开无穷大问题:它没用Q(0)或Q(1),而是截断在Q(0.0323)到Q(0.9677)之间,共16个点,并确保其中一个是精确的0。 这意味着:零值(如padding、mask、未激活神经元)可无损表示,这对推理稳定性和训练兼容性很关键。

实际测试中,NF4量化后的模型,在多个基准上比同为4比特的FP4或其他格式表现更好。 这意味着:数值格式不再是‘能跑就行’的工程妥协,而是可以像架构设计一样,针对模型本身的统计规律做优化。

这条路能不能走通,取决于工具本身够不够用。但至少,它把‘要不要试’这件事,变简单了。

📎 阅读原文 · John D. Cook | Applied Mathematics Consulting