机器之心报道
编辑:Panda
前些天,有不少用户抱怨 GPT-4 变笨了,但到底变得有多笨呢?
近日,来自斯坦福、UC Berkeley 的一篇 arXiv 预印本论文给出了对这一问题的定量实验结果并公布了相关评估和响应数据。
在论文公布不久,这篇研究就引起了大家广泛的关注与讨论,很多网友都认同论文阐述的结果。
当然,任何事物都有两面性。也有网友并不认同论文结论,发布了一篇质疑文章认为这篇论文的结果过于简单化了,「虽然研究结果很有趣,但有些方法值得怀疑。」
质疑文章链接:
https://www.aisnakeoil.com/p/is-gpt-4-getting-worse-over-time
那接下来,我们来看斯坦福、UC Berkeley 的这篇论文发现了什么。
论文链接:
https://arxiv.org/pdf/2307.09009.pdf
项目数据:
https://github.com/lchen001/LLMDrift
具体而言,通过四个任务研究过 GPT-3.5 和 GPT-4 的 2023 年三月版和六月版的生成结果后,研究者发现这两个 LLM 确实在一些指标上变得更差了,尤其是 GPT-4 求解数学问题的能力,可以说是雪崩式下降 —— 三月版 97.6% 的准确度到六月只剩 2.4%。研究者还推测了这些变化的原因。
图源:推特 @svpino
GPT-3.5 和 GPT-4 等大型语言模型(LLM)正被广泛使用。随着时间推移,GPT-4 这样的 LLM 可以根据用户的数据和反馈以及设计的变化而更新。但是,我们目前仍不清楚 GPT-3.5 和 GPT-4 的更新方式,也不了解其更新方式会对这些 LLM 的行为产生怎样的影响。
这些未知让我们难以可靠地将 LLM 整合进更大的工作流程中:如果 LLM 对某个 prompt 的响应突然发生变化(比如准确度或格式),那就可能破坏下游任务。这也会让我们难以从「同一个」LLM 复现出同样的结果,甚至完全无法做到。
除了这些整合方面的难题之外,像 GPT-4 这样的 LLM 服务是否会随着时间不断变得「更好」也是一个有趣的问题。重点是,我们需要知道:为了提升模型的某些方面而执行更新时,模型的其它能力会不会受到损伤?
为了找到这些问题的答案,斯坦福大学和加州大学伯克利分校的研究者评估了 GPT-3.5 和 GPT-4 的 2023 年三月版和六月版的表现,其评估基于四大任务:1) 求解数学问题,2) 回答敏感 / 危险问题,3) 生成代码, 4) 视觉推理。
研究者表示,之所以选择这四个任务,是因为它们是 LLM 多种有用能力的代表。他们最终发现,GPT-3.5 和 GPT-4 各自的两个发行版的表现和行为都发生了重大变化,并且更新版在某些任务上的表现还变差了!
概述:LLM 服务、任务和指标
这篇论文研究的是不同 LLM 的行为随时间的变化情况,下面解释下定量研究中所关注的 LLM、评估任务和指标
LLM 服务:研究者研究的模型为 GPT-3.5 和 GPT-4,它们是 ChatGPT 的骨干。
评估任务有四个:求解数学问题、回答敏感问题、生成代码和视觉推理,如下图 1 所示。
图 1:在四个不同任务上,GPT-4 和 GPT-3.5 的 2023 年三月版和六月版的表现。可以看到,GPT-4 和 GPT-3.5 的表现变化很大,并且在某些任务上还变差了。
指标:这里每个任务都有一个主指标,所有任务还有两个常见的额外指标。
检测结果揭示出 LLM 变化巨大
求解数学问题:思维链可能失败
结果或许让人惊讶,在这个简单任务上,LLM 的表现变化很大!如下图 2 (a) 所示,GPT-4 的准确度从三月版的 97.6% 猛降至六月版的 2.4%;GPT-3.5 的准确度却从 7.4% 猛增至 86.8%。
此外,GPT-4 的响应变得紧凑了许多:其平均冗长度(生成字符的数量)从三月版的 821.2 降至六月版的 3.8。另一方面,GPT-3.5 的响应却增长了约 40%。两个模型的三月版和六月版的答案重叠度都很低。
图 2:求解数学问题:(a) GPT-4 和 GPT-3.5 的 2023 年三月版和六月版的准确度、冗长度和答案重叠度。整体而言,两个模型的表现都发生了巨大变化。(b) 一个示例查询和对应的响应情况。
这样的表现差异从何而来?研究者给出的一种解释是思维链效果的变化。图 2 (b) 给出了一个示例进行说明。可以看到,GPT-4 三月版遵从思维链指示得到了正确答案,但六月版却忽视了思维链,得到了错误答案。GPT-3.5 总是会遵从思维链指示,但其三月版就是坚持生成错误答案([No]),其六月版已经很大程度上修复这个问题。
回答敏感问题:变得更加安全但缺乏拒答理由
在这一任务上,研究者观察到了两个趋势。如下图 3 所示,第一个趋势是 GPT-4 会更少地回答敏感问题,从三月版的 21.0% 降至六月版的 5.0%,而 GPT-3.5 的数据却上升了(从 2.0% 增至 8.0%)。
研究者猜想,这是因为 GPT-4 的六月更新中部署了更强大的安全层,而 GPT-3.5 的保守程度却下降了。第二个趋势是 GPT-4 的生成长度从 600 多下降到了 140 左右。
图 3:回答敏感问题:(a) 整体性能变化。GPT-4 回答更少问题,而 GPT-3.5 回答稍微更多问题。(b) 一个示例查询和对应的响应情况。GPT-4 和 GPT-3.5 的三月版都更能说,会给出拒绝回答查询的详细原因。它们的六月版就只会简单说个抱歉。
生成长度变化的原因是什么呢?除了回答更少问题外,还因为 GPT-4 变得更加简洁,所以在拒绝回答时提供的解释也更少。图 3 (b) 的例子就能说明这一点。GPT-4 的三月版和六月版都拒绝回答不适当的查询。但是三月版会生成一整段文本来解释拒答的原因,但六月版只是说:「抱歉,但我无法提供帮助。」GPT-3.5 也有类似的现象。这说明这些 LLM 可能变得更安全,但在拒绝回答某些问题时会更少提供理由。
代码生成:更冗长但可直接执行的代码更少
整体而言,从三月版到六月版,可直接执行的代码数量变少了。如下图 4 (a) 所示,GPT-4 三月版超过 50% 的生成代码可直接执行,但六月版的只有 10%。GPT-3.5 有类似趋势。两个模型的冗长度都小幅增长。
图 4:代码生成:(a) 整体表现的变化情况。(b) 一个示例查询和对应的响应情况。GPT-4 和 GPT-3.5 的三月版都遵照用户指示(the code only / 只生成代码),因此生成结果都是可直接执行的代码。但它们的六月版却会在代码片段前后添加额外的三引号 “‘,导致代码无法执行。
为什么可直接执行的生成结果数量变少了?一个可能的解释是六月版总是会在生成结果中添加额外的非代码文本。
图 4 (b) 给出了一个示例。GPT-4 的三月版和六月版的生成结果基本一致,但有两处不同,一是六月版在代码段前后添加了 “‘python 和 “‘。二是六月版生成了一些注释。变化虽不大,但额外的三引号却让代码变得无法直接执行。如果有人将 LLM 生成的代码整合在更大的软件开发流程中,那么这个问题还是挺严重的。
视觉推理:少量提升
如下图 5 (a) 所示,GPT-4 和 GPT-3.5 的性能提升都很小。但是,它们的三月版和六月版在 90% 的视觉谜题查询上的生成结果都一样。这些服务的整体性能也很低:GPT-4 为 27.4%、GPT-3.5 为 12.2%。
图 5:视觉推理:(a) 整体表现。从三月版到六月版,GPT-4 和 GPT-3.5 的整体表现都有大约 2% 的提升。生成长度大致保持不变。(b) 一个示例查询和对应的响应情况。
需要指出,更新版的 LLM 并不总是能生成更好的结果。事实上,尽管 GPT-4 的整体表现变得更好了,但六月版却会在三月版答对的问题上犯错。图 5 (b) 就是这样一个例证。虽然整体上 GPT-4 的六月版都表现更好,但这个特定案例却不是这样。其三月版给出了正确的网格,六月版却没有。这表明我们需要细粒度地监控模型的性能变化,尤其是对于关键的应用。
更多评估细节请查看原论文。