当前位置: 首页 > news >正文

干货! ICLR:将语言模型绑定到符号语言中个人信息

点击蓝字

c88e490fa1bab6fc0a7805a0fbfff929.jpeg

关注我们

AI TIME欢迎每一位AI爱好者的加入!

╱ 作者简介╱

2b1ad1cd7afb28e28f86785b3b53dd8a.png

承洲骏

上海交通大学硕士生,研究方向为代码生成,目前在香港大学余涛老师的实验室担任研究助理。

个人主页:http://blankcheng.github.io

7f7fdb15714da0963ef11ff54ffa5d80.png

谢天宝

香港大学一年级博士生,由余涛教授(主要)和孔令鹏教授指导,研究方向为代码生成和自然语言界面。

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的提出也就是为了解决这个问题。

58bcc89fc6235875aa31a5df2c297f8a.png

下面先介绍一些常用的方法。第一种是最常见的End-to-End模式。由于大模型具有较强的自学能力,不需要进行训练,所以在End-to-End中,会将knowledge、question、answer等组合对以及测试样本一起作为输入,让GPT-3或者Codex直接生成答案。End-to-End的好处在于通用性很强,任何形式的formulation都可以作为输入,大模型都能够给出一个输出作为答案,但也存在一些缺点,比如可解释性差、可扩展性差、鲁棒性弱。

86aecafcedd32b552093e276ba35c062.png

第二种是思维链方法,它与End-to-End的核心区别在于其在输出答案之前,会输出一段解释性的文字,描述推理的过程。这相对于End-to-End来讲提升了可解释性,但是可解释性是不高的,会存在一些错误,并且仍然会有可扩展性差、鲁棒性弱的问题。

8e1627db14c334f36a0982955ae8ee5c.png

第三种方法是Semantic parsing,在这个场景下也可以称之为Code generation,Binder是基于该方法的一种变形。它在给定自然语言输入的情况下生成可执行程序,生成有助于解决问题的中间结构,并提高神经方法的可解释性,而且可扩展性和鲁棒性也会更强。但是语义解析方法受限于其语法覆盖范围,无法解决需要外部知识或功能的问题。

7c3b6627c791b3f6c2ae0ee89197f93a.png

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列中的国家是否来自北美)。最后,使用标准编程语言执行程序,得出最终答案。

615aaddb428d0fb94b88606aea7d566e.png

相比传统的Semantic parsing方法,Binder基于大模型上下文学习的能力,只需要标注少量的样本就能取得很好的效果。

我们在实验中也做了很多定量的分析去判断Binder是否有效果及性能上的提升。我们选择的两个数据集是WikiTableQuestions (WikiTQ)和Table Fact Checking (TabFact)。WikiTQ需要复杂的表格推理技能来回答问题,存在一些WikiTQ问题无法用纯SQL回答,这要么是因为需要额外的知识,要么是因为SQL语法的覆盖范围有限。TabFact与WikiTQ的区别在于对于每一张表它都会给出一个陈述,一个陈述中有多个事实需要去验证,也就是说需要很复杂的推理步骤,并且也不能完全用符号语言来解决问题。

下图是我们的实验结果。我们的方法仅用到14个标注样本,相比已有的Finetuned的SOTA方法,性能的提升非常显著。与大模型的方法相比,相对于End-to-end以及普通的语义分割解析方法,在性能上都有明显的提升。这也就验证了最初提出Binder的研究动机,我们希望在需要SQL或者大模型的时候都能够便捷地融入各自的功能。

8dc4f928790259ad13d814a48de27c3a.png

效果的提升大部分是源于program-unsolvable questions,即普通SQL和Python无法解决的问题,就需要一些额外的知识或者其他模态的推理。我们将这部分的结果拆解开看,在下图中可以看到Codex Binder在程序无法解决的问题上明显优于Codex SQL 10.1%,所以这是性能主要提升的关键。

2de2423a5335978852f6efec46784a98.png

除了性能优势以外,我们也探索了很多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的话,性能会提升更多。

ff048b70067ac695d93a6fa6dba798ff.png

我们将Binder扩展到不同的语言——Python中。我们可以看到他在 problem-unsolved部分的提升也是很显著的。

5df5c41faea9afc4b5768cb9823d0ad2.png

我们希望(1)Binder在之后可以被利用到让大家更熟悉的领域或者符号、编程语言中(2)Binder能够集成更多的语言或视觉模型功能;(3)Binder被应用到更多的领域和任务当中。

最后我们简单绘制了将Binder应用到新领域或新任务的流程图,一共分为5个部分。其中,需要耗费人工的,只有两点。第一,需要人为标注少量Binder的程序;第二,需要用户对任务较熟悉,能够根据自己的经验挑选所用到的语言模型的API。

2774118204f4f794d186228b2642e95d.png

整理:陈研

审核:承洲骏 谢天宝

点击“阅读原文”跳转到1:19:01可以查看回放哦!

往期精彩文章推荐

11982f5a1e5e139b83697e5add05b53a.jpeg

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了1000多位海内外讲者,举办了逾550场活动,超600万人次观看。

ce8769fb07272418173c803e12950d32.png

我知道你

在看

~

8ed2df839b38cbb03b3b909d24d7e683.gif

点击 阅读原文 查看回放!

相关文章:

干货! 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语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑&#xff1b…...

区位码-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"));} }线程安全缺点: 每个方法都…...

3步突破设备壁垒:让VR内容在普通显示器上重生的开源方案

3步突破设备壁垒:让VR内容在普通显示器上重生的开源方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_…...

RDK X5上800万像素摄像头延迟从7秒降到200ms:我的5个月踩坑与优化实录

RDK X5高分辨率摄像头优化实战:从7秒延迟到200ms的性能飞跃 深夜的显示器前,我盯着屏幕上缓慢刷新的图像——32642448分辨率下,每按一次快门要等待7秒才能看到结果。作为一名在嵌入式视觉领域摸爬滚打多年的开发者,这种性能表现简…...

VMware Workstation 16保姆级教程:Windows Server 2019虚拟机安装全流程(含避坑指南)

VMware Workstation 16实战指南:Windows Server 2019虚拟机高效部署与深度优化 在数字化转型浪潮中,本地虚拟化环境搭建已成为开发者和运维人员的核心技能。作为业界标杆的VMware Workstation 16与Windows Server 2019的组合,能够完美模拟企业…...

前开发转行AI萨满:给大模型驱魔收费百万

在人工智能的狂潮中,一个看似荒诞的职业正在硅谷悄然兴起——AI萨满。他们不是巫师,而是精通软件测试的前开发者,用测试思维为大型语言模型“驱魔”,收费高达百万。本文将从软件测试的专业视角,揭秘这一转型背后的逻辑…...

OpenClaw备份恢复指南:ollama-QwQ-32B模型与技能迁移方案

OpenClaw备份恢复指南:ollama-QwQ-32B模型与技能迁移方案 1. 为什么需要备份恢复方案 上周我的主力开发机突然硬盘故障,导致整个OpenClaw环境丢失。最痛苦的不是重装软件,而是那些精心调教过的技能配置和任务历史记录全部归零。这次经历让我…...

算法---寻找和为K的子数组

560. 和为 K 的子数组 - 力扣(LeetCode) 最直观的解法就是暴力解: class Solution:def subarraySum(self, nums: List[int], k: int) -> int:count 0n len(nums)for i in range(n):current_sum 0for j in range(i, n):current_sum nu…...

Z-Image-Turbo-rinaiqiao-huiyewunv 复杂场景生成挑战赛获奖作品赏析

Z-Image-Turbo-rinaiqiao-huiyewunv 复杂场景生成挑战赛获奖作品赏析 最近,我花了不少时间研究社区里的一场AI图像生成挑战赛,主题是“复杂场景生成”。参赛者们用的是一个叫Z-Image-Turbo-rinaiqiao-huiyewunv的模型,名字有点长&#xff0c…...

5大突破性功能:彻底革新StardewMods体验的核心增强工具

5大突破性功能:彻底革新StardewMods体验的核心增强工具 【免费下载链接】StardewMods Mods for Stardew Valley using SMAPI. 项目地址: https://gitcode.com/gh_mirrors/st/StardewMods 在星露谷物语的世界里,每位农场主都曾面临过重复劳作的枯燥…...

从像素到对象:如何用HANet和SNUNet搞定遥感影像中的‘小目标’与‘不平衡’难题?

从像素到对象:HANet与SNUNet在遥感影像小目标检测中的实战解析 当洪水退去后的灾损评估卫星图上,那些被冲毁的农舍屋顶往往只占据几个像素;在城市违建监测中,新增的违章建筑可能只是高分辨率影像中的微小色块。这些"小目标&q…...

当服务器内存足够大时:为什么我建议你在CentOS 8上彻底禁用Swap?

大内存时代:CentOS 8禁用Swap的云原生性能优化实践 在云计算与容器化技术席卷全球的今天,服务器硬件配置正经历着革命性变化。128GB、256GB甚至TB级内存已成为现代服务器的标配,而传统Linux内存管理机制中的Swap分区在这种新硬件环境下是否还…...