GPT-4 和 Llama-3 等大型语言模型 (LLM) 是令人印象深刻的博学者。它们能写诗、调试代码并总结历史。但尽管它们如此复杂,它们常常难以掌握小学生凭直觉就能理解的概念: 时间

具体来说,LLM 在相对时间理解方面表现挣扎。如果你告诉模型“约翰在散步前吃完了晚饭”,然后问: “约翰是在晚饭后去散步的吗?”,人类知道答案显然是“是的”。然而,LLM 经常被这些逻辑纠缠搞糊涂。它们深受时间不一致性的困扰——它们可能会正确回答问题的一个版本,但在问题措辞略有不同时自相矛盾。

在这篇文章中,我们将深入探讨 Jongho Kim 和 Seung-won Hwang 的论文 “Counterfactual-Consistency Prompting for Relative Temporal Understanding in Large Language Models” (用于大型语言模型相对时间理解的反事实一致性提示) 。我们将探索这些研究人员如何开发出一种新颖的提示方法,利用“反事实”——假设性的、时间翻转的场景——来强迫模型保持逻辑一致性,从而显著提高其推理时间的能力。

问题所在: 当大模型迷失在时间里

要理解解决方案,我们需要先了解模型的具体失效模式。研究人员关注的是相对事件理解 。 这并非关于计算日期 (例如,“5月1日之后的10天是哪一天?”) ,而是基于上下文理解事件的顺序和属性。

核心问题在于不一致性

想象一下,给模型一个故事并问两个问题:

  1. Q1: 事件 A 是否发生在事件 B 之后 ?
  2. Q2: 事件 A 是否发生在事件 B 之前 ?

从逻辑上讲,如果 Q1 的答案是“否”,Q2 的答案必须是“是” (假设它们不同时发生) 。然而,标准的提示技术,甚至著名的思维链 (CoT) 推理,都孤立地处理这些问题。

如下图所示,现有的方法可能导致模型对这两个问题都回答“是”,从而产生事件 A 既在事件 B 之前又在事件 B 之后的悖论。

图 1: 利用反事实问题解决 LLM 时间不一致性的示例。

在上方的 图 1 (a) 中,你可以看到标准的失效模式。模型为第一个问题生成思维链并得出结论“是”。然后,它为相互冲突的问题生成单独的思维链,同样得出结论“是”。模型缺乏对时间线的全局视角。

研究人员提出了 图 1 (b) 所示的解决方案: 反事实一致性提示 (Counterfactual-Consistency Prompting, CCP) 。 模型不再是在真空中回答问题,而是被提示生成一个反事实问题——本质上是在问,“如果时间线反转了会怎样?”——并使用该假设的答案来约束最终结果。

核心洞察: 通过约束进行推理

为什么这行得通?直觉依赖于时间的逻辑相互依存性。时间推理施加了约束。如果一个事件有特定的持续时间,它就不可能有截然不同的持续时间。如果事件 A 导致事件 B,反之则不成立。

作者用以下蕴含关系将这种逻辑形式化:

显示时间关系逻辑蕴含的公式 1。

在这个公式中:

  • \(r_{2}(e_{1}, e_{2})\) 代表反事实的时间关系 (例如,“之前”) 。
  • \(r_{1}(e_{1}, e_{2})\) 代表原始关系 (例如,“之后”) 。
  • \(\mathcal{V}\) 是有效/连贯关系的集合。

简单来说: 如果模型确定反事实场景 (\(r_2\)) 为真,它在逻辑上受约束,必须接受原始场景 (\(r_1\)) 为假 (反之亦然) 。通过显式强迫模型评估反事实,我们创建了一个引导模型走向一致性的时间约束

反事实一致性提示 (CCP) 是如何工作的

CCP 方法是一个多步骤过程,旨在推理阶段逼近这些约束。它不需要微调模型;它完全通过巧妙的提示来工作。

第一步: 生成时间反事实问题

机器学习中的标准“数据增强”通常涉及交换单词以创建新的训练数据。然而,研究人员需要更具体的东西: 时间反事实问题

他们提示模型生成用户问题的一个修改版本,其中时间语义被翻转。这是动态的——模型根据上下文编写自己的反事实问题。

  • 原始问题: “他们是在搬到缅因州之后结婚的吗?”
  • 生成的反事实问题: “他们是在搬到缅因州之前结婚的吗?”

这不仅仅适用于排序。它涵盖了持续时间、频率和稳定性。例如,如果文本说一个帝国延续了几个世纪,反事实问题可能会问它是否延续了“1年”。

图 4: MCTACO 问题类型示例。MCTACO 涵盖各种时间方面,包括事件持续时间、频率、稳定性、排序和典型时间。

图 4 所示,该方法是通用的。无论问题是关于某事发生的频率 (频率) 还是持续多久 (持续时间) ,模型都可以生成一个挑战原始前提的“镜像宇宙”问题。

第二步: 聚合预测结果

一旦生成了反事实问题,模型就会回答它。但这是关键部分: 模型不会盲目相信反事实的答案 (因为模型在那方面也可能出错!) 。

相反,该方法使用自洽性聚合 (Self-Consistency Aggregation) 。 模型通过综合考虑原始问题和反事实问题的概率分布来重新加权其最终预测。

显示概率聚合函数的公式 2。

这个公式代表了聚合过程。最终预测 \(P(Y)\) 不仅仅基于原始问题 \(Q\)。它是原始问题加上生成的反事实问题 \(Q^{c}\) 及其答案 \(Y^{c}\) 的函数。

如果模型说有 60% 的几率“A 在 B 之前” (原始) ,但有 90% 的几率“A 不在 B 之后” (反事实) ,聚合步骤允许来自反事实的更强信号来修正原始答案。

实验设置

为了证明 CCP 有效,研究人员将其与强基线进行了测试,包括标准提示 (SP) 、思维链 (CoT) 、自洽性 (Self-Consistency) 和多智能体辩论 (Multi-Agent Debate) 。

他们使用了三个专注于相对时间的不同数据集:

  1. TempEvalQA-Bi: 专注于显式事件排序 (之前 vs. 之后) 。
  2. TRACIE: 一个更复杂的数据集,涉及隐式事件,必须从故事中推断时间线。
  3. MCTACO: 一个多样化的数据集,涵盖持续时间、频率和典型时间 (如图 4 所示) 。

指标: 他们测量了准确率 (ACC) , 以及至关重要的不一致性 (INC) 。 INC 分数衡量模型自相矛盾的频率。INC 分数越低越好。

结果: 一致性孕育准确性

结果令人信服。CCP 在所有方面都优于基线,特别是在减少不一致性方面。

例如,在 Llama-3-70B 模型上:

  • 标准提示的不一致率 (INC) 约为 40%
  • 思维链 (CoT) 将其略微降低至 31%
  • CCP (本文方法) 将不一致率大幅削减至 19.2%

一致性的提高带来了更高的准确率分数。当模型停止自相矛盾时,它自然变得更加准确。

生成的问题 vs. 检索的问题

有人可能会问: “我们真的需要模型生成一个新问题吗?难道不能直接在数据集中找一个类似的问题作为对比吗?”

研究人员将他们的生成方法与“检索”基线 (Ret.Q) 进行了比较。

图 2: MCTACO 数据集上 Llama-3-8B 的反事实示例收集方法比较。

图 2 显示了检索问题 (蓝色) 与 CCP (橙色) 的不一致性 (INC) 分数。请记住, 越低越好

几乎在每个类别——持续时间、频率、排序——CCP 都实现了一致性更低。这表明,针对当下的确切上下文动态生成特定的反事实,比试图从数据库中检索一个松散相关的例子要有效得多。模型需要一个量身定制的约束来进行有效推理。

聚合的重要性

另一个假设: “也许聚合数学计算是不必要的。也许我们只需要问反事实问题,反转答案,然后使用它?”

研究人员将这种“直接回答” (Dir.A) 方法与完整的 CCP 方法进行了测试。

图 3: Llama-3-8B 模型上不同反事实利用方法的比较。

图 3 展示了 TempEvalQA 和 TRACIE 数据集上的结果。绿色柱状图 (直接回答) 显示出比蓝色柱状图 (CCP) 明显更高的不一致性。

这验证了聚合步骤 (公式 2) 的重要性。模型有时也会在反事实问题上产生幻觉。通过同时权衡原始答案和反事实答案,模型执行了一次“合理性检查”,从而实现了更稳健的性能。

少即是多

在“大数据”时代,我们通常认为上下文越多越好。有人可能会认为,生成 5 个或 10 个反事实问题会提供更多约束和更好的准确性。

令人惊讶的是,研究表明恰恰相反。

图 6: 不一致性随反事实问题数量不同而变化。使用的是 Llama-3-8B 模型。

图 6 绘制了不一致率随反事实问题数量变化的图表。正如你所看到的,当我们添加更多问题 (从 1 到 7) 时,错误率反而上升了。

最佳性能来自于仅生成一个高质量的反事实问题。为什么?作者认为,堆积多个反事实会增加噪声。它在上下文窗口中引入了太多相互冲突的信息,压倒了模型的推理能力。这与 NLP 其他领域的发现相呼应,即如果一次引入太多的对比, “对比推理”能力就会下降。

结论与启示

论文“用于相对时间理解的反事实一致性提示”为 AI 中一个棘手的问题提供了一个复杂而优雅的解决方案。它强调,尽管 LLM 功能强大,但在处理抽象的时间流时,往往缺乏基本的逻辑一致性。

给学生和从业者的关键要点:

  1. 一致性 \(\neq\) 准确性,但它们是相关联的。 你无法拥有一个相信 \(A < B\) 且 \(B < A\) 的可靠模型。修复一致性通常是修复准确性的先决条件。
  2. 通过反事实进行自我修正。 问“如果这是错的会怎样?”是一种强大的推理启发式方法。它迫使模型验证自己的逻辑。
  3. 提示即编程。 这种方法不需要重新训练庞大的 Llama-3 或 GPT-4 模型。它只需要对我们提问的算法方式进行更智能的调整。

虽然该方法有局限性——它仍然难以处理涉及绝对日期 (例如,计算年份) 的算术推理——但它代表了在使 LLM 成为脚踏实地的逻辑推理者而不仅仅是随机鹦鹉方面迈出的重要一步。随着我们迈向需要在现实世界中规划和安排任务的智能体,这种时间一致性将至关重要。