引言
想象一下你正在参加一场高难度的数学考试。在做第一道题时,你很纠结,猜了一个答案,结果错了。但紧接着,你看到了正确的解题过程。当你在五道题后遇到一个类似的问题时,你回忆起之前的解法,运用其中的逻辑,然后做对了。这就是从经验中学习。
现在,考虑一下我们要如何评估大语言模型 (LLM) 。我们通常使用 MMLU 或 GSM8K 等基准测试,模型在这些测试中需要回答数千个问题。然而,在这些标准评估中,每个问题都被视为一个孤立的事件。当模型处理第 100 个问题时,它并不“记得”解决第 1 个问题时的情景。在测试过程中,它无法从成功或失败中学习。
这在评估与现实之间造成了巨大的鸿沟。在现实世界的应用中——例如代码代理或聊天机器人——模型会不断地与环境交互。随着历史记录的积累,它们应该随着时间的推移而不断改进。
来自 NVIDIA 的研究人员最近发表了 “LLM-Evolve: Evaluation for LLM’s Evolving Capability on Benchmarks” (LLM-Evolve: LLM 在基准测试中进化能力的评估) , 旨在解决这一脱节问题。他们提出了一个新的框架,将静态基准测试转化为动态的、连续的挑战。通过赋予模型对其过去成功的记忆,LLM-Evolve 测试了 AI 是否可以在不更新权重的情况下,即时提高其性能。
在这篇文章中,我们将详细剖析 LLM-Evolve 的工作原理、记忆机制背后的数学原理,以及当最先进的模型接受测试时令人惊讶的结果。
问题所在: 静态与动态评估
要理解为什么需要 LLM-Evolve,我们首先需要看看当前基准测试的局限性。
“独立同分布 (I.I.D.)” 假设
大多数 LLM 基准测试都在 独立同分布 (Independent and Identically Distributed, i.i.d.) 的假设下运行。这意味着:
- 独立性: 一个任务的结果不会影响另一个任务。
- 同分布: 任务是从相同的难度和类型池中提取的。
在标准评估循环中,模型会被赋予一个提示词 (通常带有几个固定的示例,称为“少样本演示”) ,并被要求生成答案。然后模型被重置,接着问下一个问题。模型没有会话的持久记忆。
现实世界的错位
这种静态方法未能捕捉到现代 AI 的“智能体 (Agentic) ”特性。当 LLM 作为智能体运行时,它执行动作,接收反馈 (例如代码编译器错误或用户纠正) ,并进行迭代。这里所需的核心能力是 进化——即利用过去的交互来解决新问题的能力。
LLM-Evolve 背后的研究人员提出了一个关键问题: 我们能否在不创建全新数据集的情况下,调整现有的高质量基准测试来评估这种进化能力?
LLM-Evolve 框架
这篇论文的核心创新在于一个包裹在现有基准测试 (如 MMLU 或 GSM8K) 之上的框架,以实现顺序学习。它向标准评估流程中引入了两个关键组件: 反馈 和 演示记忆库 。
流程可视化
这个过程最好通过视觉来理解。模型会经历多“轮”评估。

如 图 1 所示,该管道在一个循环中运行:
- 生成: LLM 为当前问题生成答案。
- 反馈: 环境评估答案 (正确/错误) 。
- 记忆: 如果答案正确 (正反馈) ,输入-输出对将被保存到“演示记忆库”中。
- 检索: 当模型在下一轮面对一个新问题时,它会查询这个记忆库,找到最相关的过去成功案例作为示例。
记忆的数学原理
让我们从数学角度分解该方法,看看提示词究竟是如何变化的。
1. 标准基准设置 (第 0 轮)
在标准设置中,模型 \(p_{\theta}\) 基于输入 \(x\) 预测输出 \(y\)。它通常由基准开发人员提供的一组固定演示来引导。

在这里,\(\{x_i^{demo}, y_i^{demo}\}\) 代表那组静态的示例。无论输入 \(x\) 或模型的历史如何,它们都永远不会改变。
2. 构建演示记忆库
在 LLM-Evolve 中,系统维护一个记忆库,表示为 \(\mathcal{D}\)。这个记忆库存储了交互历史。

记忆库中的每个条目包含:
- \(x_i^{lm}\): 模型面临的问题。
- \(y_i^{lm}\): 模型生成的答案。
- \(f_i\): 二进制反馈 (正确/错误) 。
在这项特定研究中,研究人员将系统配置为 仅保存正面经验 。 如果模型答错了一个问题,它会被丢弃。如果答对了,这个成功案例会被存储起来以帮助解决未来的问题。
3. 检索增强推理
这是最关键的一步。在后续轮次 (第 1 轮、第 2 轮等) 中,模型不再依赖通用的、固定的示例。相反,它会查找自己的记忆库 \(\mathcal{D}\)。
系统使用一个 稠密检索器 (表示为 \(r_{\phi}\)) ,如 Contriever 或 BERT。它将新问题 \(x\) 转换为向量,并在记忆库中搜索“最近邻”——即语义上与当前问题相似的过去问题 \(x_j^{lm}\)。

前 k 个最相似的成功示例被检索出来并插入到提示词中。这为当前问题专门创建了一个动态的少样本提示词,其中包含了模型自己之前验证为正确的解决方案。
4. 处理多轮对话
该框架不仅限于简单的问答。对于像 AgentBench 这样的基准测试,解决任务涉及来回对话 (例如使用 Linux 终端) ,记忆库会存储整个轨迹。

这使得模型能够回忆起它过去成功执行的复杂工作流。
实验与结果
研究人员使用各种开源 (Llama, Mistral, Qwen) 和闭源 (GPT-3.5, GPT-4) 模型,在三个不同的基准测试上应用了 LLM-Evolve。
1. 通用知识 (MMLU)
MMLU 是一个庞大的基准测试,涵盖了从基础数学到专业法律的 57 个学科。

表 1 的主要结论:
- 一致的收益: 当允许从经验中学习时,每一个模型都有所改进。
- “首轮”飞跃: 最大的提升发生在标准设置和第 1 轮之间。后续轮次 (2 和 3) 的收益递减。
- 模型规模相关性: 有趣的是, 较大的模型获益较少 。 Llama2-7B 提升了近 6%,而巨大的 Qwen2-72B 仅提升了 1.33%。
- 为什么? 作者推测,较大的模型已经在其权重中存储了广泛的解决问题的知识。较小的模型更依赖于提示词中提供的上下文来“引导”它们得出正确答案。
2. 复杂推理 (AgentBench & GSM8K)
当任务需要多步推理或工具使用,而不仅仅是知识检索时,结果变得更加引人注目。
AgentBench (OS 任务) 涉及编写 Linux 脚本来解决操作系统问题。

表 2 的主要结论:
- 巨大的收益: 这里的收益远高于 MMLU (高达 12.5%) 。
- 击败巨头: 看看 Llama3-70B 。 它的标准得分 (32.6%) 远低于 GPT-4 的标准得分 (43.8%)。然而,经过 3 轮 LLM-Evolve 后,Llama3-70B 达到了 45.1% , 超过了基准 GPT-4。这证明了一个拥有良好记忆机制的较弱模型可以胜过没有记忆机制的较强模型。
GSM8K 评估小学数学应用题。

表 3 的主要结论:
- 最高的改进: 这个基准测试看到了最大的收益, Llama3-8B 提高了超过 17% 。
- 推理需要上下文: 数学问题在很大程度上依赖于遵循正确的过程。检索一个类似的、已正确解决的数学问题提供了所需逻辑的模板,这对模型来说非常有价值。
哪些组件最重要?
研究人员在 MMLU 上使用 Llama3-8B 进行了消融实验 (移除系统的部分组件以观察哪些部分会失效) 。

表 4 的见解:
- 检索器的选择: 从 Contriever 切换到 BERT 几乎没有影响。只要你有一个像样的检索器,系统就能工作。
- 反馈质量至关重要: 当研究人员将“标准答案”反馈替换为由另一个 LLM (Llama-70B) 生成的反馈时,性能下降了约 2%。记忆库的好坏取决于存储在其中的示例的准确性。如果模型“产生幻觉”认为自己成功了并将其存储起来,它就会污染自己的数据源。
- 检索是必不可少的: 随机打乱提示词顺序 (而不是检索相关的提示词) 提供了一些好处,但明显低于完整的检索方法。
结论与启示
LLM-Evolve 框架表明,大语言模型并非静态实体;它们拥有潜在的“进化能力”,而这通常被标准基准测试所忽视。
仅仅通过允许模型记住它的成功案例——并在面对类似的新问题时检索这些案例——我们就可以在不进行任何梯度更新的情况下解锁高达 17% 的性能提升。
这对未来意味着什么?
- 部署策略: 这表明对于现实世界的应用,建立一个动态的“演示记忆库” (一个成功的用户交互数据库) 是一种随时间推移提高性能的具有成本效益的方法,甚至可能比持续微调更有效。
- 评估标准: 我们需要超越独立同分布 (i.i.d.) 的基准测试。要真正评判一个智能体,我们必须评判它学习得有多好。
- 小模型 vs 大模型: 研究结果表明,配备强大记忆系统的小型、更高效的模型可以与更大的模型竞争,从而使 AI 更易于获取且运行成本更低。
LLM-Evolve 架起了静态测试与动态现实之间的桥梁,让我们得以一窥 AI 智能体在现实环境中可能如何学习和适应。
](https://deep-paper.org/en/paper/file-3257/images/cover.png)