背诵不等于理解,深度解析大模型背后的知识储存与提取

news2024/11/24 17:18:52

自然语言模型的背诵 (memorization) 并不等于理解。即使模型能完整记住所有数据,也可能无法通过微调 (finetune) 提取这些知识,无法回答简单的问题。

随着模型规模的增大,人们开始探索大模型是如何掌握大量知识的。一种观点认为这归功于 “无损压缩”,即模型通过大量训练,记忆更多内容以提高预测精度。但 “无损压缩” 真的能让大模型理解这些知识吗?朱泽园 (MetaAI) 和李远志 (MBZUAI) 的最新研究《语言模型物理学 Part 3.1:知识的储存与提取》深入探讨了这个问题

论文地址:https://arxiv.org/pdf/2309.14316.pdf

对于人类,有句话叫 “书读百遍,其意自现”。这句话虽不适用于所有知识,但对于简单知识,只要我们能记住相关书籍,就能轻松回答相关问题。例如,只要我们记住古诗 “静夜思”,就能轻松回答 “诗里把月光比作了什么?”;只要我们记住百度百科关于 “出师表 / 创作背景” 那一段,就能轻松回答 “出师表的创作时间是什么?”。那么,大模型是否也能做到这一点呢?

图片

图 1:GPT-4 的一些知识提取的实例(左图为 ChatGPT,右图为 API)

GPT-4 虽然能理解并复述与问题相关的段落,但为何它无法像人类一样回答简单的问题呢?是因为模型不够大,记忆力不足,还是训练后的微调不够?都不是!文章指出,即使自然语言模型足够大,训练时间足够长,微调也足够充分,但它仍可能无法回答人类认为简单的问题。这其中的深层原因,与知识在预训练数据集 (pretrain data) 中的呈现方式有关。同一知识,需要在预训练数据集中多次出现,且具有足够的 “多样性”,微调后才更容易被提取出来。

为了证实这一点,两位作者创建了一个包含 100k 个人物传记的数据集,每个人物有一个传记条目,包含人名和六个固定属性:出生日期,出生地,大学专业,大学名称,工作地点,工作单位。他们设计了 BioS 和 BioR 两种数据集,BioS 的每个句子选自 50 种固定模板,BioR 则用 LLaMA-30B 进行改写,更逼真,多样性更大。两种数据集的结果一致,下面以 BioS 为例,展示一个样例条目:

Anya Briar Forger was born on October 2, 1996. She spent her early years in Princeton, NJ. She received mentorship and guidance from faculty members at MIT. She completed her education with a focus on Communications. She had a professional role at Meta Platforms. She was employed in Menlo Park, CA.

图 2

一个自然语言模型即使完美地预训练 (pretrain) 了 100k 个人的自传,也无法通过 QA 微调 (finetuning) 准确回答 “Anya 本科念了哪所学校” 这样的问题。如图 2 所示,即使使用 50k 的人作为 QA 微调训练数据,尝试各种微调方法,包括 LoRA,模型在剩下的 50k 人上的正确率也只有 10%。即使使用了 682M 的模型(比人数大 7000 倍),训练了 1350 遍,作者甚至加入了 WikiBook 等标准 NLP 预训练数据,正确率也没有提升。可见 “大力出奇迹” 并没有发生。

因此,大模型并不一定能掌握或提取 “无损压缩” 的知识。那么 GPT-4 是如何掌握知识的呢?为了研究这一问题,两位作者对预训练集进行改动 —— 作者称之为知识增强

1、多样性 - multiM:为每个人创建 M 个传记条目,使用不同的叙述语言但保留相同的信息(每句话一共有 100 种叙述方法,每条传记的每句话从中选取一种)

2、随机排列 - permute:对传记句子进行随机排列

3、全名 - fullname:将传记里所有代词、姓、名替换全名

作者把原始数据集称为 bioS single,并试验了 15 种知识增强组合。例如,bioS multi5+permute 表示每人有 5 个传记,语序打乱。以下是 bioS multi5+permute 的一个示例:

Anya Briar Forger originated from Princeton, NJ. She dedicated her studies to Communications. She gained work experience in Menlo Park, CA. She developed her career at Meta Platforms. She came into this world on October 2, 1996. She pursued advanced coursework at MIT.

对于人和大模型,记住 bioS single 和 bioS multi5+permute 两个数据集的难度几乎相同(它们信息量相同,并且每句话都是选自 50 个模板)。那么,如果在这个新的知识增强数据集上进行预训练 (pretrain),然后 QA 微调,会有什么新的表现吗?

图片

图 3

图 3 显示,bioS single 预训练模型的 QA 正确率仅为 9.7%,而 bioS multi5+permute 预训练模型的正确率高达 96.6%。这个显著的提升与模型的微调、大小或训练时间无关,而是与知识在预训练 (pretrain) 中的呈现方式有关,即知识如何被大模型 “背诵”。

研究还发现,将传记分为名人 (celebrity) 和少数群体 (minority),只要名人传记有知识增强,即使少数群体没有,模型对少数群体的知识提取正确率也会大幅提升 —— 当然,最好的效果还是需要对所有数据进行知识增强。

图片

图 4:仅仅通过增加名人 (celebrity) 的训练数据多样性,少数群体的知识提取正确率猛增

那么为何背诵不同数据后,模型的问题回答能力差异大?为何反复背诵名人传记,可以让少数群体的知识提取能力也增强?原因是由于模型采取了不同的记忆方式。

作者通过两种线性探针 (linear probing) 深入探讨了模型的记忆知识的原理。我们来看其中一种叫 P 探针 (P-probing) 的方法。

在 P 探针中,我们输入传记条目到预训练模型,训练一个线性分类器预测六个目标属性(如大学、专业等)。我们想看模型是否能在早于属性的位置提取这些信息。如果分类器在人名后立即显示对 “工作单位” 有高准确率,说明模型直接学习了 “Anya 的雇主是 Meta”。如果只在传记结尾达到高准确率,可能模型用了有缺陷的记忆方法,例如 “某人生日是 1996 年 10 月 2 日,大学是 MIT,因此雇主是 Meta”。

P 探针的试验设计是这样的。找出每个传记中 6 个属性首次出现的位置,然后在这些位置的前一个位置,训练一个线性分类器来预测每个目标属性。这就产生了 36 个分类任务。

图片

图 5:P 探针试验结果显示,预训练数据集的知识增强使知识被存在更早的位置,部分甚至直接存储在人名上。模型是否能通过微调回答问题,与预训练时是否将信息直接存储在人名上有关(对比图 3 和图 5)。

P 探针试验结果显示,自然语言模型在预训练时可以通过人名记住信息以实现压缩,也可以通过其他信息(如 “在 MIT 就读并且生日是 1996 年 10 月 2 日的人的工作单位是...”)记忆。虽然第二种记忆方式对人来说 “不自然”,但对模型来说两种方法的压缩比无异。如果模型采用第二种方式记住信息,训练结束后将无法通过微调回答问题。而通过知识增强,预训练模型会逐渐倾向于学会使用第一种记忆方式。

有人可能会争论,上述 “知识提取” 失败可能是由于自回归 (autoregressive) 语言模型如 GPT 的单向性。实际上,双向语言模型如 BERT 在知识提取上更差,对 “Meta Platform” 这类多词组知识只能存储,无法提取。有兴趣的读者可以参考论文第 6 章。

总的来说,语言模型是否能回答 “知识提取” 问题,不仅取决于 “无损压缩”,还与 “如何在模型中压缩” 有关。论文强调,预训练过程中对关键但少见的数据进行知识增强是必要的(如使用 ChatGPT 进行多次改写)。如果没有这一步,无论如何努力微调,已预训练完的模型虽然无损压缩了训练数据,但是还是可能再也无法提取那些知识了!

结语

如何理解自然语言模型的工作原理?大多数研究者通过与 GPT-4 等模型对话,推测其能力。然而,《语言模型物理学》系列论文的作者提出了一种更精确的方法,通过精细设计训练数据和可控实验,探究 Transformer 的内部机制,解释其处理 AI 任务的能力。

在《Part 3.1:知识的储存与提取》中,作者精确测试了模型对不同数据的反应,找到了模型学习知识和能力与训练数据的准确关系。

他们还发布了《Part 3.2:知识的操作》,进一步研究了模型如何在特定情况下操作知识。例如,如果大模型记住了《静夜思》,能否通过微调使其推理出《静夜思》的最后一句是 “低头思故乡”?我们很快讲为大家带来后续报道。

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

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

相关文章

国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书

国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书 国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书

【STM32】IAP升级03关闭总中断,检测栈顶指针

IAP升级方法 IAP升级时需要关闭总中断 TM32在使用时有时需要禁用全局中断,比如MCU在升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。 ARM MDK中提供了如下两个接口来禁用和开启总中断: __disable_irq(); // 关闭总中…

函数指针详解和简单使用

概念 函数指针&#xff1a;首先它是一个指针&#xff0c;一个指向函数的指针&#xff0c;在内存空间中存放的是函数的地址&#xff1b; 引入 #include <stdio.h>void test() {printf("hehe\n"); } int main() {printf("%p\n", test);printf(&quo…

基于 SpringBoot+Vue 的大学生租房网站

1 简介 本大学生租房系统使用简洁的框架结构&#xff0c;专门用于用户浏览首页&#xff0c;房屋信息&#xff0c;房屋评价&#xff0c;公告资讯&#xff0c;个人中心&#xff0c;后台管理&#xff0c;意见反馈等信息&#xff0c;对个人信息进行修改等&#xff0c;以及系统管理…

基于Java的大学生就业招聘系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Java基础---第十篇

系列文章目录 文章目录 系列文章目录一、说说Java 中 IO 流二、 Java IO与 NIO的区别(补充)三、java反射的作用于原理一、说说Java 中 IO 流 Java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流; 按照操作单元划分,可以划分为字节流和字符流; 按照流的角色…

【笔试强训day02】倒置字符串 排序子序列

​&#x1f47b;内容专栏&#xff1a; 笔试强训集锦 &#x1f428;本文概括&#xff1a;C笔试强训day02。 &#x1f43c;本文作者&#xff1a; 阿四啊 &#x1f438;发布时间&#xff1a;2023.10.1 二、day02 1.倒置字符串 题目描述&#xff1a; 将一句话的单词进行倒置&…

工厂模式和单例模式

目录 一.设计模式 二.工厂模式和单例模式 &#x1f41e;单例模式 1.饿汉模式 2.懒汉模式 &#xff08;1&#xff09;问题一&#xff1a;大量对象的创建 &#xff08;2&#xff09;问题二&#xff1a;加锁导致阻塞等待 &#xff08;3&#xff09;问题三&#xff1a;指令…

MySql进阶篇---006:存储引擎,索引,SQL优化,视图、存储过程、变量、流程控制、游标、存储函数、触发器

1. 存储引擎 1.1 MySQL体系结构 1).连接层 最上层是一些客户端和链接服务&#xff0c;包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念&#xff0c;为通过认证…

【面试经典150 | 矩阵】螺旋矩阵

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;模拟方法二&#xff1a;按层模拟 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于…

04. Springboot集成Mybatis-flex(二)

1、前言 上一篇文章《Springboot集成Mybatis-flex&#xff08;一&#xff09;》提到Mybatis Flex和Spring Boot的初步集成和基础使用。今天我们再来探索Mybatis Flex其他特性的使用。 2、数据填充 数据填充指的是&#xff0c;当 Entity 数据被插入 或者 更新的时候&#xff…

Ghostscript 字体处理深究: 解决字体缺失问题

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Hello World!1分钟配置好你的Go环境

目录 一、简介为什么选择Golang&#xff1f;Golang与其他语言的对比核心特性应用场景社区和生态系统性能标准企业级应用 二、环境要求操作系统WindowsLinux/UnixmacOS 硬件需求其他依赖软件异常情况和处理方法 三、下载和安装GolangWindows系统使用官方安装包使用Chocolatey&am…

使用CreateProcess崩溃:处未处理的异常: 0xC0000005: 写入位置 0x00415652 时发生访问冲突

问题代码 if (!CreateProcess(NULL,L"pela.exe",NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)){return 0;}如果CreateProcess的第二个参数字符串是常量或者是储存在堆中的就会被写保护&#xff0c;崩溃。如果字符串定义到栈或者全局变量就不存在此问题了。 正确的…

初级篇—第二章SELECT查询语句

文章目录 什么是SQLSQL 分类SQL语言的规则与规范阿里巴巴MySQL命名规范数据导入指令 显示表结构 DESC基本的SELECT语句SELECTSELECT ... FROM列的别名 AS去除重复行 DISTINCT空值参与运算着重号查询常数过滤数据 WHERE练习 运算符算术运算符加减符号乘除符号取模符号 符号比较运…

SNERT预备队招新CTF体验赛-Misc(SWCTF)

目录 1、最简单的隐写 2、旋转我 3、is_here 4、zip伪加密 5、压缩包密码爆破 6、我就藏在照片里 7、所以我放弃了bk 8、套娃 9、来自银河的信号 10、Track_Me 11、勇师傅的奇思妙想 1、最简单的隐写 下载附件后&#xff0c;图片格式并不支持打开 根据题目提示&…

Window 安装多个版本的 java 并按需切换

1、按需下载对应版本的 java 官网链接&#xff1a;Java Downloads | Oracle 2、执行安装程序&#xff0c;根据安装向导一步一步走就行&#xff0c;每个版本安装在不同的目录下。 3、配置环境变量 a&#xff09;为每个版本 java 新建不同名称的 JAVA_HOME 系统变量&#xff0…

最优化:建模、算法与理论(最优性理论

第五章 最优性理论 在实际中最优化问题的形式多种多样&#xff0c;给定一类具体的优化问题&#xff0c;我们首先需要分析其解的存在性。如果优化问题的解存在&#xff0c;再考虑如何设计算法求出最优解&#xff0c;一般的非凸优化问题可能存在很多局部极小解&#xff0c;但其往…

使用WPS自动化转换办公文档: 将Word, PowerPoint和Excel文件转换为PDF

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

IDEA-2023-jdk8 HelloWorld的实现

目录 1 新建Project - Class 2 编写代码 3 运行 1 新建Project - Class 选择"New Project"&#xff1a; 指名工程名、使用的JDK版本等信息。如下所示&#xff1a; 接着创建Java类&#xff1a; 2 编写代码 public class HelloWorld {public static void main(S…