30 秒看懂
Matthew Berman 回顾了 Thinking Machines Lab 在 2025 年发布的一篇关于语言模型推理非确定性的文章。他解释了批次大小变化如何影响浮点计算,并介绍了一个实验:在特定配置下,批次不变内核产生了完全相同的续写结果。
- 1采样与实现方式采样通常从概率分布中选择词元;温度为零时的贪心选择消除了这一有意引入的随机性,但不能保证计算结果完全相同。
- 2批次大小影响数值结果不同批次大小可能改变浮点归约的执行方式,产生微小数值差异,进而可能改变所选词元。
- 3批次不变内核文章介绍了如何使归一化、矩阵乘法和注意力等操作不受批次影响,同时指出可能存在性能代价。
- 4一次实验,1,000 个续写研究者报告称,基线产生了 80 种不同续写;在该实验中,使用修改后的内核时,1,000 个续写完全一致。
要点建议
- 随机采样可以有意产生不同输出,而温度为零时的推理仍可能因数值计算和实现方式而出现差异。
- 浮点舍入本身并非随机;运算顺序改变可能改变计算结果。
- 即使固定形状的操作本身可重复,请求所在批次的大小仍可能影响计算。
- 批次不变内核旨在让不同批次大小下的数值结果保持一致,但可能牺牲性能。
- 报告中的 1,000 个相同续写只适用于特定模型、提示词和实验配置,不能推广到所有部署环境。
- 可复现性有助于调试和审计,但相同的回答不一定准确或安全。
按章节阅读整理后的全文
为什么可复现性重要
Berman 介绍 Thinking Machines Lab 的文章,并区分重复响应与有意引入的采样变化。实际应用中,即使温度为零,生成结果仍可能不同。
由前 OpenAI 首席技术官 Mira Murati 创办的 Thinking Machines Lab 推出了研究博客,首篇文章讨论语言模型推理中的非确定性。我想解释一下这个问题:反复向模型发送相同的提示词,回答却可能不同。这会让复现实验或调试结果更加困难。
在科学测试和调查中,回答一致可能很有用;但在创意写作中,多样性也可能是我们想要的。文章区分了普通采样与一个不那么明显的问题。采样通常是从概率分布中选择词元;选择概率最高的词元属于温度为零时的贪心选择,并不是所有采样的定义。

即使将温度设为零,推理服务也可能给出不同回答。常见的解释涉及有限精度的浮点运算和并行执行。有限精度意味着计算会发生舍入,而加法的分组或顺序变化可能产生不同结果;舍入本身并不是随机的。
浮点运算与批次
他讨论了数值精度、并发和批次大小变化的作用。文章指出,推理流程缺乏批次不变性。
GPU 会并行执行大量计算,但并发本身并不意味着每次计算都会得到不同答案。文章指出,在相同配置下反复相乘同样的矩阵,可以得到逐位完全一致的结果。作者认为,这一简单观察并不能解释服务系统处理不同批次时究竟发生了什么变化。
可以把一个批次想成几位用户请求共乘的一辆车。根据系统负载,分到一起的请求数量可能不同。批次大小变化可能让实现方式以不同方式组织数值计算;由于浮点运算的精度有限,产生的微小差异可能影响词元选择,进而影响后续输出。

批次不变内核与实验
Berman 用厨房作比喻解释一致的计算,并回顾报告中的 Qwen 实验。最后,他讨论了对调试和审计的潜在益处。
提出的方案是让相关操作具有批次不变性:无论批次大小如何,一个请求都应得到相同的数值结果。我用厨房作比喻:即使厨房很忙,也要对每一碗食材采用一致的称重和混合方式。底层实现处理的是归一化、矩阵乘法等操作,而不是简单地保持处理速度不变。

注意力计算也涉及汇总先前词元的信息。如果工作被分成不同的块,数值归约的顺序可能改变。用一致的方法进行这些归约有助于保持结果一致;文章进一步介绍了技术细节,并指出可能存在性能上的取舍。

研究者使用 Qwen3-235B-A22B-Instruct-2507,针对一个询问 Richard Feynman 的提示词,在温度为零的条件下生成了 1,000 个续写,每个续写包含 1,000 个词元。他们报告称,不使用批次不变内核时,产生了 80 种不同续写,其中最常见的一种出现了 78 次。启用内核后,在该实验中,1,000 个续写全部相同。
这一结果说明,所测试配置的可复现性令人鼓舞,但不能证明每种模型、硬件配置或变化来源的问题都已解决。结果可重复能让基准测试、调试和审计更容易解读,但不能保证回答正确、安全或值得信赖;这些品质仍需单独评估。
同频道的其他文章
34:21EN → 简体中文
0:36EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文
1:03:37EN → 简体中文
0:53EN → 简体中文