一个被忽视的精度问题
我们谈论AI幻觉时,通常归咎于训练数据的偏差、模型的过度自信、RLHF的缺陷。但arXiv上一篇最新论文揭示了一个更隐蔽的原因:FP16推理精度本身就在制造幻觉。
这不是一个新话题——数值稳定性的讨论在深度学习社区由来已久。但这篇论文第一次系统地证明了,即便在完全相同的输入下,FP16推理的数值分歧会导致预测偏移,根源在于浮点加法的非结合性。换句话说,模型本身没有”想错”,是计算精度让它”算错了”。
非结合性:一个优雅而危险的问题
浮点加法的非结合性意味着 。在AI推理中,这意味着注意力权重的累加顺序、矩阵乘法的分块策略,甚至硬件层面的并行归约方式,都可能微妙地改变最终输出。1
(a + b) + c ≠ a + (b + c)
大多数时候,这种偏差小到可以忽略。但论文揭示了一个令人不安的事实:在某些边界情况下,这种偏差足以将模型从”正确”的输出路径推向”错误”的路径——而我们无法预测哪些输入会触发这种情况。
规模放大了脆弱性
这个问题在当前的大模型时代变得格外重要。原因有三:
第一,模型越大,累加操作越多。 万亿参数模型的推理过程涉及海量的浮点累加,数值误差的累积效应更加显著。月之暗面刚刚开源了万亿参数模型,这类模型的FP16推理精度问题值得高度关注。
第二,量化压缩雪上加霜。 为了降低推理成本,业界普遍使用INT8甚至INT4量化。FP16已经是”高精度”了,如果我们在此基础上进一步量化,精度损失会指数级放大。很多推理服务的”性价比优化”实际上是以牺牲可靠性为代价的。
第三,关键场景容错率低。 在代码生成、数学推理、法律分析等领域,模型输出往往只需要在关键位置出现一个token的偏差,结论就可能完全不同。FP16精度问题恰好在这些关键token上制造了随机性。
这对AI安全和部署意味着什么
从安全角度看,这个问题有两个维度值得关注。
可复现性危机。 同一个模型、同一个输入,在不同硬件或不同批处理策略下可能产生不同输出。这对AI审计、合规检查和安全事故追溯构成了根本性挑战。你如何证明一个模型在部署时的行为和测试时一致?
攻击面扩展。 如果攻击者能够控制推理的计算路径(例如通过精心构造的输入影响批处理顺序),理论上可以系统性触发精度偏差,放大模型的不确定性。这是一种不同于传统对抗攻击的威胁模型——不需要修改模型或输入,只需要改变计算环境。
降精度不是免费的午餐
AI行业有一个根深蒂固的假设:降低精度可以换来更快的推理速度,而精度损失微不足道。这篇论文是对这个假设的直接挑战。
并不是说所有场景都需要FP64——那确实太昂贵了。但我们需要重新审视精度选择的决策框架:
- 关键应用应该默认使用BF16或更高精度,尤其是医疗诊断、法律分析和安全相关的推理任务
- 量化部署需要配备精度回归测试,不能只看吞吐量和成本指标
- 推理框架应该提供精度诊断工具,帮助开发者识别哪些层的输出对精度最敏感
结语
这篇论文提醒我们,AI系统的可靠性不仅仅取决于模型本身的质量,还取决于运行它的计算基础设施。当我们谈论” trustworthy AI”时,不能只关注训练阶段的数据质量和对齐技术,推理阶段的数值精度同样是一个被低估的安全维度。
在AI行业飞速追求更大参数、更低成本的同时,也许该停下来想一想:我们是否在看不见的地方,用精度换取了可靠性?
本文基于 arXiv:2604.15459 研究论文观点延伸撰写