LLM 知道局部却算不对全局:一个叫”宏观谬误”的统计盲点
> 论文:Partition, Prompt, Aggregate: Statistical Self-Consistency in Language Models > arXiv: 2607.15277 > 作者:Patrik Wolf, Thomas Kleine Buening, Andreas Krause, Celestine Mendler-Dünner(ETH Zurich)
一个不会做加法的统计局
想象有一个统计局,它在全国每个县都派了调查员。每个县的调查员回来报告:”我们县 62% 的人支持政策 X。”统计局的任务很简单:把各县数字按人口加权平均,得出全国支持率。
但这个统计局还有另一个部门,直接做全国调查。它给出的数字是 55%。
62% 和 55% 对不上。有人算错了,或者两套系统的偏差不互补。
这不是 hypothetical。ETH Zurich 的这篇论文发现,当前所有前沿 LLM 都是这个”不会做加法的统计局”。你问它”美国人对 X 的看法”,它给一个数字;你让它分别估计”男性””女性””年轻人””老年人”的看法再按人口加权汇总,得到的数字和直接问的不一样。
差多少?差到令人惊讶的程度。而且——更令人惊讶的是——分群体汇总的数字往往比直接问的更接近真实民意调查数据。
这就是论文所说的”宏观谬误”(macro fallacy):LLM 在群体层面的直接估计,反而不如从子群体重建的估计。
实验设计:三步走
第一步:Partition(切分)
取一个总体(比如”美国成年人”),用二叉树递归切分。第 0 层是整体。第 1 层按性别切分。第 2 层在每个性别内按年龄切分。以此类推。
每个叶节点是一个子群体,用自然语言描述:”18-35 岁城市男性””65 岁以上农村女性”等等。
第二步:Prompt(提问)
对树中的每个节点(包括内部节点和叶节点),用自然语言提示 LLM:”[子群体描述] 中有多大比例的人会对 [问题] 回答’是’?”记录模型的输出概率。
第三步:Aggregate(汇总)
用全概率公式(law of total probability),把叶节点的估计按子群体规模加权,逐层向上汇总到根节点。
全概率公式就是那个 marble 例子:袋子里 60% 红球 40% 蓝球,红球中 30% 有斑点,蓝球中 70% 有斑点,总体斑点比例 = 0.6 × 0.3 + 0.4 × 0.7 = 0.46。这是概率论最基本的恒等式。
然后比较:汇总得到的根节点估计 vs 直接问根节点得到的估计。如果 LLM 是一个一致的概率估计器,两者应该相等。
发现:系统性违反一致性
论文在多个领域(GSS 民意调查、人口统计问题)、多个前沿模型、多种树结构上测试,发现:
所有模型都广泛违反全概率公式。
直接估计和汇总估计之间有系统性差距。这个差距不是随机噪声——它在不同树结构、不同问题上稳定存在。
“宏观谬误”:最反直觉的发现
这是论文最核心的贡献。通常我们会假设:直接问”美国人对 X 的看法”应该比”分别问每个子群体再汇总”更准确,因为前者是模型直接生成的答案,后者引入了多次估计的误差累积。
但数据恰恰相反。
当作者把汇总估计和真实民意调查数据(GSS)对比时,发现:
– 从更细粒度的子群体重建的估计,比直接问群体层面的估计,更接近真实数据。 – 这个效应在不同树结构、不同估计任务上都稳定存在。 – 通过”隐式提示”(implicit prompting)——在提示中暗示汇总结构——可以部分恢复一致性。
这意味着什么?LLM 拥有关于子群体的知识,但它不能可靠地把这些知识传播到群体层面的聚合估计中。模型在微观层面”知道”正确答案,但在宏观层面”说”出了不同的答案。
为什么会这样
论文没有给出确定的机制解释,但几个假设值得讨论:
假设 1:群体提示激活了”模糊模式”
当你问”美国人对 X 的看法”时,模型可能激活的是一种”概括性回答”模式——给出一个模糊的、向中心收缩的估计。而当你问”18-35 岁城市男性对 X 的看法”时,具体的子群体描述激活了更精确的、基于训练数据中特定人群模式的估计。
这就像问医生”人一般能活多久”vs”65 岁亚洲男性吸烟者一般能活多久”——后者会得到更精确的答案,因为具体的患者画像激活了更具体的医学知识。
假设 2:LLM 不是贝叶斯估计器
in-context learning 通常被解释为条件推断:提示指定上下文,模型输出是对应条件分布的估计。如果这个解释成立,LLM 的估计应该满足概率的基本恒等式。
但这篇论文表明,这个解释在结构上就是错的。LLM 的输出不是真正的条件概率——它是一种”看起来像条件概率”的文本生成,但不满足概率论的结构约束。
这对”LLM as approximate Bayesians”的整个研究范式是一个挑战。如果你的”近似贝叶斯”连全概率公式都不满足,那它到底近似的是什么?
假设 3:训练目标不奖励一致性
LLM 的训练目标是”下一个 token 预测”,不是”输出满足概率公理的分布”。模型从未被显式训练去满足 P(X) = Σ P(X|Y=y) P(Y=y)。所以它不满足这个恒等式,从训练的角度看,是预期之中的。
但令人惊讶的是,子群体估计比群体估计更准确这个方向性发现。这说明模型在训练中学到了关于子群体的具体知识,但这些知识在群体层面的”概括”过程中被某种系统性偏差扭曲了。
这意味着什么
1. 不要用单次 LLM 调用做群体估计
如果你在用 LLM 做民意调查替代、市场调研、人口统计估计——不要直接问”X 群体中有多大比例…”。更好的做法是:把群体切分成子群体,分别估计,再按规模加权汇总。即使这引入了更多次估计,最终结果反而更准。
2. 自一致性作为无参考评估准则
这篇论文提出了一个新的 LLM 评估维度:统计自一致性。大多数 benchmark 需要”正确答案”来对比。自一致性不需要——它只检查模型内部估计是否满足概率公理。如果 A + B 应该等于 C,而模型说 A + B ≠ C,你就发现了一个 bug,即使你不知道 C 应该是多少。
这是一个”免费的”评估维度——可以在任何有意义的切分上应用,不需要标注数据。
3. “LLM as approximate Bayesians” 需要重新审视
如果 LLM 的估计不满足全概率公式,那么把 in-context learning 解释为”条件推断”的整个理论框架就需要打折扣。模型可能在做某种”近似条件推断”,但这个近似比我们以为的要粗糙得多。
4. 实用启示:子群体提示工程
如果你想让 LLM 给出更准确的人群估计,给它具体的子群体描述,而不是泛泛的群体标签。这不是什么高深的技巧,但它背后的原理——”宏观谬误”——是这篇论文第一次系统性地揭示的。
局限性
1. 先验依赖:汇总需要知道子群体的规模(先验概率)。论文没有深入探讨先验错误指定时的敏感性。 2. 诊断而非治疗:论文发现了问题,但没有提出修复方案。Section 5 的”隐式提示”尝试只是部分恢复,且处理简略。 3. 树结构任意性:按什么维度切分、切多深,选择仍然有些任意。论文承认但没有完全解决这个问题。 4. 机制不清:为什么会出现宏观谬误?论文给出了现象,但没有给出机制。
结语
这篇论文让我想到一个古老的哲学问题:整体是否等于部分之和? 在概率论中,答案是”是”——全概率公式保证了这一点。但在 LLM 中,答案是”不是”——部分之和与整体系统性地不一致。
更有趣的是,部分之和往往比整体本身更接近真相。这像是 LLM 在微观层面保留了对世界的细粒度知识,但在宏观层面”概括”时丢失了信息。模型的”概括”能力,反而成了它的弱点。
这和人类认知有某种呼应:我们也很擅长对具体案例做判断,但在统计聚合时经常犯错(卡尼曼的系统 1 系统之分)。LLM 不是在模仿人类的推理——它是在模仿人类的偏见。
下次你想用 LLM 估计一个群体的属性,记得问自己:我是该问它整体,还是该问它每个部分再自己加起来? 答案可能是后者。
—
论文链接:https://arxiv.org/abs/2607.15277 作者机构:ETH Zurich 代码:论文未提供公开代码仓库
