LLM中的演绎推理、归纳推理和溯因推理

一篇简单探索少样本上下文学习和指令推理的文章:[2404.03028] An Incomplete Loop: Deductive, Inductive, and Abductive Learning in Large Language Models

简介

语言模型有不同的执行任务的方法:

  • 指令遵循(instruction following):用自然语言明确描述目标任务。
  • 少样本提示(上下文/情境)学习(few-shot prompting):任务通过少量示例隐式指定。
  • 指令(归纳)推理(instruction inference):LLMs(语言模型)首先呈现上下文示例,然后被要求生成自然语言任务描述,再进行预测。

这些方法都可以看成是一种形式的推理:

方法 推理 条件
指令遵循 演绎推理 显式命令
少样本提示 归纳推理 任务相关示例
指令推理 溯因推理(逆向归纳) 从示例中生成的命令

什么时候选择哪一个?以及更普遍地说,当前LMs中这些不同能力之间的关系如何?从少量提示中有效学习的能力是否意味着能够执行指令推断,反之亦然?是否有一些任务可以从少量提示中学习,但无法从指令中学习?

本文通过两个主要任务(数值函数和转换)分析这些问题,为此,文章提出两个问题:

  • 与普通(归纳式)少样本提示相比,(归纳式)指令推理何时能提高LLM性能?
  • 从(溯因推理)指令中学习(演绎)的能力与从上下文示例中学习(归纳)的能力之间有何关系?

两个问题的答案如下:

  • 在简单情况下(线性函数学习和简单的人工语言学习),指令推理比少样本提示有所改善,但在更复杂的情况下(低资源机器翻译)会受到不正确假设的影响。
  • 通过溯因推理(提出假设)学习的能力通常与通过归纳(少量示例学习)学习的能力没有关系。

具体表现是,LLMs有时可以有效地从少样本提示中学习,即使它们无法解释自己的预测规则;相反,它们有时会在完全无法从人类生成的相同任务描述中学习的情况下推断出有用的任务描述。

总的来说,本文研究显示出了LLMs推理的非系统特性,看似相似的提示过程中可能调用非常不同的学习机制。

方法

通用表达式:P(y|x,D),x和y分别是input和output,D是特定任务的额外数据。

三种推理方法:

  • 指令遵循:D是一般指令或预测规则。
  • 少样本提示:D是一组示例样本。
  • 指令推理:给定一组示例样本D和输入x生成假设前提(也可以生成多个选择一个),并基于此进行生成输出。

与COT不同的是,指令推理可以多假设指导归纳,多条假设一般可以用额外的模块进行打分,选择分数最高的加入上下文。在本文的实验中,假设数量为5,打分规则是“是否fit训练数据”。打分方法如下:

  • 语言置信度:直接让模型评估给定D时h的概率。分数就是这个概率。
  • P(data):使用另外一个LLM生成给定假设h时示例样本的对数概率。分数是示例样本所有Token的对数概率和。
  • P(answer):和P(data)类似,但只对示例样本中答案Token的对数概率求和。
  • 外部验证:对于结构化假设,可以解析它们并将它们应用回上下文示例,并将分数作为负误差。

设置

想要改进的基础任务(输出预测、翻译)是基本任务;从少样本中推断出明确的自然语言假设的任务为溯因任务。

三个主题的实验:

  • 线性函数推理:h是y=ax+b的形式。
  • 人工语言学习(颜色映射任务):h是随机分离出一个单词,然后从包含该单词的5个示例中归纳出该单词的映射。
  • 卡拉芒语中的词汇+类型特征学习(低资源翻译任务):h分为词汇和语法。每个语法特征会作为问题被提出,然后让模型根据示例样本给出答案。词汇方法同上。

示例如下:

结果

Q1:什么时候指令推理优于少样本上下文学习?

  1. 真实指令的有效性

图1

图1中,上面是线性函数推理任务,下面是人工语言学习任务。

图2

低资源翻译任务,图2中,上下两张图分别表示不同的方向。

结果显示,真实指令倾向于产生正确的结果,但在低资源(复杂)任务上不明显。

  1. 回溯指令的有效性

从图2可以看出,在很多情况下,自生成的指令对性能有所改进,但因任务而异。

Q2:溯因指令的能力与少样本上下文学习有什么关系?

  1. 模型生成假设前提的准确性

图3

图3是线性函数任务,ABCD分别是GPT-3.5-turbo、GPT-4-turbo、LLaMA2-70b-chat和LLaMA2-7b-chat。GPT预测的系数和实际系数呈正相关,但是LLaMA2模型不是。

对颜色映射任务,除了GPT-4-turbo,其他模型都倾向于生成不准确的假设。

到了低资源翻译任务,所有模型在预测语法特征方面的表现都比较差,GPT只有20%多,LLaMA模型为0%。词汇归纳的准确率也很低,大概只有10-20%。

  1. 指令推理和少样本上下文学习能力的关系

这里重点关注GPT模型选择的最终假设,因为LLaMA系列生成的假设都是不连贯或格式不正确的。

通过对线性函数任务的分析,显示GPT模型可能能够在不很好地识别底层函数的情况下预测输出,反之亦然。这揭示了预测准确性和(指令推理)指令归纳之间的分离。也就是说,h预测的准不准不影响结果,说明模型通过示例样本输出结果。

对颜色映射任务,分析指令推理得到的h和真实结果的相关性,显示相关性很低。结论同线性函数任务。对资源翻译任务,结论与上面类似。

结论

在某些情况下,指令推理在综合任务中提供显着改进,但尽管如此,不同任务的改进并不统一,并且在像低资源翻译这样具有挑战性的任务中没有得到证明。

生成的假设的质量与少样本学习成功之间存在不一致相关性,这意味着生成或遵循指令的能力并不能可靠地预测任务,反之亦然。

这些结果表明,虽然指令推理可以在更简单的场景中提高性能,但在复杂环境中,其影响的可预测性较差。此外,指令推理、指令遵循和少样本情境学习之间的关系很复杂,每种能力都可能依赖于模型架构、训练过程或数据的未知方面。

小结

本来以为是探索指令和上下文学习具体机理的文章,结果却把LLM当做黑盒子,属实略微有点失望。而且论文确实也没有得出什么特别有价值的结论。值得欣慰的是实验选择的任务是比较“偏门”的,一般模型训练不会涉及,否则那结果真的是毫无参考价值了。