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