科技魔方

GPT-4变笨加剧,被曝缓存历史回复:一个笑话讲八百遍,让换新的也不听

大模型

2023年11月02日

  本文来自于微信公众号 量子位(ID:QbitAI),作者:丰色。

  有网友找到了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究竟有没有缓存,你有观察到类似现象吗?

+1

来源:微信公众号 量子位

延展资讯