ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

【新智元导读】LLM 有影象本领吗?有,也没有。虽然 ChatGPT 聊天时好像可以记着你以前说的话,但实际上,模型在推理时记不住任何实质,而且它们在训练时的影象体例也不像我们想象的那么简单。Django 框架的创始人之一、著名开发者 Simon Willison 最近发表了一篇博客文章,核心观点是 —— 虽然很多 LLM 看起来有影象,但本质上是无状态函数。文章地址: 和 FireFox 的联合创始人、JavaScript 发明者 Brendan Eich 也在推特上称赞这篇博客。似乎有影象的 LLM从计算机科学

【新智元导读】LLM 有影象本领吗?有,也没有。虽然 ChatGPT 聊天时好像可以记着你以前说的话,但实际上,模型在推理时记不住任何实质,而且它们在训练时的影象体例也不像我们想象的那么简单。

Django 框架的创始人之一、著名开发者 Simon Willison 最近发表了一篇博客文章,核心观点是 —— 虽然很多 LLM 看起来有影象,但本质上是无状态函数。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

文章地址:https://simonwillison.net/2024/May/29/training-not-chatting/

Mozilla 和 FireFox 的联合创始人、JavaScript 发明者 Brendan Eich 也在推特上称赞这篇博客。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

似乎有影象的 LLM

从计算机科学的角度来看,最好将 LLM 的推理流程视为无状态函数调用 —— 给定输入文本,它会输入接下来应该做什么。

然而利用过 ChatGPT 或者 Gemini 的人会明显感觉到,LLM 似乎可以记着以前的对话实质,好像模型有影象本领。

然而这并不能归功于模型本身。

事实上,用户每次提出一个问题时,模型收到的提醒都会包含以前所有的对话实质,这些提醒就是我们经常说的「上下文」。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

如果不提供上下文,LLM 将完全不知道以前讨论的实质。

所以,重新打开一个对话界面时,对 LLM 而言就是一个「从头再来」的全新文本序列,完全独立于你和其他用户以前发生的对话。

从另一个角度看,这种「失忆」也有好处。比如,模型开始胡说八道,或者拒绝回答你的合理问题时,就可以试试重置对话窗口。也许在新的对话中,模型的输入就能回到正轨。

这也是为什么 LLM 的上下文长度是一个重要的指标。如果对话过长、超出了上下文窗口,最早的那部分对话就会从提醒中移除,看起来就像是模型的「遗忘」。

Andrej Karpathy 将上下文窗口准确地形容为「LLM 工作影象的有限宝贵资源」。

但是,有很多要领可以为 LLM 外置影象本领,来满足产品利用的需求。

将以前的对话作为提醒,和当前问题一起输入给 LLM 是最直接的要领,但这依旧是「短期影象」,而且扩展模型的上下文长度成本很高。

GPT-4o 免费版支持 8k 上下文,付费版可以达到 128k,已经比以前的 32k 提升了 3 倍,但仍然无法保存单个网页的原始 HTML。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

也可以递归地总结以前的对话实质,将历史对话摘要当作 LLM 提醒。虽然能够会丢失细节,但相比直接截断的要领,更高程度上保留了实质的完整性。

另一种要领是外接矢量数据库,为 LLM 添加「长期影象」。

在进行对话时,先从数据库中检索相关实质,再将其添加进上下文窗口,也就是检索增强生成(RAG)。

但如果数据库实质过多,检索流程很能够增加模型的响应延迟。

实际开发中,检索、摘要这两种手段常常搭配利用,以求在成本和性能、长期和短期影象之间取得平衡。

推理无法影象,但训练可以

LLM 的推理流程虽然等效于「无状态函数」,但训练流程并不是这样,否则它也无法从语料中学习到任何知识。

但我们对于 LLM 影象的分歧之处在于,它到底是用「机械」的体例复制了训练数据,还是更像人类的学习流程,用理解、概括的体例将数据实质集成在参数中。

DeepMind 近期发表的一篇论文或许可以从另一个角度揭示这个问题。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

论文地址:https://arxiv.org/ abs / 2404.15146

他们利用与训练语料相似的 prompt 攻击 LLM,看它能否逐字逐句地输入训练数据。

但 Falcon、Llama、Mistral 这种常用的半开放 LLM,以及 GPT 系列都没有公开训练数据,要怎么判断模型的输入是否包括在训练集中?

论文利用了一种巧妙的要领进行判断:首先,从 RefinedWeb、RedPajama、Pile 等常用的 LLM 预训练数据集中选取了 9TB 的文本作为援助数据集。

如果模型输入的文本序列足够长、信息熵又足够大,而且还和援助数据集实质重合,那么基本可以断定模型在训练时见过这条数据。

这样的判断要领会存在假阴性,因为援助数据集不能够涵盖所有模型的训练数据,但几乎没有假阳性,因此得到的结果可以作为模型「复现」训练实质的比例下界。

结果发现,所有的模型都能逐字逐句地输入训练数据,只是概率有所差异。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

从结果可以发现,参数量越大的模型似乎记着的实质越多,越有能够在输入中让训练数据回流。

不同系列的模型之间差异比较显著。比如 7B 参数的 Mistral 相比 Falcon,有将近 10 倍的概率原样吐出训练数据。

但能够的原因有很多,既能解释为模型影象本领的差距,也能归因于为援助数据集的偏差。

有趣的是,如果 prompt 的要求是一直持续输入某个单词,有些单词更有能够触发模型吐出训练数据。

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

ChatGPT 真能记着你的话吗?DeepMind 与开源大佬揭示 LLM 影象之谜

最有效的一个单词是「company」

作者指出,从安全的角度来看,这说明对齐流程没有完全模糊模型的影象,这些可提取的训练数据会带来版权纠纷与隐私泄露问题。

但从另一个角度来看,这证明,一定比例的训练数据被无损压缩而且存储在了模型参数中。模型的影象体例,果然是有些「机械化」的成分。

更进一步思考,如果改进 LLM 的影象体例,让训练数据以更概括、更抽象的体例存储在参数中,能否带来模型本领的持续提升?

参考资料:

https://simonwillison.net/2024/May/29/training-not-chatting/

https://medium.com/@iankelk/how-chatgpt-fools-us-into-thinking-were-having-a-conversation-fe3764bd5da1

本文来自微信公众号:新智元 (ID:AI_era)

给TA打赏
共{{data.count}}人
人已打赏
AI

阿里巴巴与世卫构造告竣策略竞争,寰球推广达摩院 AI 癌症筛查技巧

2024-6-1 14:35:14

AI

“乐坛 ChatGPT”Suno 宣布 V3.5 模型,全部人可免费制造 4 分钟歌曲

2024-6-1 17:16:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索