大语言模型可以学习规则11.13

大型语言模型可以学习规则

  • 摘要
  • 1 引言
  • 2 准备
  • 3 从假设到理论
    • 3.1 诱导阶段:规则生成和验证
    • 3.2 演绎阶段:使用规则库进行显式推理
  • 4 实验评估
    • 实验装置
    • 4.2 数字推理
  • 5 相关工作

在这里插入图片描述

摘要

当提示一些例子和中间步骤时,大型语言模型(LLM)在各种推理任务中表现出令人印象深刻的性能。然而,在LLM中依赖于隐式知识的提示方法,在隐式知识是错误的或与任务不一致时,经常产生不正确的答案。为了解决这个问题,我们提出了假设到理论(HtT),一个框架,学习规则库与LLM推理。

HtT包含两个阶段,归纳阶段和演绎阶段。
在归纳阶段,LLM首先被要求在一组训练示例上生成和验证规则。规则出现并导致正确答案足够频繁地被收集以形成规则库。
在推理阶段,提示LLM使用学习的规则库来执行推理以回答测试问题。

在数值推理和关系推理问题上的实验表明,HtT改进了现有的提示方法,准确率的绝对增益为11-27%。学习的规则也可以转移到不同的模型和同一问题的不同形式。

1 引言

与它们在规模上的巨大增长相一致,大型语言模型(LLM)已经证明了在广泛的推理任务中的涌现能力,包括程序综合,算术推理,符号推理和常识推理。重要的是,这些能力通常是由高级提示技术引起的,教导LLM将复杂的任务分解为简单的步骤,并基于一小组上下文示例逐步执行推理。

尽管他们有能力解决复杂的推理任务,但LLM面临的一个公开挑战是他们倾向于生成看似合理但与真实的世界知识相矛盾的输出,这种现象通常被称为幻觉。作为额外的挑战,每当任务偏离需要常规知识(例如,非十进制系统中的算术)时,LLM通常表现出准确性的显著下降,有时表现得仅略好于随机猜测。这两种现象都是由语言模型中预先训练的内隐知识与任务所需的知识之间的不匹配引起的。虽然总是可以通过监督微调来管理数据集并将所需的知识注入LLM,一个通用的方法来自动发现和应用知识的推理问题将是更可取的。

为了实现这样的解决方案,我们重新考虑科学发现的过程,这使得人类能够发展有效的世界理论。通常,科学发现通过产生和验证实验假设来推导理论。这些理论可以应用于解决新场景中的问题。这个过程的一个有趣的方面是,即使最初的假设集是嘈杂的,它也可以得出正确的知识(例如,地心说与日心说)。换句话说,科学发现的过程是从允许人类自由地“产生幻觉”开始的假设,但理论只有在被实验验证后才能被保留。出于这一观察,我们提出了假设理论(HtT)框架,使LLM自动推理任务中的规则库

HtT由归纳阶段和演绎阶段组成。
在归纳阶段,LLM被要求在给定的训练集中生成和验证问答对的规则。我们收集规则,并根据它们的出现次数和与正确答案的关联频率对其进行过滤,形成推理阶段的规则库。
在推理阶段,LLM被要求应用学习的规则来解决推理问题,从而减少幻觉的机会。为了减少所需的努力,及时工程,我们提出了归纳演绎,融合规则生成和验证步骤成一个单一的演绎步骤。
这样,两个阶段的提示都可以很容易地从现有的少样本提示方法中得到,例如思想链或最少到最多提示。

根据经验,我们验证了具有GPT3.5和GPT 4的HtT对算术的有效性和CLUTRR数据集,分别对应数值推理和关系推理。实验表明,HtT在所考虑的模型和数据集上始终优于基线提示方法,在大多数情况下绝对增益为11-27%。此外,学习的规则可以直接转移到文本版本的CLUTRR,提供了一个实际的优势,比以前的推理方法。我们还进行了广泛的消融研究,以了解HtT的属性,发现性能增益主要来自于减少由于使用的学习规则的规则幻觉。我们还观察到精度和训练样本数量之间的对数线性比例关系。

2 准备

直觉上,推理是应用合理的逻辑步骤从现有信息中得出结论的过程。推理的核心是两个概念:事实和规则。事实是描述问题当前状态的信息片段,而规则是在特定条件下将事实转换为新事实的函数。以著名的三段论为例:

苏格拉底是人。人终有一死。因此,苏格拉底是必死的。

在这里,“苏格拉底是会死的”和“苏格拉底是一个人”这两个陈述都是事实。“人终有一死”可以被认为是一条规则,因为事实和规则在直觉上是相对的概念。也就是说,当一个规则与一个高阶规则相结合时,它也可以被视为一个事实,例如,当我们考虑“如果人是动物,那么所有人都是会死的”时,“所有人都是会死的”就是一个事实。

演绎推理
演绎推理的目的是根据已知的事实和规则推导出新的事实。上述的三段论构成了一个简单的演绎步骤。当存在多个事实和规则时,需要将规则与事实相匹配,这被称为逻辑上的统一。一般来说,有很多方法可以在每个步骤中应用统一,并且通常需要规划算法来找到步骤的最佳顺序,例如前向链接或后向链接。

对于LLM,大多数提示技术旨在引发演绎推理。例如,思维链和最小到最大提示LLM从给定的事实推断结论,呈现一个贪婪的计划。我们将这些方法归类为隐式推理方法,因为它们依赖于存储在LLM中的隐式规则。相比之下,显式推理方法,如选择推理对给定的事实和规则进行操作,重点是搜索最佳演绎顺序。

归纳推理
归纳推理的重点是从观察到的事实中得出一般规则。例如,如果我们知道 “苏格拉底是一个人”和“苏格拉底是会死的”,同样的事实适用于亚里士多德,我们可能会假设一个规则“所有的人都会死”。虽然有很多规则可以从给定的事实中归纳出来,但有些规则过于具体,例如“如果苏格拉底是一个人,苏格拉底是会死的” 只能适用于苏格拉底。为了使规则对未来的预测有用,它们应该具有大量的支持示例(即覆盖率),同时还正确地预测新的事实(即置信度)。

在机器学习中,归纳推理通常不是一个独立的任务,因为注释和评估规则具有挑战性。相反,归纳性被研究作为演绎推理模型推广到新事实的期望属性。例如,在归纳逻辑编程(ILP)中,学习搜索或排序等算法的模型应该泛化成新的元素组合。在知识图推理,学习回答知识图查询的模型应该推广到新的实体。

3 从假设到理论

许多现实世界的推理问题需要演绎推理才能得出正确的答案。通常,问题陈述包含上下文中的必要事实,但规则没有明确说明。以算术为例:当人类面临算术任务时,他们不会得到加法表或乘法表。在这种情况下,人类仅仅依靠存储在记忆中的数学形式来进行演绎。在大规模语料库上预训练的LLM可以从其参数中检索某些常识知识,但由于这一过程的隐含性质,它可能容易产生幻觉无意的知识。幻觉在预训练数据中不经常覆盖的问题中特别常见或与标准真实的生活问题公式化冲突。手动分析表明,规则幻觉分别占CoT在base-16 Arithmetic和CLUTRR上所犯错误的81%和65%(图3)。
在这里插入图片描述
有趣的是,我们发现LLM的幻觉类似于科学发现中的假设生成。

例如,人类历来对地心说和日心说进行过辩论。尽管我们知道地心说是不受欢迎的,因为它不能解释许多现象,但在没有足够证据的时候,它是一种有效的“幻觉”。换言之,科学是通过产生和验证假说,以及为一代又一代巩固理论而发展的。受科学发现过程的启发,我们提出了假设到理论(HtT)的建议,通过学习规则库来减少LLMS中的幻觉。HtT由归纳阶段和演绎阶段组成,两个阶段都是通过少量提示来实现的。在归纳阶段生成规则,并在一组问答示例上进行验证。然后收集和过滤这些规则,形成一个库。在演绎阶段,给定一个测试题,我们提示模型显式地从规则库中检索规则来解决问题。这两个阶段类似于监督学习中的训练和测试,不同的是我们显式地学习规则,而不是模型参数。

支撑HtT提示的是两个假设:
(1) 即使LLM偶尔产生幻觉规则,他们也能够以合理的概率在合理的示例子集上产生正确的规则。因此,有了足够的训练示例集,LLM可以发现问题类的大部分必要规则。
(2)检索规则比为LLM生成正确的规则更容易。因此,LLM在使用显式规则时会在演绎推理上表现得更好。我们在实验中验证了这两个假设。

3.1 诱导阶段:规则生成和验证

为了发现用于推理的显式知识,我们希望使用LLM来归纳问题类型的规则。对于每个训练示例(问答对),我们要求LLM生成回答问题的规则。虽然规则可以是对的或错的,但它们可以从基本事实答案中得到验证。该验证可以过滤掉与不正确答案相关联的规则,仅将与正确答案充分相关联的规则保留在规则库中以用于推导阶段。遵循规则挖掘的原则,我们根据覆盖率和置信度过滤规则,要求规则既足够频繁,又分别与正确答案表现出足够的关联。具体来说,我们收集LLM在整个训练集上生成的规则,只保留那些出现超过k次并以高于p的概率通过验证测试的规则。

从演绎中归纳
归纳阶段引入了两个子问题,规则生成和验证。先前关于归纳的工作对生成器和验证器使用单独的提示。虽然在这里也可以设计两个单独的提示,但这会使提示工程工作量加倍,并且与其他方法的比较不那么直观。此外,由于推理问题的多步骤性质,一些规则只能在某些中间结果可用之后才能得出。因此,我们提出了从演绎中归纳,它为规则生成和验证调整了演绎推理提示(例如CoT,LtM)(图1左)。关键思想是在执行演绎时显式地声明规则。然后,我们从模型预测中提取规则,并使用训练样本的准确性进行验证。
在这里插入图片描述

3.2 演绎阶段:使用规则库进行显式推理

一旦我们发现了一个好的规则库,下一步就是应用这些规则来解决测试问题。为此,我们在提示符中前置规则库,并要求LLM从库中检索规则以执行演绎推理。然而,我们发现即使是强大的LLM(例如GPT4)也很难在每一步检索正确的规则,这可能是由于提供了大量的规则。作为补救措施,我们开发了一种XML标记技巧来增强LLM的上下文检索能力。注意,将检索子问题卸载到预先训练的通道检索器是容易的,但在这里,我们更感兴趣的是如何一个LLM可以执行演绎推理完全靠自己。

使用XML标记的上下文检索
虽然LLM经常无法从一个大的集合中检索到正确的规则,但我们发现,当规则的数量有限时,例如最多10条规则,检索往往会成功。因此,一个自然的想法是将规则集组织成一个层次结构,这样层次结构中的每个步骤只涉及少量的选项。我们通过将类似的规则分组在一起来手动定义层次结构。受提示教程1中使用的XML标记的启发,我们用和这样的XML标记对层次结构的每一层进行标记(图2)。为了在层次结构中建立索引,我们要求LLM在输出检索到的规则之前为每个级别生成标记。我们发现XML标记技巧显著提高了HtT的性能(表4)。
在这里插入图片描述
在这里插入图片描述

4 实验评估

为了评估HTT,我们将其应用于现有的少镜头提示方法,包括思想链和最少到最多提示。我们在两个多步骤推理问题上进行了性能基准测试,这两个问题对于目前的少镜头提示方法来说是困难的。我们发现,HTT改进了基本的少镜头提示方法,尽管使用了几乎相同的提示模板。我们还进行了广泛的消融研究,以提供对HTT更全面的了解。

实验装置

我们使用两种不同的LLM(gpt-3.5-turbo和gpt-4)评估HtT和基线。当提示符超过gpt-3.5-turbo的4k上下文长度时,我们使用gpt-3.5-turbo-16 k。在这些实验中,提示符不会超过gpt-4的8 k上下文长度。在下文中,我们将两个LLM分别表示为GPT3.5和GPT 4。我们对两个模型都使用默认温度1。

基线提示方法包括三种提示策略:零激发思维链(0-shot CoT)、少量的思维链(5次CoT)和少数激发最少到最多(5激发LtM)。对于少样本提示方法,我们从每个数据集中选择前5个非平凡的例子作为少镜头提示的样本,避免了样本选择的繁重工程。我们在所有少数提示方法中保持相同的样本集。对于最小到最大的提示,每当我们需要一个规则进行演绎时,我们将规则的生成和检索卸载到一个单独的提示中。

对于所提出的HtT,除非另有说明,否则我们对2,000个训练示例执行归纳阶段。当训练集包含少于2,000个示例时,我们重新采样示例以生成规则。在演绎阶段,我们将学习到的规则库添加到系统消息中,以便LLM知道如何区别对待知识和范例。我们在以下网格中搜索HtT的超参数:最小出现次数k ∈ {2,3},最小精度p ∈ {0.3,0.5,0.7}。由于LtM的成本(3-5倍于CoT),我们基于CoT提示来归纳规则并选择最佳超参数,并且仅使用LtM提示用于推导阶段。这可能稍微低估了HtT对于LtM提示的性能。

4.2 数字推理

我们使用算术数据集,以评估在非十进制系统的数值推理的LLM。该数据集包含几个基本系统中2到4位数的求和问题。由于非十进制系统中的规则与十进制系统中的规则大部分不同,因此算术被认为是一种反事实设置,需要LLM执行推理而不是背诵。为了准备HtT的数据集,我们将其分为训练,验证和测试。训练集包含900个2位数加法的例子。验证集和测试集都包含100个2、3和4位数加法的示例。为了在归纳阶段收集规则,我们提取所有由数字或大写字母(例如16进制中的A到F)求和组成的方程。

表1显示了来自Arithmetic的base-16、base-11和base-9数据集的结果。0-在所有的基本系统中,对于两个LLM而言,发射CoT导致最差的性能。0-shot CoT的主要问题是LLM倾向于将非十进制输入转换为十进制,以十进制执行计算,然后转换回非十进制,由于额外的乘法和除法,这很容易出错。对于少镜头提示方法,虽然以前的工作(Zhang et al.,2023 b)观察到分离提示可以导致更少的幻觉,我们没有观察到LtM相对于CoT的任何增益。这是因为非十进制算术是如此的反事实,即使是像GPT 4这样的模型也不能总是在单独的提示中产生正确的规则。

对于CoT和LtM提示,HtT始终提高了两个模型的准确性。值得注意的是,HtT在平均准确度上将GPT 4上的CoT提高了21.0%的大幅度。GPT3.5的性能提升不太显著,因为它在推导阶段归纳正确规则和执行检索方面较差。一个潜在的解决方案是使用强模型来归纳规则,并使用弱模型来执行演绎。为了测试这个设置,我们还在GPT3.5上进行了实验,其中规则由GPT 4诱导。我们观察到LtM + HtT有了很大的改进,GPT 4的规则更好,特别是在base-11和base-9上,GPT3.5由于基础性能差而难以引入正确的规则。使用更好的规则对CoT + HtT没有改善,因为GPT3.5有很强的倾向于依赖于自己的信念(即主要是十进制规则),而不是使用CoT从知识块中检索,类似于Longpre等人的观察。

5 相关工作

规则学习 该方法还涉及到规则学习技术。经典规则挖掘算法提取具有大支持集和高置信度的规则。HtT遵循同样的精神,根据它们的频率和准确性过滤规则。近年来,规则学习方法大多被研究在知识图或定理证明中。这些方法从预定义的规则模板开始,学习最符合观察结果的规则,分别强调知识图和定理证明中的可伸缩性和组合性。然而,这些方法都不能直接用自然语言进行推理。虽然有些作品可以应用于自然语言,但它们需要专门的求解器来学习和推理规则。相反,HTT通过提示LLM来归纳和应用规则,并且适用于任何生成性LLM。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/140540.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin之控制语句和表达式

原文链接 Kotlin Controls and Expressions 有结果返回的是表达式,没有返回的称之为语句,语句最大的问题是它没有返回值,那么想要保存结果就必然会产生副作用,比如改变变量。很多时候这是不够方便的,并且在多线程条件…

基于springboot实现社区疫情防控平台管理系统项目【项目源码】

基于springboot实现社区疫情防控平台管理系统演示 SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在…

语言大模型的预训练过程——从无尽数据到海量知识

从目前研究结果看,Transformer是足够强大的特征抽取器,通过预训练过程,Transformer学到了什么?知识是如何存取的?我们又如何修正错误知识?本文讲述这方面的研究进展。 1、求知:LLM学到了什么知…

【代码随想录】算法训练计划20

1、654. 最大二叉树 题目: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

YOLO目标检测——番茄数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:番茄检测数据集说明:番茄目标检测数据集,真实场景的高质量图片数据,数据场景丰富标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(json)和yolo(txt)三种格式标签…

CMake中的字符串操作

如果使用set进行字符串拼接,对应的命令格式如下: set(变量名1 ${变量名1} ${变量名2} ...) 关于上面的命令其实就是将从第二个参数开始往后所有的字符串进行拼接,最后将结果存储到第一个参数中,如果第一个参数中原来有数据会对原…

机器自主程度越高人机融合可能会越难

智能算法是指利用人工智能技术来处理和解决问题的算法。这些算法通过模仿人类的思维和学习过程,可以自动从数据中提取知识、推断和决策。尽管智能算法的智能程度可能存在不同的层次,但它们都具有一定的智能特征,并能够完成一些复杂的任务。如…

如何应对网站攻击?F5聚焦网站安全防护

有关数据表明,2023以来全球累计超过1400多万个网站遭受了超过10亿次的网络攻击,几乎每个网站都面临风险。无论是电商、论坛还是官方的平台都不可避免遭遇攻击,黑客则利用网络服务的中断期间从事窃取信息等非法活动。在多种攻击手段中&#xf…

计算机基础知识50

数据的增删改查(insert update delete select) # 用户列表的展示: # 把数据表中得用户数据都给查询出来展示在页面上 1. 查询 from app01 import models models.UserInfo.objects.all() # 查询所有的字段信息和数据 resmodels.UserInfo.objects.first() # 查询…

Arcgis打开报错error code=-15

Provide your license server administrator with the following information: Error Code -15 问题描述 原因 长时间闲置后,license server administrator会关闭服务。再次打开之后会出现这个报错 解决方案 重启或者按下述做法: 打开任务管理器&am…

一文2000字从0到1使用压测神器JMeter进行压力测试!

概 述 Apache JMeter 是 Apache组织开发的基于 Java的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服…

CC1310F128RSMR Sub-1GHz超低功耗无线微控制器芯片

CC1310F128RSMR QFN-32 Sub-1GHz超低功耗无线微控制器 CC1310F128RSMR是一款低成本、 超低功耗、Sub-1 GHz射频器件,它是Simplel ink微控制器(MCU)平台的一部分。该平台由Wi- Fi组成、蓝牙低功耗,Sub-1 GHz,以太网,Zigbee线程和主…

【诺依管理系统-vue3】组件没有重新请求问题

解决方法:destroy-on-close,如图

消息队列中的事务是什么呢?

消息队列中的事务是什么呢? 说到事务,肯定会优先想到数据库中的事务。在数据库中需要事务,是为了保证数据的一致性、完整性、持久性和隔离性。它可以将数据库中的一组操作合并为一个不可分割的工作单元,要么全部执行成功&#xf…

No191.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

千年密码新解读,DeepMind 开发 Ithaca 破译希腊铭文

铭文、碑刻是过去文明的思想、文化和语言的体现。金石学家破译千年前的密码,需要完成文本修复、时间归因和地域归因三大任务。 主流的研究方式是「字符串匹配」,即凭借记忆或查询语料库匹配字型相似的铭文,这导致了结果的混淆和误判。 为此…

酷柚易汛ERP - 其他出库单操作指南

1、应用场景 处理其他非销售类型的出库单据,比如内部领用福利、赔偿、借出、领用材料、以货抵债等不参与销售管理的出库类业务。 2、主要操作 2.1 新增其他出库单 打开【仓库】-【其他出库单】,新增单据 出库单位成本及出库成本不能录入;…

msvcr71.dll丢失多种解决方法解析,全方位解读msvcr71.dll文件

在日常使用电脑时,你是否曾遇到过“msvcr71.dll文件丢失”的错误提示?别着急,本文将为你详细介绍msvcr71.dll丢失的解决方法,让你迅速解决这一烦恼。 一.多种msvcr71.dll丢失解决方法 修复方法一:重新安装相应软件 首先&#xf…

推荐一份适合所有人做的副业,尤其是程序员。

我建议每个人都去尝试一下网上接单,这是一个门槛低、类型多样的方式,尤其适合程序员! 在接单平台上,你可以看到各种类型的兼职。以freelancer为例,你可以在这里找到技术、设计、写作等类型的兼职,只要发挥…

Linux SSH免密登录

目录 简介 创建Linux用户和用户组 配置LINUX静态IP 编辑IP映射 SSH免密登录配置 登录测试 简介 SSH(Secure shell)是可以在应用程序中提供安全通信的一个协议,通过SSH可以安全地进行网络数据传输,它的主要原理是利用非对称加密…