为什么机器学习研究 Agent 不会过拟合?

47

机器学习的本质在于泛化,而非记忆。你将一堆训练样本交给学习算法,并用它们来拟合一个模型。但目标并不是在这些训练样本上表现良好——那太容易了,你完全可以把答案都背下来。真正的目标是在那些从未见过的新样本上也能有不错的表现。如果一个模型在训练数据上表现很好,但在新数据上却很差,那就说明它其实什么都没学到;你只是自欺欺人地以为它学会了。这种失败模式有一个专门的名称:过拟合。任何上过统计学或机器学习入门课的人都知道标准的应对方法:预留一部分数据,不让模型在这上面进行训练。在实践中,这部分预留数据有两个作用:验证集是在构建模型的过程中反复使用的,用来比较不同的候选方案、调整超参数并决定下一步该尝试什么;而最终测试集(或称“holdout”)则只在最后使用一次:由于训练过程从未见过它,因此在该数据上的优异表现可以作为你在真实场景中遇到的新样本之可靠代理。不过,“holdout”的条件至关重要。只有当预留的数据确实未曾被“看到”时,上述代理性质才成立。如果你不断在上面检验性能、据此调整训练流程、再检验、再迭代,只为追求更高的分数,那么这块数据就不再是“未见”的了,它已经融入了你的训练过程。如此反复多次,你就可能像在训练集上那样对其过拟合,从而失去对未见数据的可信代理。这同样适用于任何以这种方式重复使用的预留数据,包括本就设计为反复使用的验证集。 机器学习的核心谜题 真正的机器学习研究正是按照我们刚才描述的迭代改进循环进行的。所有人都用少数几个基准数据集来衡量性能,而这些数据集往往多年不变。整个研究社区在执行一个庞大而分散的循环:在基准上评估模型、修改训练流程、重新评估、发表论文,然后让下一批研究者再挤出一点点进步。这正是教科书所警告的那种针对预留数据的“爬山”行为,按理说应该导致严重的过拟合。到如今,排行榜上应该充斥着那些在基准上看起来很完美、但在其他地方却平平无奇的模型。然而事实并非如此。一些研究为那些已被大量重复使用的旧基准构建了全新的测试集,结果发现性能提升大多能迁移过来:在新数据上,模型依然展现出与旧基准上相同的增益。也就是说,以基准为导向的机器学习,竟然违背了教科书的预测,实现了快速且相当真实的进步。这是为什么呢?对此众说纷纭,但很难通过实证加以检验,因为实验的“对象”是整个人类研究社区。你不可能重置一个领域,抹去它的记忆,然后在受控条件下重新运行过去十年的过程。不过我们可以做点类似的事情:现在我们有了基于大语言模型的研究智能体,它们能够自主地执行与人类研究社区相同的机器学习优化循环。它们也在进行同样的基准“爬山”,而且有趣的是,它们似乎也不会过拟合。区别在于,智能体不同于研究社区,是可以被重置的。你可以清空它的记忆,精确控制它能看到的信息,然后重新开始实验。在最近的一篇论文《能装进少数token的就不会过拟合:研究智能体中的压缩与泛化》中,我们就这样做了,并在此过程中为这个长期存在的谜题提供了一个具体的解释。 精准化的奥卡姆剃刀 这个解释始于一个非常古老的理念:奥卡姆剃刀原则指出,在能够同等解释数据的假设中,越简单的那个越有可能正确。事实证明,这一直觉有着精确的数学形式,而它正是整个故事的基础。假设你可以用很少的比特数来描述你的假设——无论是模型还是策略——远少于记住整个训练数据所需的量。如果这样一个紧凑的假设在训练数据上表现非常好,那么它在新数据上也应该表现良好。其推导基于一种计数论证:短描述的数量本来就不多,因为短字符串的数量有限。候选假设越少,任何一个恰好在训练集上“碰巧”骗过你的可能性就越小——即便你正是用训练集来指导搜索过程。换个直观的说法:如果你的压缩描述小到连训练数据都藏不进去,那么它在训练数据上表现好,绝不是因为它记住了答案——它根本没有那个空间。它一定捕捉到了数据结构中的某种真实规律。短描述无法作弊,因为根本没地方藏猫腻。由此产生了一个很有吸引力的假设:成功的机器学习策略往往具有很高的可压缩性。一位研究人员在项目过程中可能会盯着成千上万的基准分数,但最终胜出的策略通常只是几张熟悉的清单:架构族、优化器、学习率调度、数据处理配方、正则化方案等。如果最终的配方只需用寥寥数个比特就能传达,那么模型对基准的真实依赖程度就远小于冗长曲折的实验记录所暗示的。虽然“爬山”过程十分繁复,但从另一端出来的却可能是——或者本可以是——极其精简的东西。 压缩、智能与“懂行听众”的力量 想象一下,你要向一名聪明的高中生详细解释一条特定的机器学习流水线,细致到让他/她能够真正复现的程度。那将是一场漫长而费力的对话。你得解释什么是梯度下降,什么是神经网络,PyTorch、JAX或TensorFlow是用来做什么的,学习率又是什么……几乎所有内容都不是针对你的具体问题,而是关于机器学习运作方式的通用背景知识。再想象一下,向一位资深的机器学习工程师解释同一条流水线。这次对话会骤然缩短到几句话。你直接跳过所有属于常识的部分,只传递真正针对当前问题的内容:架构选择、批量大小、优化器以及几个超参数。你的听众对相关领域的了解越多,你需要传递的信息就越少——你就可以更大幅度地压缩信息。在奥卡姆剃刀的论证中,这些“世界知识”并不算你的负担,因为你完全可以在不看训练集的情况下把这些东西写下来。这就引出了大型语言模型的作用。现代LLM携带着海量的世界知识:它们知道ML工具如何工作,熟悉标准的优化算法,了解常见的超参数选择和默认配置。如果某个细节没有明确给出,它们还能合理地补全一个 plausible 的值。这使得它们成为极为出色的解压器:给LLM一段专家间的简明信息,它就能将其还原为一套完整的、可运行的流程。仔细想想,这也正是它们如此强大的原因所在。 实验:将策略挤压过瓶颈 这提示了一个清晰的实验方案:让一个机器学习研究智能体——即“探索者”——去解决一个新的机器学习问题。赋予它对验证集的完全访问权,让它自由地实验和迭代,追求数百轮之后更好的验证集表现。此时验证集扮演了基准的角色:一个可重复使用的预留集,智能体会反复查询。这就是那个本应导致过拟合的“爬山”循环。接下来测试解决方案的可压缩性:第二个智能体——“压缩器”——读取“探索者”工作的全部记录,试图将获胜策略提炼成一段极短的提示词,仅需几个token。这段提示词会被交给第三个智能体——“复现者”,后者必须仅凭提示词和训练数据从头实现该策略。关键在于,“复现者”无法接触验证集、探索者的代码或其实验记录;唯一能让验证集相关信息传达到它的渠道就是那段简短的提示词。(在我们的论文中,压缩器和复现者都是Claude模型。)如果“复现者”——从零开始,仅凭几个token——就能达到“探索者”的性能,那就说明指定该策略所需的所有验证集相关信息都能通过这条狭窄的通道传递下去。“策略是可压缩的”。我们称之为“输出压缩证书”。 这种设置有一个非常有用的特点,是人类研究社区所不具备的:“复现者”可以被反复重置。压缩器可以尝试多种不同的压缩方案,并观察每种方案的解码效果,因为每次尝试都会在一个全新的、没有任何历史记忆的复现者身上进行。这有点像电影《记忆碎片》,你给未来的自己留一张简短的便条,而那份记忆会在他/她读到之前被清除。你学会写出一份即使被失忆的自己也能理解并执行的便条;这样的便条可以非常简短,因为接收方会把你遗漏的部分恰如其分地补全。 最终的结果 压缩后的提示词竟然异常短小。在八个数据集上——涵盖表格分类、图像分类、语言建模、扩散模型和奖励建模——32-token的提示词足以让全新的复现者在绝大多数问题上追平“探索者”经自适应优化后的模型。有一项语言建模任务的策略甚至被压缩至仅16个token,且在预留数据上的表现毫无损失。这些提示词到底长什么样呢?最具启示性的例子就在压缩即将失效的临界点上。在一项语言建模实验中,“探索者”发现了一套定制的GPT风格训练配方。在16-token的预算下,这仍然足以让新的复现者追平未经压缩的“探索者”:QKn 12L768 Mu .1 R² b2M 4x 对人类读者而言,这显得晦涩难懂,但对另一个机器学习智能体来说,它传达的是具体的信息:QKn代表“QK归一化”,12L768指12层、768维的Transformer,Mu .1是学习率为0.1的Muon优化器,R²表示平方ReLU激活,b2M是两百万token的批量,而4x则是四倍的前馈块。然而,一旦将预算削减到8个token,提示词就变成了12L768 Mu .1 R² 此时复现者已无法追平“探索者”。缺失的部分恰恰对应那些根据数据特点做出的、有别于最常见默认值的真实训练选择。这一边界揭示了可压缩性的极限,也非常重要:它表明复现者并非仅仅凭借先验知识取得成功。少量的压缩token确实承载着从数据本身学到的真知灼见,而当这些token消失时,性能也随之消逝。 我们还进行了一系列从另一方向施加信息瓶颈的实验:与其压缩“探索者”的输出,不如压缩它的输入——不再告诉“探索者”每个模型的数值化验证分数,而只反馈一个二进制信号:这个模型是否优于当前的最佳成绩?即便每次查询只返回一个比特的反馈,“探索者”依然能找到与使用完整数值评分时同样优秀的策略。验证集与最终策略之间的通道在两个方向上都很狭窄,而单比特版本甚至还附带了一条关于泛化的严格数学保证。 识别过拟合者 一个好的经验理论应当是可证伪的——而我们的理论也是如此。如果低过拟合现象的确可以用可压缩性来解释,那么那些真正过拟合的模型就不应该能通过这套流程被压缩。为了验证这一点,我们故意让智能体过拟合:给予它们直接访问验证集的权限,并引导它们不惜一切代价最大化验证集上的表现。智能体果然上钩:在102次实验中的38次,验证准确率比真正的预留数据准确率高出超过10%。我们的理论预测,这些增益不应通过压缩瓶颈,因为它们编码的是特定验证样本的特异性,而非可迁移的结构。果然,当这些优势被挤压进一段简短的提示词、传递给新的复现者时,验证集特有的优势便消失了。压缩以极高的精度区分了合法策略与过拟合策略。因此,压缩不仅解释了为何自主研究智能体不易过拟合,还提供了一种检测过拟合的工具:只要发现某些结果无法用简短描述复现,就说明存在过拟合。 这告诉我们什么——以及没告诉我们什么 需要说明几点限制。整个框架的前提是,验证数据通往最终模型的唯一路径必须经过我们喂给复现者的提示词。当然,如果某个模型在预训练阶段就已经记住了验证数据,那么它就会绕过我们试图施加的信息瓶颈。我们并不认为我们的实验中发生了这种情况:智能体是通过真实的搜索逐步改进,而不是一开始就处于最佳状态,而且在token数量极少时性能会明显下降。不过,要彻底回答这个问题,很可能需要使用在模型训练截止后收集的新数据集进行实验,而这尚未开展。更重要的是,我们的结果是针对LLM智能体的,因为只有在这种情况下实验才是可行的——你可以重置实验对象、控制其输入并测量其长度。但它们所描绘的图景同样强烈暗示了人类研究社区的情况:当一个领域花费多年时间在固定的基准上攀登,而性能提升又能持续迁移到新数据时,或许正是因为那些真正有效的策略都很简单。换句话说:“能装进少数token的就不会过拟合。” 致谢:Steven Wu

参与讨论