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

文献阅读: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. 文章简介

这篇文章是前阵子挺受到关注的一篇文章,在各大公众号上面都有转发,因为里面的结论实在是有点惊人……

具体来说,文中对大模型的基础推理能力进行了一定的考察,结果发现大模型出人意料地并没有多少逻辑推理能力,更多的还是依赖其本身训练所使用的超大规模语料学习到的知识进行生成。

而关于这个结论的考察方法,文中则是主要采用了两方面的方法:

  1. 直接使用LLM,考察以名人为主语的问题以及以名人为答案的问题,然后对比回答的准确率;

    在这里插入图片描述

  2. 基于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基础面试三十六】、遇到过异常吗,如何处理?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:遇到过异常吗&#xff0…...

DASCTF-CBCTF-2023 Crypto部分复现

文章目录 EzRSACB backpack 这次比赛没打,记错时间了,看了一下,如果去做的话大概也只能做出那两道简单的题,还是太菜啦 EzRSA 题目描述: from Crypto.Util.number import * import random from gmpy2 import * from …...

为什么要做字节对齐 alignment?

下面这段 C 代码的输出是什么&#xff1f;定义的 Type 占用的字节数&#xff08;下面简称为字节数&#xff09;是多少呢&#xff1f; #include <iostream>struct Type {char a;int b; };int main(void) {std::cout << sizeof(Type) << \n; }经过编译运行&am…...

(零基础学习)Neo4j+Spring boot 自行定义属性

前置知识 1.Neo4j :属性 节点和关系都可以设置自己的属性。 属性是由Key-Value键值对组成&#xff0c;键名是字符串。属性值是要么是原始值&#xff0c;要么是原始值类型的一个数组。比如String&#xff0c;int和iint[]都是合法的。 注意 null不是一个合法的属性值。 Nulls能…...

【JavaEE】Java的文件IO

文件IO操作 Linux 下的文件操作讲解Java中的文件操作 -- 对文件的增删改查Java中对文件内容的操作 -- 读写操作使用案例 Linux 下的文件操作讲解 在我的Linux栏目下有, 如有需要, 点击下面进行跳转: 内存级文件系统语言级别的文教操作磁盘文件 Java中的文件操作 – 对文件的…...

域名解析与记录

域名解析是将域名转换为IP的过程&#xff0c;使得人们能够直接通过域名访问网站&#xff0c;而不用记繁琐的IP地址信息。而在域名解析中&#xff0c;CNAME记录和A记录是两个不同的记录类型。 A记录&#xff08;Address Record&#xff0c;地址记录&#xff09;是指将一个域名解…...

Android 13.0 第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法

1.概述 在13.0的系统产品中,对于内置第三方低版本app时,会有某些权限的冲突,导致在启动app时,崩溃掉,在查询相关日志发现是报权限的问题,所以就需要在安装解析app的时候,授予权限 2.第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法的核心类 /frameworks/base…...

【CSS】gird 网格

网格&#xff08;Grid&#xff09;是一种基于列数的布局系统&#xff0c;它可以帮助开发者创建具有水平和垂直分隔的页面布局。在CSS中&#xff0c;Grid是一种非常强大的布局工具&#xff0c;可以轻松地创建复杂的布局结构。Grid的主要属性包括&#xff1a; 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核心组件详解&#xff08;未完待续&#xff09;3.1 EventLo…...

“第四十五天” 数据结构基本概念

目前看的有关数据结构的课&#xff0c;估计这周就看完了&#xff0c;但感觉差很多&#xff0c;还是和c一样&#xff0c;这样过一下吧。但可能比较急&#xff0c;目前是打算争取寒假回家之前把四大件都先大致过一遍。 数据结构里面有很多新的定义和概念&#xff0c;学到现在&am…...

《java 桌面软件开发》swing 以鼠标为中心放大缩小移动图片

swing 使用Graphic2D 绘制图片&#xff0c;要实现对图片进行缩放和自由拖动。 1.以鼠标所在的位置为中心&#xff0c;滚轮控制缩放 2.缩放后再支持鼠标拖动。 基本原理&#xff1a; 利用scale() 函数。进行缩放。但是要注意的地方是&#xff0c;如果是在 public void paintCom…...

浅析人脸活体检测技术的功能及几种分类

在日常生活工作中&#xff0c;出现了人脸验证、人脸支付、人脸乘梯、人脸门禁等等常见的应用场景。这说明人脸识别技术已经在门禁安防、金融行业、教育医疗等领域被广泛地应用&#xff0c;人脸识别技术的高速发展与应用同时也出现不少质疑。其中之一就是人脸识别很容易被照片、…...

【Java基础面试三十五】、谈谈你对面向接口编程的理解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;谈谈你对面向接口编程的…...

利用TreeMap来达成离散化的目的

假如有一些奶牛&#xff0c;他们有种类的区别&#xff0c;我们设黑色奶牛的id为1000010000&#xff0c;白色为1&#xff0c;诸如此类以此类推还有红色等各种颜色&#xff0c;接下来给你一群奶牛的颜色id让你统计每种颜色的奶牛有几头。 如过我们使用数组显然1000010000会爆空间…...

PG14安装_rpm方式

一、前期准备 发现生产环境有用rpm安装&#xff0c;故整理安装rpm安装步骤&#xff0c;目的是准备walminer恢复数据用的环境 二、安装包下载 https://download.postgresql.org/pub/repos/yum/ 含多个版本 https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x…...

水管安装过滤器笔记

文章目录 方案准备工具剪管钳热熔器软管接头及单向阀扳手 操作过程花洒 搬家后&#xff0c;水质不行&#xff0c;洗脸掉皮&#xff0c;洗头以前不掉头皮屑的&#xff0c;居然也掉头皮屑。有必要简单过滤下了。 水质情况&#xff0c;并不是脏脏的的那种水&#xff0c;看上去还比…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...