贪婪解码并非精度不变:跨精度输出发散
来自 arXiv · 期号 2026-09-22
摘要
贪婪解码通常被视为确定性的,但研究发现,相同模型、相同提示和贪婪解码算法在BF16与FP16下会产生不同输出。 在6个模型(1.1B-7B,四种系列)和三个基准上,49-100%的提示出现输出分歧,单一token翻转常导致整条轨迹偏离。 开发者提出选择性FP32 LM头重算方法:当top-two logits的margin低于阈值时,用FP32重新计算LM头。在批量≤4的单流推理中,A10G上精确一致率提升22-36个百分点,延迟增加<4%。 该方法并非通用解决方案:在batch size≥8或全FP8下效果消失。论文还通过五项实验预测验证了误差传播分析。
深读
导读 原文信息有限,以下基于论文摘要。LLM 的贪婪解码通常被视为确定性的,但研究发现在 BF16 与 FP16 两种浮点精度下,同一模型、同一输入会输出不同结果。这篇论文揭示了精度敏感导致的可复现性问题,并提出一种低开销修复方法,适合对推理一致性有要求的场景。读完能了解精度差异如何影响输出、误差的核心来源,以及选择性 FP32 重算的适用边界。 关键信息 - 在 6 个模型(1.1B–7B 参数,四种系列,额外在 12B 上表征)和三个基准上,49–100% 的提示在 BF16 与 FP16 间发生输出分歧,单一 token 翻转常引发整条轨迹偏离。 - 误差传播分析表明:22 层模型主体的累积误差无法区分“翻转步”与“非翻转步”,输出是否分歧主要取决于 LM 头处 top‑two logit 的 margin 相对于两个候选 token 之间的方向性扰动。 - 该分析对干预结果做出五项可检验预测(包括扩大 FP32 运算范围反而使一致性更差),实验全部匹配。 - 最佳干预方案是选择性 FP32 LM 头重算:仅当 margin 低于阈值时触发。在 batch size ≤ 4 的单流推理中,A10G 上精确一致率提升 22–36 个百分点(L4 和 A100 上提升 12–21 个百分点),延迟开销低于 4%。 - 该方法不是通用解决方案:batch size ≥ 8 或全 FP8 推理下,因主体误差占据主导,收益消失。 逐节讲解 问题发现 研究首先验证假设:LLM 的贪婪解码在 BF16 与 FP16 两种精度下并非确定不变。实验覆盖 6 个模型(1.1B–7B,四种系列)和三个常见基准,结果显示 49% 到 100% 的提示产生不同输出。分歧常由单个 token 的翻转触发,进而级联成整个轨迹的偏离,打破了“贪婪解码无随机性”的默认认知。 误差传播分析 作者建立了一套速归的误差传播分析框架。关键发现是:模型主体(前 22 层)累积的误差量本身不足以区分哪个步骤会发生翻转;真正决定分歧是否发生的是 LM 头层 top‑two logit 的 margin 相对那两个候选 token 之间扰动的方向性关系。该分析导出五项可检验预测(例如,扩大 FP32 计算范围反而恶化一致性),后续实验全部吻合,说明分析抓住了核心机制。 选择性 FP32 LM 头重算 基于上述分析,最优干预是只在 LM 头处有条件地使用 FP32 精度:当 top‑two logit margin 低于阈值时才触发 FP32 重算,否则保持原有精度。在低 batch(batch size ≤ 4)单流推理下,A10G 上精确一致率提升 22–36 个百分点,L4 和 A100 上提升 12–21 个百分点,延迟增加不超过 4%。该方法专攻分歧的源头,开销极低。 适用边界 该方法并非普适…