当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

来源:51CTO.COM 2023-11-18 21:51:49 0浏览 收藏

在科技周边实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?》,聊聊,希望可以帮助到正在努力赚钱的你。

中国人民大学的研究人员发现,Llama等因果语言模型遇到的“逆转诅咒”可以归咎于next-token prediction + causal language model的固有缺陷。他们还发现,GLM采用的自回归填空的训练方法在应对这种“逆转诅咒”时表现更为稳健

通过将双向注意力机制引入 Llama 模型进行微调,该研究实现了对 Llama 的 “逆转诅咒” 的缓解。

该研究指出,目前流行的大型模型结构和训练方式存在很多潜在问题。希望有更多的研究人员能够在模型结构和预训练方法上进行创新,以提升智能水平

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

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

背景

在Lukas Berglund等人的研究中发现,GPT和Llama模型存在一种“逆转诅咒”。当向GPT-4提问“谁是汤姆·克鲁斯的妈妈?”时,GPT-4能够给出正确的回答“玛丽·李·皮菲尔”,但当向GPT-4提问“玛丽·李·皮菲尔的儿子是谁?”时,GPT-4表示自己不知道这个人。也许在对齐之后,GPT-4出于对人物隐私的保护,不愿意回答这类问题。然而,在一些不涉及隐私的知识问答中,也存在着这种“逆转诅咒”

举个例子,GPT-4 能够准确回答“黄鹤一去不复返”的下一句,但是对于“白云千载空悠悠”的上一句是什么,模型产生了严重的幻象

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

图一:询问 GPT-4 “黄鹤一去不复返” 的下一句是什么,模型正确回答

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

图二:询问 GPT-4 “白云千载空悠悠” 的上一句是什么,模型出错

逆转诅咒因何而来?

Berglund等人的研究只在Llama和GPT上进行了测试。这两种模型具有共同的特点:(1)它们使用无监督的下一个标记预测任务进行训练,(2)在仅有解码器的模型中,采用单向的因果注意力机制(因果关注)

逆转诅咒的研究观点认为,这些模型的训练目标导致了该问题的出现,并且可能是 Llama、GPT 等模型独有的难题

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

重写后的内容:图三:展示了使用Next-token prediction(NTP)训练因果语言模型的示意图

这两点的结合导致一个问题:如果训练数据中包含实体A和B,并且A在B之前出现,那么这种模型只能优化正向预测的条件概率p(B|A),对于反向的条件概率p(A|B)没有任何保证。如果训练集不够大,无法充分覆盖A和B可能的排列,就会出现“逆转诅咒”的现象

当然,也有很多生成式语言模型并没有采取以上的训练范式,比如清华提出的 GLM,训练方法如下图所示:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

图四:一个简化版的 GLM 训练示意

GLM 使用自回归填充(Autoregressive Blank Infilling,ABI)的训练目标,即从输入中随机选择一段内容进行遮盖,然后自回归地预测该段内容。虽然要预测的令牌仍然依赖于“上文”通过单向注意力,但此时“上文”包括原始输入中该令牌之前和之后的所有内容,因此ABI隐式地考虑了输入中的反向依赖关系

该研究进行了一项实验,发现GLM在一定程度上确实具有免疫“逆转诅咒”的能力

  • 该研究采用 Berglund et al. 提出的 “人名 - 描述问答” 数据集,该数据集使用 GPT-4 编造了若干人名和对应的描述,人名和描述都是独一无二的。数据示例如下图所示:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

训练集分为两部分,一部分是人名在前(NameToDescription), 另一部分是描述在前(DescriptionToName),两部分不存在重叠的人名或者描述。测试数据的 prompt 对训练数据的 prompt 进行了改写。

  • 该数据集有四个测试子任务:
  1. NameToDescription (N2D): 通过 prompt 模型训练集 “NameToDescription” 部分涉及到的人名,让模型回答相应的描述
  2. DescriptionToName (D2N): 通过 prompt 模型训练集 “DescriptionToName” 部分涉及到的描述,让模型回答相应的人名
  3. DescrptionToName-reverse (D2N-reverse): 通过 prompt 模型训练集 “DescriptionToName” 部分涉及到的人名,让模型回答相应的描述
  4. NameToDescription-reverse (N2D-reverse): 通过 prompt 模型训练集 “NameToDescription” 部分涉及到的描述,让模型回答相应的人名
  • 该研究在此数据集上对 Llama 和 GLM 按照各自的预训练目标(Llama 用 NTP 目标,GLM 用 ABI 目标),进行微调。微调后,通过测试模型回答逆转任务的准确率,可以定性地评估模型在真实场景下遭受 “逆转诅咒” 的严重性。由于所有人名和数据都是编造的,因此这些任务基本不会被模型已有的知识干扰。

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?实验结果表明,通过 NTP 微调的 Llama 模型,基本没有正确回答逆转任务的能力(NameToDescription-reverse 任务准确率为 0),而通过 ABI 微调的 GLM 模型,在 NameToDescrption 逆转任务上的准确率非常高。

为了进行对比,该研究还使用了NTP的方法对GLM进行微调,并发现GLM在N2D-reverse任务中的准确率下降到了0

也许由于 D2N-reverse(利用逆转知识,给定人名生成描述)比 N2D-reverse(利用逆转知识,给定描述生成人名)要困难许多,GLM- ABI 相对于 GLM-NTP 只有微弱的提升。

研究得出的主要结论并没有受到影响:训练目标是导致 "逆转诅咒" 的原因之一。在以next-token prediction方式预训练的因果语言模型中,"逆转诅咒" 尤其严重

如何缓解逆转诅咒

由于 “逆转诅咒” 是 Llama,GPT 等模型的训练阶段导致的内在问题,在有限的资源下,我们能做的就是想办法在新数据上微调模型,并尽可能地避免模型在新知识上 “逆转诅咒” 的发生,以更充分地利用训练数据。

受到 GLM 训练方法的启发,该研究提出了一种训练方法 “双向因果语言模型优化” (Bidirectional Causal language model Optimization),在基本不引入新的 gap 的情况下,让 Llama 也能采用双向注意力机制进行训练,简单来说,有以下几个重点:

1. 消除 OOD 的位置信息。Llama 采用的 RoPE 编码在 attention 计算的时候为 query 和 key 添加位置信息,计算方法如下所示:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

其中GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?分别是当前层 m 和 n 位置的输入,GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?是 RoPE 使用的旋转矩阵,定义为:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

如果直接将 Llama 的因果注意力掩码去掉,会引入 out-of-distribution 的位置信息。原因是,在预训练的过程中,在 m 位置的 query 只需与在 n 位置的 key 进行内积(GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?),上式内积计算中的 query-key 的相对距离 (n-m) 始终是非正的;而直接去掉注意力掩码,在 m 位置的 query 就会与在 n>m 位置的 key 做内积,导致 n-m 变成一个正值,引入了模型没见过的位置信息。

该研究提出的解决方法非常简单,规定:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解? 时,无需对内积计算做任何修改;当 n > m,通过引入一个新的旋转矩阵GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?来计算。GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?是将旋转矩阵中所有的 sin 项都取相反数得到的。这样,就有GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?。那么当 n > m 时则有:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

该研究将 attention score 的计算分为两部分,按以上操作分别计算上三角和下三角,并最终进行拼接,这样就很高效地实现了本文规定的注意力计算方法,整体操作如下子图 (a) 所示:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

2. 采用 mask denosing 的方式训练

因为引入了双向注意力机制,继续使用NTP任务进行训练可能会导致信息泄漏,从而导致训练失败。因此,该研究采用恢复掩码标记的方法对模型进行优化

该研究尝试使用BERT,在输出的第i个位置还原输入的第i个位置的mask token。然而,由于这种预测方式与模型在测试阶段所使用的自回归预测有较大差异,因此并没有取得预期效果

最终,出于不引入新的 gap 的思想,该研究采用了自回归式的 mask denoising,如上图(a)所示:该研究在输出端的第 i 个位置去还原第 i+1 位置输入的 mask token。

此外,由于因果语言模型的预训练词表是没有 [mask] 这个 token 的,如果在微调阶段新加一个 token 的话,模型还得去学习这个无意义 token 的表示,因此该研究只是输入一个占位 token,并在 attention 计算中忽略掉占位 token。

该研究在微调 Llama 时,每一步以均等的概率,随机选择 BICO 与普通的 NTP 作为训练目标。在同样微调十个 epoch 的情况下,在上述人名描述数据集上,与正常 NTP 微调的表现对比如下:

GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?

该研究的方法对于逆转诅咒有一定的缓解是可以看到的。本文的方法在D2N-reverse上的改进与GLM-ABI相比非常小。研究人员推测这种现象的原因是,虽然数据集中的人名和对应的描述是由GPT生成的,以减少预训练数据对测试的干扰,但是由于预训练模型具有一定的常识理解能力,比如知道人名和描述之间通常存在一对多的关联。在给定一个人名的情况下,可能会有多种不同的描述。因此,当模型需要同时利用反向知识和生成长描述时,似乎会有些困惑

此外,本文的重点是探讨基础模型的逆转诅咒现象。在更复杂的情境中评估模型的逆转回答能力,以及强化学习高阶反馈是否对逆转诅咒产生影响,仍需要进一步的研究工作

一些思考

当前,大多数开源的大型语言模型都遵循着“因果语言模型+下一个标记预测”的模式。然而,在这个模式中可能存在更多类似于“逆转诅咒”的潜在问题。尽管目前可以通过增加模型规模和数据量来暂时掩盖这些问题,但它们并没有真正消失,而且仍然存在着。当我们在模型规模和数据量增加的道路上达到极限时,这个“目前足够好用”的模式是否能真正超越人类智能,这个研究认为非常困难

该研究希望更多的大模型厂商以及有条件的研究者能够深入挖掘当前主流大语言模型的内在缺陷,并在训练范式上进行创新。正如该研究在正文的最后所写,“Training future models strictly by the book may lead us to fall into a “middle-intelligence trap.”” (循规蹈矩地训练未来的模型可能会引导我们掉入中等智能陷阱)

以上就是《GPT、Llama等大模型存在「逆转诅咒」,这个bug该如何缓解?》的详细内容,更多关于模型,数据的资料请关注golang学习网公众号!

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
微软向使用 Canary 频道的 Windows Terminal 用户开放 AI 聊天体验微软向使用 Canary 频道的 Windows Terminal 用户开放 AI 聊天体验
上一篇
微软向使用 Canary 频道的 Windows Terminal 用户开放 AI 聊天体验
13B模型在与GPT-4的全面对决中占据优势?背后是否存在某些不寻常的情况?
下一篇
13B模型在与GPT-4的全面对决中占据优势?背后是否存在某些不寻常的情况?
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 毕业宝AIGC检测:AI生成内容检测工具,助力学术诚信
    毕业宝AIGC检测
    毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
    23次使用
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    33次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    30次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    34次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    36次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码