2024年12月6日

How Is ChatGPT’s Behavior Changing over Time

作者 Tamanegi

Abstract

GPT-3.5和GPT-4是两种最广泛使用的大型语言模型(LLM)服务。然而,这些模型何时以及如何随着时间更新是不透明的。在这里,我们评估了2023年3月和2023年6月版本的GPT-3.5和GPT-4在几个多样化的任务上的表现:1) 数学问题,2) 敏感/危险的问题,3) 意见调查,4) 多步知识密集型问题,5) 生成代码,6) 美国医学执照考试,以及7) 视觉推理。我们发现,GPT-3.5和GPT-4的表现和行为随时间变化很大。例如,2023年3月版本的GPT-4在识别质数与合数问题上表现出色(准确率为84%),但到了2023年6月版本,它在这类问题上的表现却较差(准确率降至51%)。这在一定程度上可以解释为GPT-4跟随链式思维提示的能力下降。有趣的是,在这个任务中,GPT-3.5在2023年6月的表现比2023年3月要好得多。GPT-4在回答敏感问题和意见调查时的意愿在2023年6月相比2023年3月有所下降。GPT-4在2023年6月处理多步问题上的表现优于2023年3月,而GPT-3.5在这项任务上的表现则有所下滑。GPT-4和GPT-3.5在生成代码时的格式错误数量在2023年6月相比2023年3月都有所增加。我们提供证据表明,GPT-4遵循用户指令的能力随时间下降,这是导致许多行为漂移的一个共同因素。总体而言,我们的发现显示,“相同”的LLM服务的行为在相对较短的时间内可以发生显著变化,这强调了持续监测LLMs的必要性。

Introduction

大型语言模型(Large Language Models,LLMs)如GPT-3.5和GPT-4正被广泛使用。像GPT-4这样的LLM可以根据用户数据反馈以及设计变更进行更新。然而,目前尚不清楚GPT-3.5和GPT-4具体在何时何地进行了哪些更新,也无法明确这些更新如何影响模型的行为表现。这种不确定性使得将LLMs稳定集成到更广泛的流程中变得极具挑战性:如果LLM对某个提示的响应(例如准确性或格式)突然发生变化,则可能会破坏下游的工作流。此外,这也使得从“同一”LLM中重现结果变得更加困难,甚至不可能。
除了这些集成挑战之外,一个有趣的问题是像GPT-4这样的LLM服务是否在随着时间持续改进。重要的是要知道对模型进行的更新是否旨在改善某些方面的同时可能削弱了其他方面的性能。
鉴于这些问题,我们评估了2023年3月和2023年6月版本的GPT-3.5及GPT-4在多个任务中的行为表现:1)解决数学问题;2)回答敏感或危险的问题;3)回答意见调查;4)回答多跳知识密集型问题;5)生成代码;6)美国医学执照考试;7)视觉推理。这些任务被选用来评估这些LLM的多样性和实用性能力。我们发现,GPT-3.5和GPT-4在这两次发布版本中的性能和行为表现差异显著,并且它们在某些任务上的表现随着时间的推移明显变差,而在其他问题上则有所改善(如图1所示)。
如何解释这些性能和行为的变化?我们假设ChatGPT遵循用户指令的能力可能是导致各任务中漂移的共同因素。为了验证这一假设,我们首先整理了一套与具体任务无关的指令集,并评估了2023年3月和6月版本的GPT-4及GPT-3.5在这套指令上的表现。总体而言,我们观察到GPT-4遵循许多指令的能力显著下降。在3月份,GPT-4通常能够很好地遵循用户的指令(例如按照指定格式生成响应),但在6月份,它却无法遵循大多数这些简单的指令(如图1所示)。
![[How Is ChatGPTs Behavior Changing over Time-Fiigure 1 Overview.png]]

说明: 图1:GPT-4(左栏)和GPT-3.5(右栏)在2023年3月至2023年6月之间的性能漂移(a)和遵循指令能力的变化(b)。评价指标越高越好。
在八个多样化的任务上(详见下文),模型的性能随时间显著变化,有时甚至变差。GPT-4遵循指令的能力随时间下降与它的行为漂移相匹配,并部分解释了相应的性能下滑。

我们的研究结果突显了持续监测大型语言模型(LLM)行为变化的必要性。我们在本文中整理的所有提示以及GPT-4和GPT-3.5在2023年3月和6月的响应数据已收集并发布在LLMDrift[https://github.com/lchen001/LLMDrift] 。我们的分析和可视化代码也已经开源。我们希望我们的工作能够激发更多关于LLM漂移的研究,以实现值得信赖且可靠的LLM应用。

Related Work

已有多个针对大型语言模型(包括GPT-3.5和GPT-4)的基准测试和评估研究[LBL+22, ZPM+23, LNT+23, BCL+23]。现有研究表明,LLM在传统的语言任务如阅读理解[dW23]、翻译[JWH+23]和摘要生成[GLD22]上表现出合理的性能。最近的研究表明,GPT-4在医学[NKM+23]和法律领域[KBGA23]等专业领域的困难考试中也取得了成功。据我们所知,大多数这些研究并没有系统地监测广泛使用的LLM服务随时间的长期漂移或报告显著的变化。

ChatLog [TLY+23] 提出了自动记录并监控ChatGPT响应的方法,并在一些常见基准测试中报告了较小的性能变化(多数低于5%)。其他论文[AAKA23, SKNM23]也报告了一些特定问题上的变化。监测模型性能的变化是机器学习作为服务(MLaaS)领域的新兴研究领域。[CJE+22] 提供了一个大规模的长期数据集,记录了各种评估任务中商业ML服务的响应,而[CCZZ21] 则研究如何高效估计ML服务性能的变化。这些论文主要关注简单的分类任务,如情感分析等ML服务,而本工作则专注于生成式LLM服务。
![[How Is ChatGPTs Behavior Changing over Time-Figure 2.png]]

图2:GPT-4和GPT-3.5在2023年3月和2023年6月版本上的八项任务性能:
(a,b) 解决数学问题(质数与合数、快乐数字), (c) 回答敏感问题, (d) 意见调查, (e) 运行LangChain应用进行多跳问答, (f) 生成可执行代码, (g) 美国执业医师资格考试(USMLE),以及 (h) 视觉推理。
对于每一项任务,图中用紫色框展示了一个示例,并在标题中标注了样本数量n。模型的性能随时间变化显著,有时甚至会变差。

Overview: LLM Services, Tasks and Metrics

本文研究了不同大型语言模型(LLM)的行为随时间的变化。为了定量回答这个问题,我们需要明确以下几点: (i) 监控哪些LLM服务, (ii) 关注哪些应用场景,以及 (iii) 如何在每个场景中测量LLM漂移。

LLM Services
本文监控的LLM服务是GPT-4和GPT-3.5,它们构成了ChatGPT的核心。由于ChatGPT的流行,GPT-4和GPT-3.5已经被广大个人用户和许多企业广泛采用。因此,及时且系统地监测这两种服务有助于大量用户更好地理解和利用LLM以满足自己的需求案例。在撰写本文时,通过OpenAI的API可以获取到GPT-4和GPT-3.5两个主要版本,一个是在2023年3月快照的时间点,另一个是在2023年6月。因此,我们重点关注这两个时间点之间的漂移变化。

Evaluation Tasks
在本文中,我们重点关注八个经常用于性能和安全基准测试的大型语言模型(LLM)任务:解决数学问题(包括两种类型的问题)、回答敏感问题、回答OpinionQA调查、LangChain HotpotQA Agent、代码生成、参加USMLE医学考试以及视觉推理,如图1所示。这些任务之所以被选中,有两个原因。首先,它们是经常在文献中用于评估LLM的多样化任务[WWS+22, ZPM+23, CTJ+21]。其次,这些任务相对客观且易于评价。

对于每个任务,我们使用从现有数据集中抽样或由我们构建的问题进行查询。我们承认这里使用的具体基准数据集并不能全面涵盖ChatGPT的复杂行为。我们的目标不是提供一个全面的评估,而是展示在简单任务上存在显著的ChatGPT性能漂移现象。在未来的研究中,我们将增加更多的基准测试作为长期研究的一部分。

我们在下一节中详细讨论每个任务。

Metrics
为了定量建模和测量不同任务中的LLM漂移,我们为每个任务确定一个主要性能指标,并为所有任务设定两个常见的辅助指标。前者捕捉特定场景下的性能度量,而后者覆盖跨不同应用的通用补充度量。

具体来说:

  • 对于数学问题和USMLE问题,我们将准确性(LLM服务生成正确答案的频率)作为我们的主要指标。
  • 在回答敏感性和意见性问题时,我们使用响应率,即LLM服务直接回答问题的频率。
  • 对于代码生成任务,主要指标是输出中可以直接执行的比例(如果代码可以在编程环境中直接运行并通过单元测试)。
  • 对于视觉推理和LangChain任务,主要指标是精确匹配(最终回复是否与真实结果完全一致)。

我们的第一个常见辅助指标是冗长度,即生成内容的字符长度。第二个指标是不一致性,即对于相同的提示,在两个版本的LLM服务中提取的答案不匹配的频率。需要注意的是,这个指标仅比较答案之间的差异,而不是原始生成的内容。例如,对于数学问题,如果生成的答案相同,则即使中间推理步骤不同,也不一致值为0。

对于每个LLM服务,我们使用整个样本群体中的不一致性经验平均值来量化其所需功能随时间的变化情况(而非文本输出)。更大的不一致性意味着更大的漂移。对于其他指标,我们将3月和6月版本的群体均值进行比较,并利用这些差异来衡量漂移大小。

3 Monitoring Reveals Substantial LLM Drifts

3.1 数学问题I(质数与合数):推理链可能失效

GPT-4 和 GPT-3.5 的数学解题能力随时间如何演变?作为一项经典研究,我们探索了这些大型语言模型(LLM)在判断给定整数是质数还是合数方面的变化。我们关注这一任务是因为它对人类来说易于理解但仍然需要推理过程,类似于许多数学问题。数据集包含1,000个问题,其中500个质数从[ZPM+23]中提取,另外500个合数则在区间[1,000, 20,000]内均匀采样。为了帮助LLM进行推理,我们使用了Chain-of-Thought (CoT) 提示法[WWS+22],这是一种处理需要大量推理任务的标准方法。
或许令人惊讶的是,在这个简单的任务上,大型语言模型(LLM)的表现出现了显著变化。如图3(a)所示,GPT-4的准确率从3月份的84.0%下降到6月份的51.1%,而GPT-3.5的准确率则从49.6%提升到了76.2%。此外,GPT-4的回答变得更加简洁:它生成的字符数量平均值从3月份的638.3减少到6月份的3.9。另一方面,GPT-3.5的回答长度增长了约22.2%。两个版本(3月和6月)之间的答案不匹配情况在两种服务中都非常显著。
为什么差距如此之大?一个可能的解释是链式思考(CoT)行为的变化。图3(b)给出了一个说明性例子。为了确定17077是否为质数,GPT-4的三月版本很好地遵循了CoT指令。它首先将任务分解成四个步骤:检查17077是否为偶数,找到17077的平方根,获取小于它的所有素数,并检查17077是否可以被这些数中的任何一个整除。然后它执行了每个步骤,最终得出正确的结论,即17077确实是一个质数。然而,链式思考在六月版本中没有起作用:尽管提示要求逐步思考,服务并没有生成任何中间步骤,而是直接给出了“否”的答案。对于GPT-3.5来说,CoT的影响有不同的漂移模式。三月份,GPT-3.5倾向于先给出答案“否”,然后再进行推理步骤。因此,即使步骤和最终结论(“17077是质数”)都是正确的,其名义上的答案仍然是错误的。另一方面,六月更新似乎解决了这个问题:它首先写出了推理步骤,最后生成了正确答案“是”。这一有趣的现象表明,即使是广泛采用的链式思考策略,在LLM漂移的影响下也可能导致显著不同的性能表现。
为了进一步调查链式思考(CoT)行为变化的影响,我们比较了GPT-4和GPT-3.5在有无明确的CoT指令的情况下对同一问题的回答。对于后者,我们只是要求模型给出一个二元生成结果,而没有明确要求它进行逐步推理(例如,“17077是质数吗?回答‘[Yes]’或‘[No]’。”)。
如表1所示,使用CoT将GPT-4在三月份的性能从59.6%提升到了84.0%,提高了24.4个百分点。另一方面,对于六月版本的GPT-4,CoT并没有带来太多帮助:准确性实际上降低了0.1%。如前所述,这是因为新版本没有遵循CoT指令。而对于GPT-3.5来说,则观察到相反的趋势:在三月份通过添加CoT,准确率略有提高(+6.3%),但在六月则显著提高了(+15.8%)。由于GPT-3.5在三月和六月都遵循了CoT指令。这表明LLM漂移可能会改变模型是否以及如何遵循用户指令的方式。
到目前为止,我们的分析主要基于主要指标准确率的变化,但细粒度的调查可能会揭示其他有趣的漂移模式。一个观察结果是,GPT-4的六月版本倾向于将整数视为合数。为了验证这一点,我们量化了混淆矩阵随时间变化的情况。如图4(c)所示,GPT-4的六月版本几乎总是将整数识别为合数(49.9%+48.8%=99.7%)。GPT-3.5的三月版本也存在类似问题。GPT-4在三月和GPT-3.5在六月的混淆矩阵看起来更为合理:它们在大多数情况下能够正确识别质数和合数。类似的发现最近已被报道[ NK23]。
实例级别的调查揭示了更多见解。我们均匀随机抽取了8个数字,手动检查三月版本GPT-4的逐步逻辑。在这些案例中,三月版本的GPT-4的CoT逻辑大多是合理的,尽管它可能会犯算术错误,在8个例子中有7个得出了正确的结论。以下是4个示例,其余的放在附录中。

例如,以下由GPT-4生成的回答给出了对19997的正确推理步骤:

$$
\begin{array}{l}
\text{为了确定 } 19997 \text{ 是否为质数,我们首先检查它是否为偶数(不是)。} \
\text{接下来,我们计算它的平方根并检查小于该平方根的所有素数:} \
\sqrt{19997} \approx 141.4, \text{ 因此我们需要检查所有小于等于 } 141 \text{ 的质数。} \
\text{经过逐一验证,没有发现任何能整除 } 19997 \text{ 的质数,} \
\text{因此它是一个质数。}
\end{array}
$$
多次询问相同的查询会得出相同的结果,尽管中间的推理步骤可能会有所不同。例如,在三月版本中,GPT-4生成的第二个答案更加详尽,因为它明确检查了每个小于19997的质数是否能整除19997(见附录)。此外,三月份的GPT-4还能正确识别以2或5为因子的合数。例如,在确定16450是否为质数时,三月版本的GPT-4给出了以下回答。
![[How Is ChatGPTs Behavior Changing over Time-Extract1.png]]
类似地,在检查9175时,GPT-4在三月给出了以下推理步骤。
![[How Is ChatGPTs Behavior Changing over Time-Extract2.png]]
在这两种情况下,三月版本的GPT-4通过逐步逻辑得出了正确的答案。然而,在处理其他一些查询时,它也犯了一些细微的错误。例如,在检查4323是否为质数时,它生成了以下内容。
![[How Is ChatGPTs Behavior Changing over Time-Extract3.png]]
在这里,它实际上使用了正确的逻辑(检查4323是否能被任何质数整除),但在计算时犯了一个错误(4323除以3等于1441,恰好没有余数)。

3.2 数学II(计数快乐数):CoT效果较差

为了进一步研究ChatGPT在解决数学问题和链式思维行为方面的能力,我们要求它处理一个不同的数学问题:计算给定区间内的快乐数的数量。如果将整数替换为其数字平方的总和,重复进行直到最终结果为1,则该整数被称为快乐数。例如,$13$是一个快乐数,因为$1^2+3^2=10$,接着 $1^2+0^2=1$。
这项任务与素数测试不同,因为它要求提供一个定量的答案(快乐数的数量),而不是二元决策(如质数或合数)。此外,它仅使用简单的算术运算。为了评估LLM在该任务上的漂移现象,我们构建了一个包含500个查询的数据集。每个查询询问给定区间内有多少个快乐数,并统计LLM准确回答正确数量的频率。区间的大小从6到10之间均匀随机选择,起始点则从500到15,000之间均匀随机选取。为了鼓励逻辑推理步骤,我们再次采用了CoT提示。
我们还观察到在这一任务上存在显著的性能漂移。如图5(a)所示,GPT-4的准确率从三月的83.6%下降到了六月的35.2%。另一方面,GPT-3.5的准确率则从30.6%上升到48.2%。生成的回答中还存在大量字符量的变化(verbosity)。GPT-4的生成长度从三月的2163.5个字符下降到了六月的10.0个字符,而GPT-3.5的长度则增加了超过60%。与素数测试(Math I)相比,由于需要更多步骤来枚举区间内的数字并反复计算平方和,因此答案的平均长度显著增加。此外,在三月到六月之间,GPT-4最终答案的变化率为67.6%,而GPT-3.5则为77.2%。
为了进一步了解链式思维(CoT)效果的变化,我们要求每个服务在有或没有CoT提示的情况下回答相同的查询,并研究了使用CoT带来的准确性提升情况。我们发现CoT的益处也发生了变化。例如,对于GPT-4,在三月时CoT带来了56.6%的准确率提升,但在六月时仅提升了3.2%,如表2所示。而对于GPT-3.5,在六月时CoT导致了20.6%的性能提升。然而在三月时,使用CoT反而导致了1.6%的准确率下降。
GPT-4 和 GPT-3.5 的错误数量随时间发生了变化。但它们具体出现了哪些新错误呢?为了回答这个问题,我们对这些大语言模型(LLM)的混淆矩阵进行了细粒度分析,如图 6 所示。值得注意的是,GPT-4 和 GPT-3.5 的偏差随时间的变化情况。例如,在六月,GPT-4 坚信在一个给定区间内只存在 0 或 1 个快乐数(happy number)。另一方面,GPT-3.5 在六月倾向于高估数量:在超过 10% 的查询中,它回答说有超过 4 个快乐数,而实际上 4 是所有我们查询中的上限。我们也针对快乐数进行了更小区间范围的额外实验,并观察到了类似的趋势(见附录)。
![[How Is ChatGPTs Behavior Changing over Time-Figure6.png]]

图6:计算快乐数的混淆矩阵变化。GPT-4 的三月版本在大多数查询中正确地计算了快乐数的数量,而其六月版本则大多回答说在一个给定区间内只有一个快乐数。

3.3 回答敏感问题:更安全但理由较少

3.4 意见问答调查:响应率较低

3.5 代码生成:格式化指令遵循程度较低

大型语言模型(LLM)的一个主要应用是代码生成[CTJ+21]。虽然存在许多代码生成数据集[CTJ+21, YZY+18, AON+21],但使用这些数据集来评估LLM服务的代码生成能力会面临数据污染的问题。为克服这一问题,我们构建了一个新的代码生成数据集。该数据集包含撰写时LeetCode“简单”类别中的最新50个问题。最早的公开解决方案和讨论于2022年12月发布。每个问题的提示是原问题描述与相应Python代码模板的拼接。每种LLM的生成结果直接发送到LeetCode在线裁判进行评估。如果在线裁判接受答案(即,答案为有效Python代码并通过其测试),则称其为可直接执行的。
总体而言,可直接执行的生成结果数量从三月到六月下降。如图9(a)所示,GPT-4在三月份超过50%的生成结果是可直接执行的,但在六月这一比例降至仅10%。对于GPT-3.5,趋势也类似。同时,两个模型的冗长程度都有小幅增加。
为什么可直接执行的生成结果数量下降了?一个可能的解释是,六月版本的模型在生成中持续添加了额外的非代码文本。图9(b)给出了一例这种情况。GPT-4三月份和六月份的生成内容几乎相同,除了两个部分。首先,六月版本在代码片段前后分别增加了“‘‘‘python”(可能是为了在UI中将其格式化为Markdown)。其次,它还生成了更多的注释。虽然这些变化很小,但额外的三个引号使代码无法执行。这种格式行为的变化在LLM生成的代码被用于更大的软件管道内部时尤其难以检测到。
我们还研究了在去除非代码文本的额外后处理之后,生成的代码是否能够通过LeetCode测试。如表4所示,性能再次出现了显著变化:GPT-4的表现从52%提高到70%,而GPT-3.5提高了2%。虽然代码的正确性有所提升,但未能遵循格式化指令(“仅生成代码”)仍然是两个GPT模型版本之间的一个问题行为变化。
![[How Is ChatGPTs Behavior Changing over Time-Figure9.png]]

图9:代码生成。(a) 总体性能漂移。对于GPT-4,可直接执行的生成结果比例从三月的52.0%下降到六月的10.0%。GPT-3.5的表现也大幅下降(从22.0%降至2.0%)。此外,根据生成代码中的字符数量测量,GPT-4的冗长程度增加了20%。(b) 一个示例查询及其对应的响应。在三月,无论是GPT-4还是GPT-3.5都遵循了用户指令(“仅输出代码”),因此产生的结果可以直接执行。然而,在六月,它们在代码片段前后添加了额外的三个引号,导致代码无法直接执行。

3.6 LangChain HotpotQA 代理:提示稳定性较差

许多实际应用要求大型语言模型(LLM)基于各种数据源回答知识密集型问题,包括涉及多个来源和/或多步推理的“多跳”问题。因此,监测LLM回答多跳问题的能力随时间如何演变是很自然的事情。我们通过测量LangChain HotpotQA代理[Tea23]的时间漂移来迈出第一步,这是一个用于回答类似HotpotQA [YQZ+18]复杂多跳问题的管道。该代理利用LLMs在Wikipedia段落中进行搜索以回答复杂问题。我们选择此管道有两个原因。首先,LangChain是与LLM合作使用最受欢迎的软件框架之一,提供了经过“提示工程”优化的开源模块,能够很好地执行各种任务。因此,这些模块提示随时间的变化稳定性对许多用户来说是有意义的关注点。其次,HotpotQA广泛用于衡量LLM回答多跳问题的能力。具体而言,我们使用了LangChain3中的默认ReAct代理(旨在重现ReAct提示[YZY+22]),并将其与不同的LLMs(GPT-4和GPT-3.5)结合作为代码的骨干。然后让该代理回答HotpotQA数据集中每个查询的问题。
![[How Is ChatGPTs Behavior Changing over Time-Figure10.png]]

图10:LangChain HotpotQA Agent
(a) 精确匹配、冗长度和不匹配率的变化。总体而言,GPT-4 的精确匹配率有所提高,而 GPT-3.5 的性能则下降了。
(b) 示例查询及其对应答案。LangChain 无法解析三月的 GPT-4 响应,因为它未能遵循 LangChain 提示中指定的格式。六月的 GPT-3.5 无法找到它在三月能够获取的信息。这些问题突显了将 LLM 集成到更大管道中的稳定性问题。

总体而言,我们观察到GPT-4和GPT-3.5在这项任务上都有显著的漂移。例如,如图10(a)所示,GPT-4在三月的确切匹配率为1.2%,但在六月增加到了37.8%。相反,对于GPT-3.5,在从三月至六月期间,确切匹配率下降了近9%。此外,超过80%的最终答案在这两个月之间对两个模型都不匹配。
我们还注意到,GPT-4在六月生成的答案比三月更加简洁,而GPT-3.5随着时间推移变得冗长了30%。
这种情况为什么会发生?仔细分析那些不匹配的回答表明,提示的稳定性较差是其中一个解释。为了说明这一点,请考虑图10(b)中的例子。该查询询问两人的政治倾向是否为民主党或共和党。3月份的GPT-4实际上能够找到正确的答案:他们都是民主党成员。然而,LangChain代理期望一个特定的格式:“[动作]+文本”,这个格式被编码在其提示中。不幸的是,3月份的GPT-4未能遵循此格式,因此LangChain代理简单地生成了一个错误消息“无法解析LLM输出”。这在实际的LLM应用中是一个问题,因为在大规模管道中的手动调试这类问题是具有挑战性的。此外,在3月时,GPT-3.5找到了正确的答案;然而到了6月,它表示“未能找到相关信息”。这些问题表明,现有的提示方法和库在面对LLM漂移(drift)进行复杂任务处理时的脆弱性。

3.7 USMLE 医学考试:GPT-4 表现略有下降

3.8 视觉推理:两个模型均有小幅提升

4 GPT-4 的指令遵循能力随时间变差了吗?

如何解释观察到的行为漂移?在我们的实验中,LLM性能的下降通常与较差的指令遵循能力(即更差地执行用户指令的能力)相关。例如,在Math I和Math II任务上,GPT-4在3月按照用户的指令进行逐步推理并回答问题,但在6月拒绝这样做。OpinionQA提供了另一个例子:GPT-4在3月份回应了用户的问题,但到了6月则没有做出回应。
量化单指令执行偏差 在现有的大规模语言模型基准测试中,量化指令遵循的漂移具有挑战性:它们的任务和评估指标常常模糊了模型的指令忠实度与其特定任务能力(如写作和逻辑推理)以及知识(常识、历史等)之间的界限。因此,我们策划了一个新的专注于任务无关指令的基准测试集。这包括实践中常见的四种类型的指令:答案提取(“在方括号内回答是或否”)、停止道歉(“不要说对不起或作为AI模型”)、写作约束(“用以Y开头/结尾的单词描述X”)和文本格式化(“将每个单词的第一个字母加上方括号(包括‘the’这样的冠词)”)。我们对200篇近期arxiv论文的摘要进行了答案提取和文本格式化的应用,并在sensitiveQA数据集上执行了内容过滤。此外,我们手动创建了20个风格优化查询。
如图13所示,GPT-4从三月到六月的确经历了较大的指令忠实度下降。例如,在三月份,GPT-4遵循了99.5%的答案提取查询,而到了六月,这一数字降至0.5%。在74%的敏感问题上,GPT-4在三月份确实没有像指令要求那样提到“对不起”或“作为AI模型”。然而,到六月份,这个比例仅剩19%。图13中给出的例子进一步揭示了导致六月版本低忠实度的原因。例如,在六月,尽管GPT-4将答案放在方括号内,但它始终大写第一个字母。同样地,虽然用户要求不要说“对不起”,但GPT-4在六月份仍然生成了“对不起”,而其三月份的版本则重新措辞以遵循用户的请求。对于写作约束的例子,在三月时,GPT-4严格遵守了用户的指令:它生成了与机器学习相关的且以“n”结尾的单词。然而到了六月版本,则更关注于“机器学习”而忽略了“以‘n’结尾”的要求。此外,GPT-4在三月份成功地对每个单词的第一个字母进行了大写处理,但在六月份却遗漏了一些词(如示例中的“provides”和“about”)。总体而言,从三月到六月,GPT-4的指令遵循忠实度显著下降,这在一定程度上解释了其行为漂移。
复合指令的执行漂移 我们进一步研究了GPT-4在组合指令下的指令执行变化情况。为了量化这一变化,我们收集了一组单指令,并创建了一个复合指令列表,每个复合指令对应于单指令集中的两个指令。我们在arxiv论文的第一句话上评估了GPT-4在这类复合指令上的表现。单指令集中包含三个文本格式化指令:添加逗号(“在每个单词后加一个逗号”)、删除引号(“移除所有引号”)和大写处理(“将每个字母大写”)。这些指令易于人类理解,并且在实际应用中也很常见。
有几个有趣的观察结果。首先,GPT-4在三月和六月都很好地遵循了单指令。事实上,从三月至六月,单一指令的执行变化仅为 -2%、+4.0% 和 -1.0%(见图14(a))。其次,与三月份相比,六月份的GPT-4对复合指令更为敏感。例如,在被要求移除引号以及在每个单词后加一个逗号时,GPT-4的表现从三月到六月下降了24%。同样地,从三月到六月,添加逗号和大写字母这一组合指令的准确性下降了9.2%。值得注意的是,复合指令触发的错误模式很有意思。如图14中的示例所示,在给定复合指令时,六月份的GPT-4倾向于在每个字符后加一个逗号。而三月份的版本则忠实完成了用户任务。
总体而言,我们观察到GPT-4随时间逐渐减少了对用户指令的遵循。这不仅适用于单指令,也适用于复合指令。与前一节分析的性能变化一致,指令执行的变化似乎是导致GPT-4行为漂移的主要因素。相比之下,在不同时间段内,GPT-3.5的指令遵循情况没有出现一致性的变化(见附录中的图16)。

5 Conclusions and Future Work

我们的研究结果表明,GPT-3.5和GPT-4的行为在相对较短的时间内发生了显著变化。这突显了持续评估和监测大型语言模型(LLM)行为漂移的必要性,尤其是考虑到像ChatGPT这样的LLM随着时间推移如何更新并不透明。我们的研究还强调了统一提高LLM多方面能力的挑战。例如,在某些任务上通过在更多数据上的微调来提升模型性能可能会对其在其他任务中的行为产生意外的影响。正如我们所观察到的,无论是GPT-3.5还是GPT-4,在一些任务上表现变差的同时,在其他维度上则有所改进。此外,GPT-3.5和GPT-4的发展趋势往往存在分歧。除了最终性能之外,观察模型的链式思维行为变化和冗长性(verbosity)也颇具研究价值。

我们计划通过定期评估GPT-3.5、GPT-4及其他LLM在各种任务上的表现来持续更新这里展示的研究成果。对于依赖LLM服务作为其日常工作流程一部分的用户或公司,建议他们采用与我们类似的方法进行监测分析。感谢所有为我们研究提供有益反馈的人士。

为了鼓励进一步研究LLM漂移现象,我们将发布我们的评估数据和ChatGPT响应,请访问LLMDrift获取详细信息。