有网友找到了 GPT-4 变“笨”的又一证据。
他质疑:
OpenAI 会缓存历史回复,让 GPT-4 直接复述以前生成过的答案。
最明显的例子就是讲笑话。
证据显示,即使他将模型的 temperature 值调高,GPT-4 仍重复同一个“科学家与原子”的回答。
就是那个“为什么科学家不信任原子?因为万物都是由它们编造 / 构造(make up)出来的”的冷笑话。
在此,按理说 temperature 值越大,模型越容易生成一些意想不到的词,不该重复同一个笑话了。
不止如此,即使咱们不动参数,换一个措辞,强调让它讲一个新的、不同的笑话,也无济于事。
发现者表示:
这说明 GPT-4 不仅使用缓存,还是聚类查询而非精准匹配某个提问。
这样的好处不言而喻,回复速度可以更快。
不过既然高价买了会员,享受的只是这样的缓存检索服务,谁心里也不爽。
还有人看完后的心情是:
如果真这样的话,我们一直用 GPT-4 来评价其他大模型的回答是不是不太公平?
当然,也有人不认为这是外部缓存的结果,可能模型本身答案的重复性就有这么高:
此前已有研究表明 ChatGPT 在讲笑话时,90% 的情况下都会重复同样的 25 个。
具体怎么说?
证据实锤 GPT-4 用缓存回复
不仅是忽略 temperature 值,这位网友还发现:
更改模型的 top_p 值也没用,GPT-4 就跟那一个笑话干上了。
(top_p:用来控制模型返回结果的真实性,想要更准确和基于事实的答案就把值调低,想要多样化的答案就调高)
唯一的破解办法是把随机性参数 n 拉高,这样我们就可以获得“非缓存”的答案,得到一个新笑话。
不过,它的“代价”是回复速度变慢,毕竟生成新内容会带来一定延迟。
值得一提的是,还有人似乎在本地模型上也发现了类似现象。
有人表示:截图中的“prefix-match hit” (前缀匹配命中)似乎可以证明确实是用的缓存。
那么问题就来了,大模型到底是如何缓存我们的聊天信息的呢?
好问题,从开头展现的第二个例子来看,显然是进行了某种“聚类”操作,但具体如何应用于深度多轮对话咱不知道。
姑且不论这个问题,倒是有人看到这里,想起来 ChatGPT 那句“您的数据存在我们这儿,但一旦聊天结束对话内容就会被删除”的声明,恍然大悟。
这不禁让一些人开始担忧数据安全问题:
这是否意味着我们发起的聊天内容仍然保存在他们的数据库中?
当然,有人分析这个担忧可能过虑了:
也许只是我们的查询 embedding 和回答缓存被存下来了。
因此,就像发现者本人说的:
缓存这个操作本身我不太担心。
我担心的是 OpenAI 这样简单粗暴地汇总我们的问题进行回答,毫不关心 temperature 等设置,直接聚合明显有不同含义的提示,这样影响很不好,可能“废掉”许多(基于 GPT-4 的)应用。
当然,并不是所有人都同意以上发现能够证明 OpenAI 真的就是在用缓存回复。
他们的理由是作者采用的案例恰好是讲笑话。
毕竟就在今年 6 月,两个德国学者测试发现,让 ChatGPT 随便讲个笑话,1008 次结果中有 90% 的情况下都是同样 25 个笑话的变体。
像“科学家和原子”这个更是尤其出现频率最高,它讲了 119 次。
因此也就能理解为什么看起来好像是缓存了之前的回答一样。
因此,有网友也提议用其他类型的问题测一测再看。
不过作者坚持认为,不一定非得换问题,光通过测量延迟时间就能很容易地分辨出是不是缓存了。
最后,我们不妨再从“另一个角度”看这个问题:
GPT-4 一直讲一个笑话怎么了?
一直以来,咱们不都是强调要让大模型输出一致、可靠的回答吗?这不,它多听话啊(手动狗头)。
所以,GPT-4 究竟有没有缓存,你有观察到类似现象吗?
参考链接:
https://twitter.com/hammer_mt/status/1719150885559812379
本文来自微信公众号:量子位 (ID:QbitAI),作者:丰色
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。