跳转至

因果的阶梯

相关性的海洋有多深?换一种问法:如果因果推理有"层次",那么 LLM 停留在哪一层?

这个问题直到 2000 年代才有了精确的回答。回答它的人不是哲学家,而是一位计算机科学家——Judea Pearl。

三层

Pearl 把因果推理分成三层。他管这叫因果阶梯(Ladder of Causation)。

用一个统一的场景来理解它。

第一层:观察(Association)。 "在吃了这种药的人中,70% 病好了。"

这是统计。你在数据中看到了药物与康复之间的相关性。数学上,你在计算 P(Y|X)——在观察到 X 发生的条件下,Y 的概率。

这一层不需要任何因果假设。你只需要数据和统计工具。LLM 在这一层毫无困难——它的整个训练过程就是在学习这种条件概率。

第二层:干预(Intervention)。 "如果我让一个病人吃这种药,他病好的概率是多少?"

这听起来像是同一个问题,但不是。

在观察数据中,吃药的人可能本来就比较注重健康——他们去看医生、拿到处方、按时服药。也许正是这种"注重健康"的倾向让他们康复,而不是药物本身。这就是混杂(confounding):一个隐藏变量同时影响了药物使用和康复结果,创造出虚假的因果印象。

要回答干预性问题,你需要把混杂去掉。你需要的不是 P(Y|X)(观察到吃药的人中康复的比例),而是 P(Y|do(X))——你主动让一个人吃药后康复的概率。这个 do(X) 是 Pearl 引入的操作符,它的意思是:不是被动观察到 X 发生了,而是主动让 X 发生——切断了 X 与它的所有自然原因之间的联系。

随机对照试验(RCT)就是 do 操作符的物理实现:随机分配消除了混杂。

第三层:反事实(Counterfactual)。 "这个病人吃了药,病好了。如果他没吃药,病还会好吗?"

这是最高层——你要在一个已经发生的事实基础上,推理一个从未发生的平行世界。这不是在问群体统计,而是在问一个具体个体的替代历史。

法律中的"but-for"因果检验(若非此因,则无此果)就是一个反事实问题。医学中的"这个药是否救了这个人的命"也是。Pearl 的框架为这类问题提供了精确的数学工具——但它要求你拥有关于因果机制的模型,不只是关于统计关联的数据。

三层为什么不能互相替代

直觉上,更多的第一层数据似乎应该能回答第二层的问题——如果你有足够多的观察数据,难道不能从中推断出因果关系吗?

2022 年,Bareinboim、Correa、Ibeling 和 Icard 证明了一个定理,给出了否定的回答。

因果层级定理(Causal Hierarchy Theorem)

因果阶梯的三个层级,在测度论的意义上"几乎总是"互相分离。第一层的完整知识——即所有变量之间的所有统计关联——几乎总是不足以确定第二层(干预)的答案。同样,第一层和第二层的完整知识,几乎总是不足以确定第三层(反事实)的答案。

"几乎总是"是数学术语,意思是:例外的情况在所有可能情况中占据的"体积"为零——就像实数轴上整数点的测度为零一样。理论上存在第一层数据恰好能回答第二层问题的特殊情况,但你碰上的概率为零。

这不是经验观察。这是定理。

它的工程含义直白得近乎粗暴:再多的相关性数据,也回答不了干预性问题。 你可以把世界上所有的文本都喂给一个模型,让它学到所有变量之间的所有统计关联——但这些关联在数学上几乎总是不够回答"如果我做了 X,Y 会怎样"这类问题。

LLM 在阶梯上的位置

有了这个框架,就可以精确地描述 LLM 的处境了。

LLM 的预训练目标——next-token prediction——在结构上对应第一层操作。它学习的是 P(next token | context),即在给定上下文中下一个 token 的条件概率。这是一个关联性(associational)任务。后续的训练阶段(RLHF、RLVR)引入了额外的优化信号,但预训练所建立的统计共现基底不会被替换——后训练是在这个基底之上做调整,不是重建一个新的因果推理引擎。

那 LLM 能不能在某种程度上"爬上"阶梯?

基准测试的证据

CLadder(2024, NeurIPS)是第一个按 Pearl 阶梯三层设计的大规模基准。10000 个问题,答案由形式化因果推理引擎计算。结果:LLM 在第一层(关联)表现最好,第二层(干预)和第三层(反事实)显著下降。专门设计的"CausalCoT"提示策略有帮助,但不能弥合差距。

CausalBench(2024)评估了 LLM 在不同因果图结构上的表现。关键发现:LLM 在链式结构(A→B→C)上表现不错——因为链式结构中相关性和因果性方向一致。但在 collider 结构(A→C←B)上系统性失败——这恰恰是相关性与因果性分歧的标志性场景。

Chi et al.(NeurIPS 2024)进一步区分了"level-1 因果推理"(从参数化知识中回忆因果关系)和"level-2 因果推理"(对新场景进行真正的因果推断)。他们的结论:LLM 只能做 level-1——本质是模式回忆,不是推理。当面对训练数据中未见过的因果结构时,表现显著下降。

这些证据拼在一起,画面相当一致:LLM 能够令人印象深刻地模仿因果语言——因为训练数据中充满了人类表达因果关系的文本。但模仿和拥有之间,隔着一道由因果层级定理划定的机制性鸿沟。

模型能说出"下雨导致路滑",不是因为它理解了水减少路面摩擦力的物理机制,而是因为它在训练数据中见过足够多的"下雨"和"路滑"的共现。大多数时候这两者给出相同的答案——但在 collider 结构、Simpson 悖论、混杂变量等场景中,它们分道扬镳。

阶梯与工程

这不是一个关于 LLM "聪不聪明"的判断——这是一个关于工具适用范围的结构性描述。

一把螺丝刀不是一把锤子。这不是对螺丝刀的贬低——它只是说,如果你的任务是敲钉子,你需要另一个工具。同样,如果你的应用需要第二层或第三层的因果推理——需要区分相关和因果,需要回答"如果我做了 X 会怎样",需要推理反事实——那模型本身不够。系统的某个地方需要补上这个差距。

阶梯告诉我们缺什么。但光知道"缺什么"还不够。下一个问题更实际:一个知道自己的推理引擎停留在第一层的系统,结构上需要什么,才能对自己保持诚实?


延伸阅读

  • Elias Bareinboim et al., "On Pearl's Hierarchy and the Foundations of Causal Inference" (2022) — 因果层级定理的原始论文。证明三层"几乎总是"互相分离。技术性强,但结论的工程含义深远。
  • Zhijing Jin et al., "CLadder: Assessing Causal Reasoning in Language Models" (NeurIPS 2024) — 第一个按 Pearl 阶梯设计的 LLM 因果推理基准。如果你想看 LLM 在三层上的具体表现数据,这是最系统的来源。

概念与实体

本文涉及的核心概念与实体,在项目知识库中有更详细的资料:

  • 因果之梯 — Pearl 三层框架的完整展开:观察/干预/反事实
  • do 演算 — 将干预性查询转换为观测概率的三条完备规则
  • 结构因果模型 — Pearl 框架的数学基础:⟨U, V, E⟩ 三元组
  • 因果干预 — do 操作符的语义:切断自然原因,主动设定变量值
  • 后门准则 — 从观察数据识别因果效应的图形化判据
  • Judea Pearl — 图灵奖得主,现代因果推断的创始人