slug
type
status
date
summary
tags
category
icon
password
Thinking Machines Lab 大名鼎鼎的thinking machine lab
最近读到一篇硬核长文《Defeating Nondeterminism in LLM Inference》,瞬间把我之前的困惑都串起来了。
我们常说:大模型像“文字接龙”。想要更有创意,就把 temperature 调高一点;若把温度调成 0,理论上每次都选概率最大的词,应该是确定的。可现实是:温度 0 也经常不确定,同样的输入,结果有时仍不一样。
很多解释会把锅甩给“并发 + 浮点非结合性”。但这篇文章指出:这解释不完整。事实是,许多前向 kernel(比如常见的矩阵乘法)在相同形状下是 run-to-run 位级相同 的;给定一模一样的整批请求,前向也可以被视为确定。
那用户为啥还会遇到不确定?关键在一个词:batch invariance(批次不变性)。
当你的请求被放进推理引擎时,这一次的 batch 大小(由并发和负载决定)会影响底层 kernel 的归约/并行策略,从而改变数值细节→最终的解码路径。
负载对你来说是“随机”的,因此同样输入、一次次调用就体感不确定。
作者给的解法是:把涉及归约的关键算子都做成 batch-invariant——
RMSNorm:保持数据并行,避免小 batch 时切到改变归约顺序的策略;
Matmul:回避随形状切换到 Split-K/stream-k,尽量用固定的 tiles/指令组合;
Attention:让 KV cache 与当前 token 的 K/V 在 kernel 里统一布局与归约顺序,并用 “固定 split 大小”的 Split-KV,保证不因切片/并发不同而改顺序。
结果很硬气:温度 0、同一提示跑 1000 次,默认栈出现约 80 种不同;启用 batch-invariant kernels 后,1000/1000 次完全一致。性能会慢一些,但在优化后仍在可接受范围。
我的看法:
创作/营销场景里,我们有意用温度造“好不确定”;
金融、法律、医疗里,需要的是底层可复现的“好确定”。
这篇文章的价值,就在于直指根因:不是简单“浮点+并发”,而是kernel 缺乏 batch invariance;只要把 RMSNorm/Matmul/Attention 做到 batch-invariant,推理就能“所见即所得”。
这一步迈过去,True On-Policy RL 也就有了现实基础。
最近读到一篇硬核长文《Defeating Nondeterminism in LLM Inference》,瞬间把我之前的困惑都串起来了。
我们常说:大模型像“文字接龙”。想要更有创意,就把 temperature 调高一点;若把温度调成 0,理论上每次都选概率最大的词,应该是确定的。可现实是:温度 0 也经常不确定,同样的输入,结果有时仍不一样。
很多解释会把锅甩给“并发 + 浮点非结合性”。但这篇文章指出:这解释不完整。事实是,许多前向 kernel(比如常见的矩阵乘法)在相同形状下是 run-to-run 位级相同 的;给定一模一样的整批请求,前向也可以被视为确定。
那用户为啥还会遇到不确定?关键在一个词:batch invariance(批次不变性)。
当你的请求被放进推理引擎时,这一次的 batch 大小(由并发和负载决定)会影响底层 kernel 的归约/并行策略,从而改变数值细节→最终的解码路径。负载对你来说是“随机”的,因此同样输入、一次次调用就体感不确定。
作者给的解法是:把涉及归约的关键算子都做成 batch-invariant——
- RMSNorm:保持数据并行,避免小 batch 时切到改变归约顺序的策略;
- Matmul:回避随形状切换到 Split-K/stream-k,尽量用固定的 tiles/指令组合;
- Attention:让 KV cache 与当前 token 的 K/V 在 kernel 里统一布局与归约顺序,并用 “固定 split 大小”的 Split-KV,保证不因切片/并发不同而改顺序。
结果很硬气:温度 0、同一提示跑 1000 次,默认栈出现约 80 种不同;启用 batch-invariant kernels 后,1000/1000 次完全一致。性能会慢一些,但在优化后仍在可接受范围。
我的看法:
- 创作/营销场景里,我们有意用温度造“好不确定”;
- 金融、法律、医疗里,需要的是底层可复现的“好确定”。
- 这篇文章的价值,就在于直指根因:不是简单“浮点+并发”,而是kernel 缺乏 batch invariance;只要把 RMSNorm/Matmul/Attention 做到 batch-invariant,推理就能“所见即所得”。
这一步迈过去,True On-Policy RL 也就有了现实基础。
- Author:盛溪
- URL:https://tangly1024.com/article/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E2%80%9C%E4%B8%8D%E7%A1%AE%E5%AE%9A%E6%80%A7%E2%80%9D%E7%9A%84%E7%9C%9F%E7%9B%B8%EF%BC%9A%E4%B8%8D%E6%98%AF%E6%B8%A9%E5%BA%A6%E8%80%8C%E5%B7%B2%EF%BC%8C%E5%85%B3%E9%94%AE%E5%9C%A8%20batch%20invariance
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts