Minor inference stack differences alter LLM outputs in local deployments
Experiments by forum user thr3e show that switching attention backends in vLLM for Qwen3.6-27B can flip top-1 greedy decoding tokens, even with identical weights and hardware. Over 100k tokens of full-logit capture on an RTX PRO 6000 Blackwell GPU revealed that floating-point precision and accumulation order differences cause output variations, potentially breaking tool calls in agent workflows.
Coverage timeline
量子位量子位
AI本地部署不如官方版的元凶找到了:734个依赖包,每一个都可能坑 听雨 2026-08-29 21:11:08 来源: 量子位 推理软件栈的微小差异,就能改变输出token 梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 丸辣!辛辛苦苦本地部署的大模型,怎么就是比官方版更笨?? 即使是同一张显卡,一毛一样的权重, 推理软件栈的微小差异就让模型在关键位置输出完全不同的token ,甚至导致工具调用彻底失败。 这种陷阱很容易触发,但很难排查,还以为三体人来智子封锁了呢。 Level1Techs论坛用户thr3e做了一系列实验,用Qwen3.6-27B在RTX PRO 6000 Blackwell显卡上完成了超过10万token的全量logit捕获测试。 Logits是为所有候选token计算的一组原始分数,再经过采样器(sampler)输出下一个token。 关键在于Logits是纯粹的数学产物,矩阵乘法、注意力计算、激活函数层层叠加后的浮点数结果。如果两套系统跑同一份权重和同一段输入,理论上应该算出完全相同的logits。 但现实中, 浮点运算的精度、累加顺序、硬件指令集的差异,都会让最终数值产生微小偏移 。 当这个偏移大到足以改变概率最高的那个token时,模型就会表现出差异 。 虽然你的本地部署很烂,但别伤心,其他人部署的各有不一样的烂法。 权重不变,换个注意力后端就变傻 一个关键在推理流程中“注意力后端”这个环节。 vLLM为Qwen3.6-27B提供了三种可选的全注意力后端:FlashAttention 2、Flash Inference和Triton Attention。 除了切换这一项配置,其余硬件、软件、权重、KV缓存精度全部保持不变。 实验使用的输入是一段约10万token的真实工作场景,来自一个包含多次工具调用的Agent工作流。 thr3e特别强调,这段数据不出现在任何公开基准或训练集中,没有人能针对它做过benchmark优化或量化校准。 测试方法是每隔32个token采样一次全词表logit,事后用FP64精度计算KL散度和Top-1一致性。 结果观察到“Top-1翻转”现象,也就是切换后端就会选出与基线不同的贪心解码token。 比如具体追踪一个出错案例,模型执行一个工具调用,目标是Cisco 路由器上的一个接口GigabitEthe
