温度与解码:同题两次回答为什么不一样
同一个问题,早上问和下午问,答案引用的来源不一样;隔十分钟再问,措辞整段重写。多数人的第一反应是“引擎变了”,其实更大的常驻变量在解码层:生成是逐词的概率采样,采样天然带随机性。同题不同答的完整来源有四层(会话记忆、个性化、索引漂移等),总览见个性化与记忆层页——本页 zoom 进其中最基础的一层:解码本身,以及它对监测工程意味着什么。
即答:模型每生成一个词,都是从概率分布里挑一次,解码参数决定挑法多保守或多冒险;这让“同题同答”在原理上就不成立。再叠加工程层的并行计算非确定性,连“温度归零就能复现”都不成立。结论对监测是决定性的:单次采集是抽样,不是测量——涨跌判读必须建立在多次采样的分布上。
解码层在做什么:从概率分布到下一个词
语言模型每一步输出的不是词,是整个词表上的概率分布:下一个词是“报价”的概率多少、“价格”的概率多少。解码策略决定从分布里怎么挑。贪心解码永远挑概率最高的词,输出稳定但容易呆板;温度采样先按温度调节分布的陡峭程度——温度低时分布变尖、高概率词更垄断,温度高时分布变平、低概率词也有机会——再随机抽取;截断类策略(工程上常说的 top-p、top-k 一族)先砍掉长尾、只在头部候选里挑,兼顾多样与走样。
温度是“随机性旋钮”这个比喻在方向上是对的:旋钮调低,两次输出的措辞与结构趋同;调高,同样的上下文能长出不同的段落组织、不同的来源取舍。措辞差异还会连带检索差异——不同表述的查询命中不同的块——所以解码层的随机性会被上游放大,两级叠加后同一问题的两次回答可能引用完全不同的来源(措辞扰动与稳定度的实验口径见提示词措辞的影响力)。随机性的下游表现可以用一个例子说清:同一问题的两次采样,上下文里摆着同一批候选块,第一次答案转述了你的结论并挂了引用,第二次同一个块被略过、答案取了别的来源组织语言——候选没变,逐词的取舍不同,落点就不同。单次结果的“没被引用”因此连“表现不佳”都算不上,它只是分布里的一个点。
为什么引擎要保留随机性
随机性不是缺陷,是设计选择。其一,问答产品不希望用户重复提问得到逐字复读的“机器感”,适度多样更自然。其二,创意与探索类任务本身需要分布上的多样性,贪心解码的输出会退化成安全的套话。其三,对检索型产品,多样采样让不同来源有机会进入答案——彻底的确定性会把“被引用”变成一次性锁定的结果,反而失去动态性。用户侧的接口通常不暴露这些参数,产品在服务端替所有人选好了一组固定配置——这意味着内容方与监测方都无法把引擎调成“确定模式”。
温度为零也不保证可复现
即使假设解码参数完全确定,工程层仍有非确定性:大模型推理跑在并行硬件上,浮点数求和的顺序、批处理任务的组合方式、混合专家模型的路由决策,都可能让同一输入在不同时刻、不同硬件批次上产出不同输出。这是推理系统工程层的常识,不是玄学。结论可以钉死:对运行中的商用引擎,“复现单次回答”不可依赖,可依赖的只有多次采样的分布特征——频率、趋势、区间。
对监测工程的三条纪律
**纪律一:单次读数没有信息量。**每次采集是一次抽样,抽样与抽样之间本来就会不同。把两次采集的差异直接读成“涨了”“跌了”,等于把随机波动当成了信号。判读变化必须基于分布:固定问题集上多次采样,比较被引频次的区间与趋势(口径展开见采样方差)。
**纪律二:采样纪律先于工具选型。**固定问题集、固定频率、每次多采样、只比较同口径的历史——这套纪律是基线可比的前提,比用哪家工具重要得多。没有基线的“提升”无从谈起(见基线测量),口径漂移的历史数据不如口径一致的一半数据。
**纪律三:把一致度本身当指标。**同一问题多次采样,答案与引用越稳定,说明该问题处于机制的稳态区,监测读数越可信;稳定度极低的问题,读数噪音大,任何单日波动都不值得解读。稳定度怎么量、怎么用,见答案一致性。本站产品的采集与判读口径即按多采样设计,白盒细节见测量方法论。
纪律之外还有一条边界要认清:采样无法对冲引擎的系统性变化。解码随机性是围绕机制当前状态的白噪音,用多次采样平均掉;版本升级、索引更新是机制本身挪动,平均不掉,只能靠版本事件后的基线重置来处理。把两类波动混在一起谈“最近波动大”,是监测解读里最常见的混淆——前者读噪音,后者读事件,药方完全不同。
常见误解
**“两次回答不同,说明我被降权了。”**随机性是常态而非信号。降权判定需要分布级证据:固定问题集上被引频次的持续下滑,而不是两次采集的偶然差异。
**“把温度调零就能做可复现监测。”**其一,你调不了——参数在服务端;其二,调了也不保证复现——工程非确定性仍在。可复现的对象只有口径,不是输出。
**“随机性让 GEO 无法优化。”**优化的对象是分布不是单次:让“被引用”从偶发事件变成高概率事件,判据是多采样下的频次提升。随机性恰恰是“必须多次采样”的理由,不是“不用测量”的借口。
限制与待核实
- TD-01:各产品的解码参数(温度值、截断策略)不公开且可能随版本调整,本页只讲机制层,不对任何产品作参数断言。
- TD-02:工程非确定性的来源清单随硬件与推理框架演进,本页列举不穷尽。
- TD-03:“检索序波动被解码放大”是机制推断,两级随机性各自的贡献比例无公开口径。
- TD-04:部分产品的 API 与网页端行为可能不一致(参数配置不同),跨入口比较读数时须分别建基线。