确定性推理

搜索文档
融资20亿美元的Thinking Machines Lab首次公开:破解LLM随机性,实现可复现的“确定性”推理
锦秋集· 2025-09-11 17:19
文章核心观点 - 大型语言模型推理结果不确定性的根本原因并非行业普遍认为的"并发计算与浮点数误差",而是核心计算算子缺乏"批次不变性" [1] - 通过重写Transformer模型中的RMSNorm、矩阵乘法和注意力机制三个关键计算模块,实现"批次不变性",可确保计算过程不受批次大小干扰 [2] - 在标准环境中,一个请求重复1000次会得到80个不同版本的结果,而在批次不变方案下,1000次请求的结果完全一致 [2][75] 批次不变性技术原理 - 单个请求的计算过程受到整个"批次"大小影响,导致输出结果取决于随机打包的其他请求数量 [1][28] - 缺乏批次不变性的核函数会使系统在负载变化时产生不确定性,这与GPU、CPU或TPU平台无关 [33] - 实现批次不变性需要保证每个元素的规约顺序固定,不受核函数批次大小影响 [38] RMSNorm批次不变性实现 - 采用数据并行策略,将每个批次元素分配给单个核心处理,保持规约策略一致性 [37][39] - 当批次大小减小时,标准策略会导致核心空闲,而分割规约策略会破坏批次不变性 [43][45] - 解决方案包括忽略小批次情况或使用固定规约策略,但会牺牲峰值性能 [46] 矩阵乘法批次不变性实现 - 标准数据并行策略将输出张量分割成二维tile,每个tile规约保持在单个核心内 [49] - Split-K Matmul策略会破坏批次不变性,而张量核心指令切换也会导致不一致性 [51][54] - 通过编译固定核函数配置实现批次不变性,性能损失约20% [57][59] 注意力机制批次不变性实现 - FlashAttention2策略沿Q并行化并沿K/V规约,保持数据并行特性 [62] - 需要处理特征维度和序列维度双重规约,以及推理优化带来的序列切分变化 [64][65] - 采用固定分割大小策略而非固定分割数量,确保规约顺序一致性 [72][74] 实验结果验证 - 在Qwen/Qwen3-235B模型上测试,标准环境产生80个独特补全,批次不变方案实现1000次完全一致输出 [75] - 性能测试显示未优化确定性方案耗时55秒,优化后降至42秒,较默认26秒仍有差距但可接受 [78] - 真正同策略强化学习实现KL散度为0,显著提升训练稳定性 [79][80] 行业应用价值 - 该技术为需要高一致性的应用场景提供可行路径,如同策略强化学习、科学计算等 [3][79] - 解决训练与推理间数值计算差异问题,实现真正的逐比特一致性 [79][80] - 推动社区深入理解系统不确定性根源,提升机器学习系统可靠性 [83]