干货! ICLR:将语言模型绑定到符号语言中个人信息
点击蓝字
关注我们
AI TIME欢迎每一位AI爱好者的加入!
╱ 作者简介╱
承洲骏
上海交通大学硕士生,研究方向为代码生成,目前在香港大学余涛老师的实验室担任研究助理。
个人主页:http://blankcheng.github.io
谢天宝
香港大学一年级博士生,由余涛教授(主要)和孔令鹏教授指导,研究方向为代码生成和自然语言界面。
01
内容简介
尽管端到端(End-to-end)的方法最近在性能和易用性方面主导了NLP任务,但它们缺乏可解释性和鲁棒性。我们提出 Binder,一种无需训练的神经符号框架,可将任务输入映射到程序,它(1)允许将语言模型(LM)功能的统一API绑定到编程语言(例如SQL、Python)以扩展它的语法覆盖范围,从而大幅增加了可解决问题的范围,(2)采用LM作为程序解析器和API,在执行期间调用的底层模型,(3)只需要少量(10个左右)上下文中的示例注释,区别于与过去需要大量人工标注的程序生成方法。
具体来说,我们使用GPT-3 Codex作为LM。在生成程序阶段,Codex只需要少量的上下文范例,就能识别任务输入中原始编程语言无法回答的部分,正确生成API调用提示Codex解决无法回答的部分,并识别在与原始语法兼容的同时放置API调用的位置。在执行阶段,Codex可以在API调用中给出适当提示的情况下执行多种功能(例如,常识性问答、信息提取)。Binder 在WikiTableQuestions和TabFact数据集上取得了最先进的结果,且生成有利于人工调试的显式输出程序。以前最好的系统都是在数万个特定于任务的样本上进行微调的,而Binder仅使用数十个注释作为上下文范例,无需进行任何训练。
02
Background knowledge and paradigms
on solving NLP tasks
下图中表示的问题是:北美最畅销的不含化学成分的衬衫是哪一种?表中显示的内容类似于购物的一个真实场景,其中包含商品的标签以及一些细节性的描述,而蓝色字体描述的内容是无法从图中获取的,Binder的提出也就是为了解决这个问题。
下面先介绍一些常用的方法。第一种是最常见的End-to-End模式。由于大模型具有较强的自学能力,不需要进行训练,所以在End-to-End中,会将knowledge、question、answer等组合对以及测试样本一起作为输入,让GPT-3或者Codex直接生成答案。End-to-End的好处在于通用性很强,任何形式的formulation都可以作为输入,大模型都能够给出一个输出作为答案,但也存在一些缺点,比如可解释性差、可扩展性差、鲁棒性弱。
第二种是思维链方法,它与End-to-End的核心区别在于其在输出答案之前,会输出一段解释性的文字,描述推理的过程。这相对于End-to-End来讲提升了可解释性,但是可解释性是不高的,会存在一些错误,并且仍然会有可扩展性差、鲁棒性弱的问题。
第三种方法是Semantic parsing,在这个场景下也可以称之为Code generation,Binder是基于该方法的一种变形。它在给定自然语言输入的情况下生成可执行程序,生成有助于解决问题的中间结构,并提高神经方法的可解释性,而且可扩展性和鲁棒性也会更强。但是语义解析方法受限于其语法覆盖范围,无法解决需要外部知识或功能的问题。
03
Binder: Binding language models in
symbolic languages
所以我们根据上述方法存在的问题提出了Binder,Binder通过调用语言模型的API去解决语义分割解析方法中存在的局限,且相对于End-to-End和思维链方法具有更强的可解释性、可扩展性以及鲁棒性。
具体来介绍一下Binder的整个过程。Binder首先提示经过代码预训练的GPT-3模型 – Codex,将问题输入解析为Binder程序,其中Codex必须决定(1)输入中的哪些部分可以转换为目标编程语言(图1中以灰色突出显示的问题部分),(2)相应的任务API调用(例如,f(“北美?”;Made_in))提示Codex解决其他部分,以及(3)在哪里插入Binder程序中的API调用。接下来,Binder再次提示Codex生成任务API调用的答案(给定生成的任务提示),将生成的结果集成回编程语言。具体如图1,将API调用中的提示(如“北美?”)和数据(如Made_in列)送入Codex,输出为根据输入数据回答提示的新列(即,Made_in列中的国家是否来自北美)。最后,使用标准编程语言执行程序,得出最终答案。
相比传统的Semantic parsing方法,Binder基于大模型上下文学习的能力,只需要标注少量的样本就能取得很好的效果。
我们在实验中也做了很多定量的分析去判断Binder是否有效果及性能上的提升。我们选择的两个数据集是WikiTableQuestions (WikiTQ)和Table Fact Checking (TabFact)。WikiTQ需要复杂的表格推理技能来回答问题,存在一些WikiTQ问题无法用纯SQL回答,这要么是因为需要额外的知识,要么是因为SQL语法的覆盖范围有限。TabFact与WikiTQ的区别在于对于每一张表它都会给出一个陈述,一个陈述中有多个事实需要去验证,也就是说需要很复杂的推理步骤,并且也不能完全用符号语言来解决问题。
下图是我们的实验结果。我们的方法仅用到14个标注样本,相比已有的Finetuned的SOTA方法,性能的提升非常显著。与大模型的方法相比,相对于End-to-end以及普通的语义分割解析方法,在性能上都有明显的提升。这也就验证了最初提出Binder的研究动机,我们希望在需要SQL或者大模型的时候都能够便捷地融入各自的功能。
效果的提升大部分是源于program-unsolvable questions,即普通SQL和Python无法解决的问题,就需要一些额外的知识或者其他模态的推理。我们将这部分的结果拆解开看,在下图中可以看到Codex Binder在程序无法解决的问题上明显优于Codex SQL 10.1%,所以这是性能主要提升的关键。
除了性能优势以外,我们也探索了很多binder其他的优势。
首先是可解释性,显式的程序可以协助研究者去进行人工调试和错误分析,这一点End-to-End是做不到的。
第二点是可扩展性和鲁棒性。我们通过提示Codex用相关的行填充原始表,扩展成100、200和500行的表,并人工修改相应的问题和答案。我们发现随着表大小的增加,End-to-end的性能急剧下降,而Binder始终优于它,性能仅略有下降。当存在与问题相关内容相似的干扰因素时,End-to-end方法对嘈杂的输入更脆弱,更容易被相似的文本和数字混淆。
04
Extending Binder to more diverse
tasks and domains
我们尝试将Binder扩展到不同的领域和语言。首先是多模态的输入,我们使用的数据集是Multi-modal QA,它的输入包括表格、文本及图片。在这样的场景下,我们的方法几乎可以达到之前的SOTA水平,如果使用更好的模型作为语言模型API的话,性能会提升更多。
我们将Binder扩展到不同的语言——Python中。我们可以看到他在 problem-unsolved部分的提升也是很显著的。
我们希望(1)Binder在之后可以被利用到让大家更熟悉的领域或者符号、编程语言中(2)Binder能够集成更多的语言或视觉模型功能;(3)Binder被应用到更多的领域和任务当中。
最后我们简单绘制了将Binder应用到新领域或新任务的流程图,一共分为5个部分。其中,需要耗费人工的,只有两点。第一,需要人为标注少量Binder的程序;第二,需要用户对任务较熟悉,能够根据自己的经验挑选所用到的语言模型的API。
整理:陈研
审核:承洲骏 谢天宝
提
醒
点击“阅读原文”跳转到1:19:01可以查看回放哦!
往期精彩文章推荐
记得关注我们呀!每天都有新知识!
关于AI TIME
AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
迄今为止,AI TIME已经邀请了1000多位海内外讲者,举办了逾550场活动,超600万人次观看。
我知道你
在看
哦
~
点击 阅读原文 查看回放!
相关文章:

干货! ICLR:将语言模型绑定到符号语言中个人信息
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! ╱ 作者简介╱ 承洲骏 上海交通大学硕士生,研究方向为代码生成,目前在香港大学余涛老师的实验室担任研究助理。 个人主页:http://blankcheng.github.io 谢天宝 香港大学一年级…...

Windows安装mariadb,配置环境变量(保姆级教学)
软件下载地址:https://mariadb.com/downloads/ 1.双击下载好的软件 2.点击next 3.勾选我同意,点击next 4.这里那你可以设置你要安装的路径,也可以使用默认的,之后点击next 5.如图所示,设置完点击next 6.接下来就默…...
华为OD机试 - 积木最远距离(Python)
题目描述 小华和小薇一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离,小薇请你帮忙替她解决这个问题。 输入描…...
关于对于springcloud中的注册中心和consume消费者和provier服务者之间的关系理解
关于对于springcloud中的注册中心和consume消费者和provier服务者之间的关系理解 pringCloud provider(服务提供方) consumer(服务调用方) server(注册中心) 运行原理 Provider 第一步 provider注册到se…...
【学习笔记】「JOISC 2022 Day1」错误拼写
久违的字符串计数题。 显然只用考虑 [ i : j ] [i:j] [i:j]这一段拼成的串。不难得出结论:设 n x t i nxt_i nxti表示 i i i之后第一个本质不同的字符的位置,那么 n x t i ≤ j nxt_i\le j nxti≤j,并且 s i ? s n x t i s_i?s_{nxt_i…...

码出高效:Java开发手册笔记(线程池及其源码)
码出高效:Java开发手册笔记(线程池及其源码) 码出高效:Java开发手册笔记(线程池及其源码) 码出高效:Java开发手册笔记(线程池及其源码)前言一、线程池的作用线程的生命周…...

【MySQL】交叉连接、自然连接和内连接查询
一、引入 实际开发中往往需要针对两张甚至更多张数据表进行操作,而这多张表之间需要使用主键和外键关联在一起,然后使用连接查询来查询多张表中满足要求的数据记录。一条SQL语句查询多个表,得到一个结果,包含多个表的数据。效率高…...
长/短 链接/轮询 和websocket
短连接和长连接 短连接: http协议底层基于socket的tcp协议,每次通信都会新建一个TCP连接,即每次请求和响应过程都经历”三次握手-四次挥手“优点:方便管理缺点:频繁的建立和销毁连接占用资源 长连接: 客…...
数据库的事务
数据库的事务 1、事务是什么 TRANSACTION(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 2、事务可以做什么 数据库事务通常包含了一个序列的对数据库的读/写操作。包含有以下两个目的: …...

专利进阶(二):专利撰写常用技术及算法汇总(持续更新中)
文章目录 一、前言二、常用技术及算法2.1 区跨链技术2.2 聚类算法2.3 边缘算法2.4 蚁群算法2.4.1 路径构建2.4.2 信息素更新 2.5 哈希算法2.5.1 常见算法 2.6 数字摘要2.72.82.92.10 三、拓展阅读 一、前言 专利撰写过程中使用已有技术或算法解决新问题非常常见,本…...

C#手术麻醉临床信息系统源码,实现体征数据自动采集绘制
手麻系统源码,自动生成电子单据 基于C# 前端框架:Winform后端框架:WCF 数据库:sqlserver 开发的手术麻醉临床信息系统源码,应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期,对病人进…...

现代CMake高级教程 - 第 7 章:变量与缓存
双笙子佯谬老师的【公开课】现代CMake高级教程课程笔记 第 7 章:变量与缓存 重复执行 cmake -B build 会有什么区别? ❯ cmake -B build -- The C compiler identification is GNU 11.3.0 -- The CXX compiler identification is GNU 11.3.0 -- Detec…...

SQL知识汇总
什么时候用存储过程合适 当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑;…...

区位码-GB2312
01-09区为特殊符号 10-15区为用户自定义符号区(未编码) 16-55区为一级汉字,按拼音排序 56-87区为二级汉字,按部首/笔画排序 88-94区为用户自定义汉字区(未编码) 特殊符号 区号:01 各类符号 0 1 2 3 4 …...

文本识别、截图识别保存和多文件识别
一、源码 github源码 二、介绍 采用Tesseract OCR识别 采用多线程进行图片识别 界面 选择 文件是可以识别本地的多张图片文件夹是识别文件夹里面的所有图片的内容截图 可以复制到剪切板、可以识别也可以直接保存 重置 是清除选择的图片和识别结果语言选择 是选择不同的模型…...

针对近日ChatGPT账号大批量封禁的理性分析
文 / 高扬 这两天不太平。 3月31号,不少技术圈的朋友和我闲聊说,ChatGPT账号不能注册了。 我不以为然,自己有一个号足够了,并不关注账号注册的事情。 后面又有不少朋友和我说ChatGPT账号全部不能注册了,因为老美要封锁…...
MATLAB算法实战应用案例精讲-【人工智能】对比学习(概念篇)
目录 前言 几个高频面试题目 推荐领域的对比学习在设计代理任务时与CV和NLP领域有什么不同?...

WeakMap 与 WeakSet
WeakSet WeakSet 结构与 Set 类似,也是不重复的值的集合。 成员都是数组和类似数组的对象,WeakSet 的成员只能是对象,而不能是其他类型的值。 若调用 add() 方法时传入了非数组和类似数组的对象的参数,就会抛出错误。 const b …...

【hello Linux】进程信号
目录 1. 进程信号的引出及整体概况 2. 信号的产生 1. 键盘产生 2. 进程异常 3. 系统调用 4. 软件条件 3. 信号的保存 1. 信号相关的常见概念 2. sigset_t 3. 信号集操作函数 4. sigprocmask:对block位图的操作 5. sigpending:对pending位图的操作 6. 捕捉…...
【SpringBoot】获取HttpServletRequest的三种方式
方法一: Controller中增加request参数 RestController public class DemoController { RequestMapping("/demo")public void demo(HttpServletRequest request) { System.out.println(request.getParameter("hello"));} }线程安全缺点: 每个方法都…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...