【CMU博士论文】结构化推理增强大语言模型(Part 0)

问题 :语言生成和推理领域的快速发展得益于围绕大型语言模型用户友好库的普及。这些解决方案通常依赖于Seq2Seq范式,将所有问题视为文本到文本的转换。尽管这种方法方便,但在实际部署中存在局限性:处理复杂问题时的脆弱性缺乏反馈机制以及内在的黑箱性质阻碍了模型的可解释性

这表明,传统的文本输入-文本输出解决方案可能无法利用对模型利益相关者显而易见的有益结构属性。在模型开发过程中整合结构需要仔细审视问题设置,但通常相对简单的实现可以带来显著的回报——一点结构就可以产生很大作用

重点:本文提出了通过在语言模型的设计和操作整合结构化元素来解决这些局限性的方法。

结构:被定义为数据的系统性、层次性或关系性组织和表示,以及在学习和推理过程中引入结构约束。

  • 训练阶段,提出了训练图辅助问答模型的技术,并发现有助于有效生成序列集的顺序
  • 推理阶段,提出了利用代码作为中间表示整合结构的技术。
  • 推理后阶段,我们介绍了整合记忆的方法,使模型能够利用反馈而无需额外训练

作者提出下一代AI系统将把大型语言模型视为强大的内核,在其上构建灵活的推理程序以增强复杂推理。

随着文本生成和推理的用户友好库的广泛普及,许多任务已成功地在seq2seq框架中实现,这不仅扩展到对话生成和摘要生成等自然适合这些范式的任务,还包括传统上与语言模型不相关的任务,如蛋白质序列预测、图生成、程序合成和结构化常识推理。

尽管通常不建议将任务适配到现有工具 [Paszke et al., 2017, Wolf et al., 2019],但这些库的易用性和可访问性有时会导致忽视使用这些现成解决方案所带来的固有权衡和局限性。

1.1.1 现有大型语言模型设置的局限性

反馈对于根据用户偏好定制模型输出和改善整体用户体验至关重要。然而,目前的Seq2Seq模型并不是为了接收直接反馈而设计的,这使得用户很难影响或指导模型的输出[Kreutzer等人,2018,Jaques等人,2019]。接下来我们将详细阐述这些挑战。

1 提供反馈的能力
提供反馈的能力将实现更具互动性和用户驱动的结果,从而实现更好的定制和改进的整体性能。例如,在对话系统中,在纽约市寻找意大利餐馆的用户可能希望澄清或更正Seq2Seq模型提供的信息。如果模型给出了一个不正确的位置,用户就很难给出反馈并引导模型找到想要的答案。更糟糕的是,如果没有保留反馈的能力,模型将继续重复同样的错误

已经提出了几种方法来解决这个问题,例如从人类反馈中强化学习[Kreutzer等人,2018,Jaques等人,2019],用于序列预测的actor-critic算法[Bahdanau等人,2016],以及监督学习[Stiennon等人,2020,Ouyang等人,2022b]。然而,这些方法通常需要额外的训练或大量的数据,使得它们不太适合少量的学习或数据可用性有限的场景。尽管取得了这些进展,但在开发实用和有效的Seq2Seq模型在少镜头学习背景下的反馈机制方面仍有很大的研究差距。在本文中,我们的目标是研究这一差距,并探索新的方法,可以在不需要重新训练的情况下有效地纳入用户反馈,从而提高Seq2Seq模型在数据可用性有限的现实应用中的性能和适应性。

2 不匹配表示导致的脆性
Seq2Seq模型面临的一个主要挑战是它们在处理明显偏离文本数据的输入或输出时的脆弱性。当应用于非常规任务或领域时,这种限制可能导致性能不佳,这些任务或领域需要与训练期间遇到的表示不同[Lake等人,2017,Ratner等人,2017]。开发能够处理不同和不匹配表示的模型不仅可以提高它们的泛化能力,还可以扩展它们对更广泛任务的适用性

例如,在大量英语文本语料库上训练的Seq2Seq模型可能不适合处理特定于领域的语言的输入或输出,例如数学方程或计算机代码。在处理不匹配表示方面解决这一差距对于创建更通用和健壮的Seq2Seq模型至关重要,这些模型可以适应各种现实世界的场景和任务[Graber等人,2018]。

3 未能利用数据中固有的结构
普通Seq2Seq模型的一个重大限制是,它们倾向于将输入和输出数据视为非结构化序列,往往忽略了可以用来增强模型理解和生成能力的任何底层结构或模式[Bastings等人,2017]。将领域特定的知识、结构或约束合并到模型体系结构或训练过程中,将支持更准确、有效和一致的输出生成,从而在专门的任务或领域中获得更好的性能。

类人文本生成和推理的关键能力

支持下一个令牌预测目标简单的一个常见论点是,它与人类处理和生成语言的方式相似[Heilbron et al., 2022]。然而,人类推理表现出的细微差别是当前模型难以复制的。以下几个例子突出了这些局限性:

  1. 生成多个候选项:人类经常创建和评估多个选项,这是标准LLM输出中不固有的过程。
  2. 迭代生成: 在像写作这样的任务中,人类参与评审和改进的迭代过程,而不是由法学硕士完成的一次性生成。
  3. 语境和世界知识:人类的交流依赖于超越直接文本数据的更广泛的知识和语境信息。
  4. 工具使用: 人们使用各种工具来完成任务。最重要的是,人们意识到什么时候需要一个特定的工具。
  5. 问题重构:人们经常重新表述问题并重新尝试。
  6. 优先处理简单的任务:一个常见的人类解决问题的策略是先处理问题的简单部分。

这些示例有一个共同的主题:需要超越简单的输入/输出关系。法学硕士提供了非凡的能力,但为了解决所有的任务,它们需要用更复杂的推理过程来增强。这种需求反映在少量提示技术的兴起中,其中使用搜索、自我改进和工具使用等策略来增强这些模型。这些技术中的许多都隐含地引入了结构元素,下面将对此进行解释。

1.1.2 注入结构:本文的贡献

某些问题可能提供一种固有的结构,可以用于可解释性或有效性。例如,在解决常识性推理问题时,将结果附加在捕获相关关系和依赖关系的知识图上可能是有用的[Han等人,2020]。解决这一差距并开发将结构信息纳入Seq2Seq模型的方法,有可能显著提高其在广泛领域和任务中的性能和适用性[Zhang等人,2019a,c]。

结构在人工智能领域是一个模棱两可的术语,有多种解释[Newell et al., 1972, Russell, 2010]。为了本文的目的,我们采用了一个广泛的结构视角,不仅包括其在组织训练数据中的使用[Bengio等人,2013,Schmidhuber, 2015],还包括其在整个模型开发和部署生命周期中的作用,从增强训练和推理结果[Vaswani等人,2017,Devlin等人,2019,Lake等人,2017],到提高最终结果有效性的推理后调整[Nye等人,2021b, Dohan等人,2022]。

定义1 (结构)。在结构增强生成与推理的背景下,期限结构是指:
在这里插入图片描述
图1.1:本论文提案概述:本论文的目标是在模型开发和部署管道中集成结构。

a. 以系统、分层或关系的方式组织和表示数据、知识或信息[Pearl等人,2000;Bengio等人,2013;Hovy等人,2013]。这有助于捕捉不同元素之间的潜在关系和依赖关系,使人工智能系统更容易理解、生成和使用自然语言进行推理。例如,组织知识图来表示领域中实体之间的关系。
b. 利用数据问题域中存在的固有结构优化结果[Bahdanau等人,2014,Vaswani等人,2017,Battaglia等人,2018]。这包括使用数据或知识的结构属性来改进推理、决策或生成,以及增强人工智能系统的效率、可解释性或可扩展性。例如,使用解析树的结构来指导生成语法正确的句子。

注意,这个定义超越了关注数据排列的传统结构定义,并在定义中包含了过程。因此,我们对结构的定义既包括数据的结构,也包括过程本身。
在这里插入图片描述
图1.2:本文四个部分的示例:(a)在数据中注入结构进行微调,(b)结构增强建模,©在推理过程中利用结构,以及(d) LLM的推理后增强。

1.2 论文概述

本文探讨了结构在当代语言生成和推理模型中的重要意义。全文共分为四个部分:

第一部分:在数据中注入结构用于调优,涵盖三个章节,探索大型语言模型(llm)在各种任务中的高级应用。

  • 第2章研究了使用llm (NAACL 2021)生成文档的事件级时间图。它提出了使用llm自动生成文档事件级时间图的第一个研究,并证明了该方法的有效性。
  • 第3章介绍了SETAUG,一种有效利用序不变性和基数性的条件集生成新算法(EMNLP 2022)。通过在增强数据上训练序列到序列模型,该方法在多个基准数据集上取得了显著的改进。

第二部分:结构辅助建模 深入研究了结构增强的生成和推理。

  • 第5章重点介绍了文本风格迁移(ACL 2020),并提出了在没有并行数据的情况下有效和可解释的风格迁移技术。两个步骤的过程提高了性能和可解释性。
  • 第6章研究了使用图的结构化情景推理(ACL 2021, EMNLP 2021)。提出了一种分层混合专家模型,该模型可以有效地学习输入噪声图的条件,以提高推理能力。

第4章提出了一种使用llm和程序轨迹数据集(DL4C 2022接受的初步数据集版本)的程序中有针对性的算法优化方法。这项工作正在进行中,旨在改进编程任务的优化过程。

第三部分:在推理过程中利用结构探讨了图生成、结构化常识推理程序辅助语言模型的方法。

  • 第7章介绍了COCOGEN,这是一种使用大型语言模型进行结构化常识推理的新方法(EMNLP 2022)。它将结构化的常识性推理任务视为代码生成任务,允许预先训练的代码LMs作为结构化的常识性推理器执行得更好。
  • 第8章介绍了程序辅助语言模型(PAL)方法,它利用大型语言模型来理解和分解问题,同时将解决步骤外包给运行时(ICML 2023)。这种方法可以提高算术和符号推理任务的性能

第四部分:llm的推理后增强 研究了两章,重点是通过用户交互和迭代改进来增强大型语言模型(llm)。第9章介绍了MEMPROMPT,这是一种将GPT-3与用户反馈记忆相结合的方法,可提高跨不同任务的准确性(EMNLP 2022, NAACL 2022)。通过将GPT-3与不断增长的误解记录和用户反馈相结合,系统可以根据过去的用户反馈为新的查询生成增强的提示。MEMPROMPT的一种变体,称为FB-NET,利用对结构化生成的微调模型输出中的fx错误的反馈,并在naacl2022上被接受。

第10章介绍了SELF-REFINE,这是一个通过生成多方面反馈迭代精炼LLM输出的框架,在各种任务中展示了比直接生成的显著改进。拟议的工作旨在通过整合规划方法来扩展自我完善。

在这里插入图片描述
图1.1 作者的成果

关注微信公众号,获取更多资讯内容:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机主控的基本电路

论文 1.复位电路 2.启动模式设置接口 3.VBAT供电接口 4.MCU 基本电路 5.参考电压选择端口

python处理彩色图像通道拆分与合并

彩色图像通道拆分与合并 1. 使用 opencv2. 使用 numpy 待处理图像 ML.jpg 1. 使用 opencv import cv2 import matplotlib.pyplot as plt import numpy as np # 读取图像 # 读取图像 image cv2.imread(ML.jpg) plt.imshow(image) print(type(image)) # 输出&#xff1a;<…

Artix7系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTP高速接口,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的以太网方案本博已有的FPGA图像缩放方案本方案的缩放应用本方案在Xilinx--Kintex系列FPGA上的应用本方案在Xilinx--Zynq系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡…

【BUG】已解决: KeyboardInterrupt

已解决&#xff1a; KeyboardInterrupt 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者社区主理人 擅长.net、C…

vue v-for展示元素分两栏 中间使用分割线

1.效果展示: 2.代码展示: <template><div class"container"><div class"column" v-for"(item, index) in items" :key"index"><div class"item">{{ item }}</div><div v-if"index %…

注册安全分析报告:东方航空

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …

LeetCode 394, 61, 100

目录 394. 字符串解码题目链接标签思路代码 61. 旋转链表题目链接标签思路代码 100. 相同的树题目链接标签思路代码递归版前序遍历层序遍历 394. 字符串解码 题目链接 394. 字符串解码 标签 栈 递归 字符串 思路 本题可以使用两个栈来解决&#xff0c;一个栈 timesStack …

开源安全态势感知平台Security Onion

简介 Security Onion是一款由安全防御人员为安全防御人员构建的免费开放平台。它包括网络可见性、主机可见性、入侵检测蜜罐、日志管理和案例管理等功能。详细信息可以查看官网Security Onion Solutions 在网络可见性方面&#xff0c;Security Onion提供了基于签名的检测&…

JAVA:Filer过滤器+案例:请求IP访问限制和请求返回值修改

JAVA&#xff1a;Filer过滤器 介绍 Java中的Filter也被称为过滤器&#xff0c;它是Servlet技术的一部分&#xff0c;用于在web服务器上拦截请求和响应&#xff0c;以检查或转换其内容。 Filter的urlPatterns可以过滤特定地址http的请求&#xff0c;也可以利用Filter对访问请求…

Wireshark抓取HTTP

HTTP请求响应 使用wireshark抓取 本地机器是192.168.33.195&#xff0c;远程机器是192.168.32.129&#xff0c;远程HTTP服务端口是9005 TCP/IP实际共分为4层&#xff0c;抓包信息中可以看到各层的数据&#xff0c;最上面的数据帧包含了所有数据。 附&#xff1a;抓取本地H…

专题四:设计模式总览

前面三篇我们通过从一些零散的例子&#xff0c;和简单应用来模糊的感受了下设计模式在编程中的智慧&#xff0c;从现在开始正式进入设计模式介绍&#xff0c;本篇将从设计模式的7大原则、设计模式的三大类型、与23种设计模式的进行总结&#xff0c;和描述具体意义。 设计模式体…

Docker-compose单机容器集群编排

传统的容器管理&#xff1a;Dockerfile文件 -> 手动执行 docker build 一个个镜像的构建 -> 手动执行 docker run 一个个容器的创建和启动 容器编排管理&#xff1a;Dockerfile文件 -> 在docker-compose.yml配置模板文件里定义容器启动参数和依赖关系 -> 执行dock…

PlantUML-UML 绘图工具安装、Graphviz安装、本地使用/在线使用、语法、图示案例

文章目录 前言本地安装vscode安装插件下载安装Graphviz配置Graphviz环境变量测试 在线使用演示PlantUML语法总结活动图&#xff08;新语法&#xff09;时序图类图用例图其他图 更多相关内容可查看 前言 本篇提供两种使用方式分别为 在线使用地址1&#xff1a;https://www.pla…

在安卓手机上原生运行docker

前言 之前的文章(香橙派5plus上跑云手机方案一 redroid(带硬件加速))在Ubuntu的docker里运行安卓&#xff0c;这里说下怎么在安卓手机下运行docker&#xff0c;测试也可以跑Ubuntu。 想在手机上运行docker想的不是一天两天了&#xff0c;其实很久之前就有这个想法了&#xff…

Docker网络模式和Cgroup资源限制

目录 1、Docker网络 &#xff08;1&#xff09;Docker网络实现原理 查看容器的输出和日志信息 2、Docker 的网络模式 查看docker列表 &#xff08;1&#xff09;网络模式详解 1&#xff09;host模式 2&#xff09;container模式 3&#xff09;none模式 4&#xff09;br…

SpringCloud教程 | 第十篇: 读取Nacos的配置

1、nacos服务器选用 2、test.yaml这一个DataId配置如下&#xff1a; config:name: aabb222 spring:application:name: testdatasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/hmblogs?useUni…

MongoDB教程(十二):MongoDB数据库索引

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、MongoD…

【鸿蒙OS】【ArkUI】鸿蒙OS UI布局适配终极攻略

鸿蒙OS UI布局适配终极攻略 像素适配大法&#xff0c;此方法也适合Android ArkUI为开发者提供4种像素单位&#xff0c;框架采用vp为基准数据单位。 vp相当于Android里的dp fp相当于Android里的sp 官方是如何定义的呢,如下图 今天我来教大家如何用PX做到ArkUI的终级适配&…

Leetcode 2011. 执行操作后的变量值

问题描述&#xff1a; 存在一种仅支持 4 种操作和 1 个变量 X 的编程语言&#xff1a; X 和 X 使变量 X 的值 加 1--X 和 X-- 使变量 X 的值 减 1 最初&#xff0c;X 的值是 0 给你一个字符串数组 operations &#xff0c;这是由操作组成的一个列表&#xff0c;返回执行所有…

C++初学者指南-5.标准库(第一部分)--标准库算法介绍

C初学者指南-5.标准库(第一部分)–标准库算法介绍 文章目录 C初学者指南-5.标准库(第一部分)--标准库算法介绍C的标准算法是&#xff1a;第一个示例组织输入范围自定义可调用参数并行执行(C17)迭代器和范围的类别错误消息命名空间std::ranges中的算法 (C20)算法参数图标相关内容…