文献阅读:The Reversal Curse: LLMs trained on “A is B” fail to learn “B is A”
- 文献阅读:The Reversal Curse: LLMs trained on “A is B” fail to learn “B is A”
- 1. 文章简介
- 2. 实验 & 结果考察
- 1. finetune实验
- 2. 真实知识问答
- 3. 结论 & 思考
- 文献链接:https://arxiv.org/abs/2309.12288
1. 文章简介
这篇文章是前阵子挺受到关注的一篇文章,在各大公众号上面都有转发,因为里面的结论实在是有点惊人……
具体来说,文中对大模型的基础推理能力进行了一定的考察,结果发现大模型出人意料地并没有多少逻辑推理能力,更多的还是依赖其本身训练所使用的超大规模语料学习到的知识进行生成。
而关于这个结论的考察方法,文中则是主要采用了两方面的方法:
-
直接使用LLM,考察以名人为主语的问题以及以名人为答案的问题,然后对比回答的准确率;

-
基于LLM直接在"A is B"的语料上进行finetune,然后让模型分别回答"A is B"类型的问题以及"B is A"类型的问题,考察回答的准确率。

结论而言,两个实验都证明了LLM事实上对于逻辑推理能力的缺失,对于这类极其简单直接的逻辑关系的推理都无法获得正确的回答,这个结论基本就是对如今火热的LLM风潮狠狠地泼了一盆冷水,即便是我这种对于LLM并没有如此乐观的人,对于这个结论也是完完全全被惊呆了,实在是有点过于夸张了……
下面,我们就来看一下文中具体的实验细节以及得到的对应的结论。
2. 实验 & 结果考察
1. finetune实验
首先,第一部分的实验,文中考察了一下模型的finetune之后对于正反方向知识的回答准确性。
具体做法的话就是使用大量的"A is B"句式的文本对模型进行finetune,然后去考察"A is B"和"B is A"两类问题的回答准确性。
整体的实验示意图如下所示:

为了确保模型不会受到预训练大语料的影响,这里在finetune当中使用的实体与描述文本都是通过GPT生成的虚假存在,因此模型必须通过文本内容的理解来做出正确的回答。
文中得到的实验结果如下图所示:

可以看到:
- 正向与反向提问的结果在回答准确率上表现出了极大的准确率差异,大部分同为"A"是什么的问题都能够得到很好的回答,但是反向问"B"是什么的问题几乎都全军覆没了……
更加杀人诛心的是,文中还直接对比了反向回答当中正确答案与随机一个回答的log概率对比,得到结果如下:

可以看到:
- 模型对于正确答案的会大概率和随便蒙一个答案的概率事实上也没有相差多少。
- 而且,不只是仅在某一个大模型下,几乎在各类参数尺寸的大模型下,模型都表现出了相似的特性……
也就是说模型基本就是在乱蒙,根本没有理解文本的内容。哪怕对于模型的效果呈最悲观态度的人恐怕对于这个结果也是有些难以置信的……
2. 真实知识问答
不过,上述实验毕竟让模型经过了finetune,不再是原始的模型了,因此虽然概率不太大,但也有可能是finetune将模型给学坏了。
因此,文中还是用原始的模型也进行了一下实验,具体实验方式的话就如文中第一张图所示的那样(虽然文献中图片的第一个问题事实上写错了……),分别问名人的双亲是谁以及给出名人的双亲反推这个名人是谁,然后比较两类问题的回答表现。
文中得到的实验结果如下所示:

可以看到:
- 通过名人闻讯相关信息的准确率远高于给定名人的相关信息反猜名人的回答准确率。
这基本也能证明原始的大模型同样对于语义理解能力的缺失……
3. 结论 & 思考
综上,我们从这一系列实验中看到,目前的LLM基本都仅仅是依赖于从极大量的预训练语料当中学习并记住了海量的知识和句式才能够做到当前的模型效果的,但其本身依然是缺乏语义的理解能力的,哪怕是通过"A is B"反向推断"B is A"这种简单问题大模型居然依然缺乏理解能力。
固然,"A is B"这类问题还存在一对多,多对一,多对多这些情况的存在,因此要靠"A is B"推断"B is A"也并非是那么直接的情况,但是模型如此离谱的完全没有学到相应的知识也是委实有点过于夸张了,真就哪怕对LLM持有最悲观态度的人对于这类的结果也是多少有些难以置信了……
事实上,我个人也去chatgpt上面问了下诸如Messi,Bill Gates或者Justin Bieber等人的相关信息,并没有观察到文中所提到的现象,无论是回答亲属还是从亲属反推他们,ChatGPT都能够获得正确的回答,这个和文中的实验结果还是相悖的。
所以还是先等子弹再飞一会吧,还是希望LLM并非只是真的强行记住了知识,而是真的从大量的语料当中真的学到了一些语言当中的逻辑关系吧,否则真的只能寄希望于有人能够更进一步提出一个新的模型结构来替换Transformer了,而这个真的是太难了……
相关文章:
文献阅读:The Reversal Curse: LLMs trained on “A is B” fail to learn “B is A”
文献阅读:The Reversal Curse: LLMs trained on “A is B” fail to learn “B is A” 1. 文章简介2. 实验 & 结果考察 1. finetune实验2. 真实知识问答 3. 结论 & 思考 文献链接:https://arxiv.org/abs/2309.12288 1. 文章简介 这篇文章是前…...
真实感受:是智能家居在选择合适的技术!
科技从来都是为了让我们的生活更加的简单、舒适,而智能家居的智能,体现在如何更更更方便的使用我需要控制的家居。 例如:下班躺在床上想休息,房间和大厅的灯还开着,这时你会选择什么产品躺着解决问题? 红外…...
前端 TS 快速入门之二:接口
1. 接口有什么用 通过 interface 定义接口。 检测对象的属性,不会去检查属性的顺序,只要相应的属性存在并且类型也是对的就可以。 interface IPerson {name: string;age: number; } function say(person: IPerson): void {console.log(my name is ${pers…...
论文生成器(论文、文献综述、开题报告……),Java、Python、C++
“让论文生成器为您省时省力,轻松写出高质量的论文!” 2022年,腾讯全球数字生态大会腾讯云智能专场发布。 链接:http://xiezuo.saiertewl.cn/tb/xrWQed?dCodeh1xDrXmuhZbKPKgI&couponCodexiaoweilunwen...
【Java基础面试三十六】、遇到过异常吗,如何处理?
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:遇到过异常吗࿰…...
DASCTF-CBCTF-2023 Crypto部分复现
文章目录 EzRSACB backpack 这次比赛没打,记错时间了,看了一下,如果去做的话大概也只能做出那两道简单的题,还是太菜啦 EzRSA 题目描述: from Crypto.Util.number import * import random from gmpy2 import * from …...
为什么要做字节对齐 alignment?
下面这段 C 代码的输出是什么?定义的 Type 占用的字节数(下面简称为字节数)是多少呢? #include <iostream>struct Type {char a;int b; };int main(void) {std::cout << sizeof(Type) << \n; }经过编译运行&am…...
(零基础学习)Neo4j+Spring boot 自行定义属性
前置知识 1.Neo4j :属性 节点和关系都可以设置自己的属性。 属性是由Key-Value键值对组成,键名是字符串。属性值是要么是原始值,要么是原始值类型的一个数组。比如String,int和iint[]都是合法的。 注意 null不是一个合法的属性值。 Nulls能…...
【JavaEE】Java的文件IO
文件IO操作 Linux 下的文件操作讲解Java中的文件操作 -- 对文件的增删改查Java中对文件内容的操作 -- 读写操作使用案例 Linux 下的文件操作讲解 在我的Linux栏目下有, 如有需要, 点击下面进行跳转: 内存级文件系统语言级别的文教操作磁盘文件 Java中的文件操作 – 对文件的…...
域名解析与记录
域名解析是将域名转换为IP的过程,使得人们能够直接通过域名访问网站,而不用记繁琐的IP地址信息。而在域名解析中,CNAME记录和A记录是两个不同的记录类型。 A记录(Address Record,地址记录)是指将一个域名解…...
Android 13.0 第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法
1.概述 在13.0的系统产品中,对于内置第三方低版本app时,会有某些权限的冲突,导致在启动app时,崩溃掉,在查询相关日志发现是报权限的问题,所以就需要在安装解析app的时候,授予权限 2.第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法的核心类 /frameworks/base…...
【CSS】gird 网格
网格(Grid)是一种基于列数的布局系统,它可以帮助开发者创建具有水平和垂直分隔的页面布局。在CSS中,Grid是一种非常强大的布局工具,可以轻松地创建复杂的布局结构。Grid的主要属性包括: grid-template-col…...
(未完待续)【Netty专题】Netty实战与核心组件详解
目录 前言阅读对象阅读导航前置知识课程内容一、Netty简介1.1 Netty是什么1.2 Netty有什么优势 二、第一个Netty程序2.1 Netty简单使用示例2.2 代码解读2.3 Netty的特性2.3.1 Netty的事件 2.4 Netty线程模型 三、Netty核心组件详解(未完待续)3.1 EventLo…...
“第四十五天” 数据结构基本概念
目前看的有关数据结构的课,估计这周就看完了,但感觉差很多,还是和c一样,这样过一下吧。但可能比较急,目前是打算争取寒假回家之前把四大件都先大致过一遍。 数据结构里面有很多新的定义和概念,学到现在&am…...
《java 桌面软件开发》swing 以鼠标为中心放大缩小移动图片
swing 使用Graphic2D 绘制图片,要实现对图片进行缩放和自由拖动。 1.以鼠标所在的位置为中心,滚轮控制缩放 2.缩放后再支持鼠标拖动。 基本原理: 利用scale() 函数。进行缩放。但是要注意的地方是,如果是在 public void paintCom…...
浅析人脸活体检测技术的功能及几种分类
在日常生活工作中,出现了人脸验证、人脸支付、人脸乘梯、人脸门禁等等常见的应用场景。这说明人脸识别技术已经在门禁安防、金融行业、教育医疗等领域被广泛地应用,人脸识别技术的高速发展与应用同时也出现不少质疑。其中之一就是人脸识别很容易被照片、…...
【Java基础面试三十五】、谈谈你对面向接口编程的理解
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:谈谈你对面向接口编程的…...
利用TreeMap来达成离散化的目的
假如有一些奶牛,他们有种类的区别,我们设黑色奶牛的id为1000010000,白色为1,诸如此类以此类推还有红色等各种颜色,接下来给你一群奶牛的颜色id让你统计每种颜色的奶牛有几头。 如过我们使用数组显然1000010000会爆空间…...
PG14安装_rpm方式
一、前期准备 发现生产环境有用rpm安装,故整理安装rpm安装步骤,目的是准备walminer恢复数据用的环境 二、安装包下载 https://download.postgresql.org/pub/repos/yum/ 含多个版本 https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x…...
水管安装过滤器笔记
文章目录 方案准备工具剪管钳热熔器软管接头及单向阀扳手 操作过程花洒 搬家后,水质不行,洗脸掉皮,洗头以前不掉头皮屑的,居然也掉头皮屑。有必要简单过滤下了。 水质情况,并不是脏脏的的那种水,看上去还比…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
