你用同一份菜谱、同一批食材,请不同厨房照着做,原以为成品应该一样,结果味道却变了。大语言模型也有类似问题:模型权重——训练后保存、通常被视为“模型本身”的参数——没有更换,但负责把权重跑起来并生成文字的软件一变,答案和基准分数也可能跟着变。
这篇论文研究的正是这个容易被忽略的环节:推理后端(Inference Backend)。它是实际执行生成的软件引擎,例如 Hugging Face、vLLM 和 Ollama。论文认为,我们平常说的“模型表现”,有一部分或许并不完全属于模型,而是后端参与塑造的结果。以下数字均来自这一篇论文,尚无独立研究交叉验证。
把厨房也放进对照实验
研究团队采用 fully-crossed design,也就是把每个选项尽量完整交叉组合:3 个约十亿参数的指令微调模型、5 个推理后端、6 个基准和4种生成模式。
模型是 Llama-3.2-1B-Inst、Gemma-3-1B-IT 和 Qwen2.5-1.5B-Inst。后端包括直接调用模型生成接口的 hf_raw、封装一层的 hf_pipeline、再增加编排层的 langchain_hf,以及 vLLM 和 Ollama。测试覆盖事实知识与社会偏见两类任务,共产生14项指标。实验统一使用一张 NVIDIA RTX 3090,模型以16位浮点数运行,不做量化。
关键设计在4种生成模式。第一种是确定性模式:关闭随机采样,temperature 设为0,并采用 greedy decoding——每一步都选当前最可能的下一个词。第二种开启采样,但统一 temperature、候选词筛选、重复惩罚和最长输出等生成超参数。第三种只把最长输出统一为256个新词,其余沿用各后端默认值。第四种完全使用各后端的默认配置。
这像逐层放开实验条件:先看后端自身,再加入随机性,最后把软件自带的默认旋钮也算进去。
没有随机采样,差异仍然存在
在确定性模式下,hf_pipeline 与作为基线的 hf_raw 完全一致。但其他后端并非如此,而且差异高度依赖模型。
以14项指标的平均绝对偏差计算,Llama 在 langchain_hf 和 Ollama 上相对 hf_raw 的偏差分别为0.049和0.055;Gemma 对后端最不敏感,所有偏差都不超过0.010;Qwen 在 vLLM 上的偏差为0.025。按论文采用的多重检验校正,Ollama 与 hf_raw 的显著差异,在确定性模式下覆盖33组“模型×独立指标”比较中的20组;vLLM 为10组,langchain_hf 为16组。
这说明随机采样不是唯一来源。即使每一步都选最可能的词,聊天模板怎样拼接、文本怎样切成 token、数值运算怎样执行、输出怎样后处理,仍可能改变逐词生成的路径。计算机使用近似小数运算;很小的数值差别,也可能在连续生成中逐步放大。
不过,Ollama 需要单独看待。其他4个后端载入数值相同的 fp16 SafeTensors 权重,Ollama 则使用其模型仓库中的 fp16 GGUF 版本。因此,它与基线的差异混合了推理栈、模板、分词流程和权重格式转换的影响,论文无法把这些因素拆开。
“39%来自后端”该怎样理解
论文按生成模式比较方差:确定性模式为0.00074;加入采样后为0.00112;只统一输出长度时为0.00118;使用各框架默认配置时升至0.00190。
作者据此估算,在这套实验的开箱即用配置中,约39%的观察方差对应确定性模式下仍存在的后端结构性影响,其余约61%随采样和框架默认参数加入。这个39%不是适用于所有模型的固定规律,也不是严格的因果拆分。论文明确承认,后端行为与生成设置之间可能相互作用。
更实际的问题是,分数变化会不会真的改变评价结论。论文发现,影响不只停留在小数点后:同一个模型换后端后,答对和答错的具体题目也会变。Llama 最敏感,在 MMLU、TriviaQA、TruthfulQA 和 BBQ 上,16种“后端×生成模式”配置中各有14种达到论文定义的严重差异;Gemma 在任何任务上最多只有4种,且 TriviaQA 为0;Qwen 则随任务明显变化,TriviaQA 有15种,StereoSet 为0。
基准分数不再只是模型的名片
过去看到排行榜上的一个数字,人们容易把它直接归因于权重。论文给出的更准确说法是:可观察成绩是模型、提示格式、评测工具、推理后端和生成配置共同产生的结果。
任务类型也会影响敏感程度。在12组“模型×生成模式”配置中,事实类基准有7组出现显著后端差异,社会偏见类有4组。但确定性模式并非一边倒:Llama 和 Gemma 在偏见任务上的偏差更高,Qwen 则在事实任务上更高。到了默认设置,事实类任务总体更敏感。换句话说,后端没有一个稳定、适用于所有模型和任务的统一影响方向。
论文因此建议,发布基准成绩时至少披露后端名称、准确版本和完整生成配置。若要跨后端比较,还应使用确定性解码。统一生成参数可以减少由默认值和采样带来的差别;无法消除的实现差异,则应作为实验条件报告,而不是藏在一个模型名后面。
局限与未知
- 实验只覆盖3个约十亿参数模型、6个英语基准和一张 RTX 3090。结论能否延伸到更大模型、其他硬件、代码、数学推理、长文本或多轮任务,仍未验证。
- 随机模式每道题只生成5次,确定性模式只运行1次;方差拆分也是假设各模式能逐层分离影响,并非严格因果分解。
- 研究没有把分词、聊天模板、数值内核、默认参数和权重格式逐项隔离。它证明后端选择与结果相关,但还不能为每一次答案变化指定唯一原因。