如果你和我一样,经常使用大型语言模型(LLMs)进行编程,比如学习像LangGraph这样频繁更新的新框架,或者研究新课题,那么你很可能已经注意到了一个问题:LLMs可能会过时。它们的知识并不总是包含你需要的最新信息。为了解决这个问题,LLM提供商通常会添加搜索工具,这在一定程度上有所帮助,但对于复杂任务来说并不完美。这些工具依赖于上下文学习,模型使用提示来生成答案,但这种方法并不能让模型真正学习新的概念。来自麻省理工学院(MIT)的研究人员最近发表了一篇论文,提出了一种名为自适应语言模型(Self-Adapting Language Models,SEAL)的新方法,这可能是LLMs学习方式的一个新开端,也是大模型持续学习的重要一步。本文将深入探讨SEAL的工作原理、实验结果,以及它对未来的意义。
LLMs的局限性:知识的静态性
像Llama、Qwen、Claude或Gemini这样的LLMs在海量文本上进行训练,这使得它们在回答问题或编写代码等任务上表现出色。但是,一旦经过训练,它们的知识就被固定下来,如果没有额外的努力,它们很难学习新信息或适应新任务。传统的LLMs的知识更新存在明显的滞后性,无法做到持续学习,导致在面对快速变化的知识领域,例如新兴的编程框架或最新的科研成果时,显得力不从心。
目前常见的LLMs适应新信息的方式包括:
- 微调(Finetuning): 意味着在新的数据上重新训练模型,但这需要大量的时间和大型数据集。例如,为了让一个LLM掌握最新的Python库的信息,需要收集包含这些库的文档和代码示例的大型数据集,并花费数天甚至数周的时间进行微调。
- 上下文学习(In-Context Learning): 模型使用提示中的示例来回答问题,但它只能处理有限的示例,并且无法长期记住它们。例如,你可以向LLM提供几个关于如何使用某个特定函数的例子,但模型可能无法将这些知识应用到其他类似的场景中,或者在稍后的对话中忘记这些例子。
- 搜索工具: 这些工具允许LLMs在线查找最近的信息,但它们仍然依赖于上下文学习,并且可能无法很好地处理复杂的任务,例如理解像LangGraph这样的框架的更新。即使LLM能够通过搜索工具找到相关的网页,它仍然需要理解网页的内容,并将其与已有的知识进行整合。这个过程对于复杂的任务来说,效率低下且容易出错。
与人类不同,人类可以通过改写或总结信息来更好地学习——比如做笔记或制作图表——LLMs通常直接处理数据。SEAL框架试图改变这种状况,让LLMs创建自己的训练数据,并决定如何从中学习,从而实现真正的大模型持续学习。
SEAL框架:让LLMs学会“自学”
SEAL框架由MIT的研究人员开发,它通过创建自编辑(self-edits)来教导LLMs适应。自编辑是模型编写的指导其自身学习的指令。这些自编辑可以包括新的训练数据(如重写的新事实或示例)或用于更新模型的设置(如学习速度)。模型通过一种称为强化学习(RL)的过程来学习如何进行更好的自编辑,在这个过程中,模型尝试不同的自编辑,并保留那些可以提高其性能的自编辑。SEAL分两个步骤工作:
- 内部步骤(学习): 模型接受一项任务,例如一段文本或几个示例,并创建一个自编辑。然后,它使用此自编辑通过监督微调(supervised finetuning)来更新其知识,这种方法使用一种称为LoRA(Low-Rank Adaptation)的技术有效地调整模型的设置。具体来说,假设模型需要学习关于“SEAL框架”的知识,它可以生成一个自编辑,将文章的关键段落提炼成简洁的问答对,例如:“什么是SEAL框架?”、“SEAL框架的两个主要步骤是什么?”然后,模型使用这些问答对进行微调,从而加深对SEAL框架的理解。
- 外部步骤(改进): 模型测试更新后在任务上的表现。如果表现更好,它会奖励自编辑,并学习在未来进行类似的自编辑。这是通过一种称为ReST^EM的方法完成的,该方法选择最佳的自编辑进行训练。例如,在模型使用上述问答对进行微调后,它会接受一系列关于SEAL框架的问题的测试。如果模型的回答更加准确和流畅,那么生成这些问答对的自编辑就会得到奖励。
这种方法就像教模型教自己,类似于人类通过改写或组织信息来学习的方式。SEAL不需要额外的工具或单独的模型——它利用LLM自身编写文本的能力来指导其学习。这使得SEAL成为一种非常高效和灵活的大模型持续学习方法。
SEAL的实际应用与性能
SEAL在两个领域进行了测试,以展示它如何帮助LLMs适应:
- 添加新事实: 目标是教导模型从一段文本中获取新事实,以便以后无需再次查看文本即可回答有关该文本的问题。例如,模型可能会将一段文本改写成关键点列表,并从中学习。例如,给定一段关于新型冠状病毒变异株的描述,SEAL可以将其转化为一个包含病毒名称、突变位点、传播速度和临床表现的关键信息表,并通过学习这个表来掌握关于这个变异株的知识。
- 从少量示例中学习: 使用一组称为抽象和推理语料库(Abstraction and Reasoning Corpus,ARC)的任务,SEAL只需几个示例即可学习新任务。它决定如何转换示例(如旋转图像)以及如何训练自己。例如,在ARC数据集中,有些任务需要模型根据几个示例图像之间的关系来推断出一个新的图像。SEAL可以学习通过旋转、翻转或颜色变换等方式来处理这些图像,并选择最适合的变换方式来解决问题。
实验结果分析
研究人员使用两个模型Qwen-2.5–7B和Llama-3.2–1B-Instruct测试了SEAL,并将结果与其他方法进行了比较。以下是他们的发现:
1. 添加新事实(SQuAD数据集)
该模型被提供来自SQuAD数据集的段落,并且必须在不查看文本的情况下回答有关它们的问题。
-
一次处理一个段落:
- 无更改(基础模型): 32.7% 正确答案。
- 仅在段落上训练: 33.5% 正确,表明仅使用段落没有太大帮助。
- 在段落 + 自制数据上训练(无RL): 39.7% 正确,因为有额外的数据而更好。
- 在段落 + GPT-4.1 数据上训练: 46.3% 正确,使用来自更大模型的数据的一个好结果。
- SEAL(RL之后): 47.0% 正确,甚至比GPT-4.1的数据更好,尽管是一个较小的模型。
-
一次处理多个段落(一次200个):
- 无更改: 32.7% 正确。
- 仅在段落上训练: 32.2% 正确。
- 在段落 + 自制数据上训练(无RL): 41.0% 正确。
- 在段落 + GPT-4.1 数据上训练: 39.4% 正确。
- SEAL: 43.8% 正确,再次是最好的结果。
SEAL创建更好训练数据的能力帮助它胜过其他方法,包括来自GPT-4.1的数据。仅经过两轮RL训练后,它就迅速改进。这些数据表明,SEAL不仅能够有效地学习新事实,而且能够通过强化学习不断优化其学习策略,从而达到甚至超过大型模型的性能。
2. 从少量示例中学习(ARC数据集)
SEAL在一小组ARC任务上进行了测试,其中它必须使用几个示例来解决问题。
- 上下文学习(无训练): 0% 成功,表明没有适应,这些任务很难。
- 使用自编辑进行训练(无RL): 20% 成功,略有改善。
- SEAL: 72.5% 成功,比其他方法好得多。
- 完美设置(Oracle): 100% 成功,使用人为选择的设置的最佳可能结果。
SEAL大大提高了模型适应新任务的能力,尽管它没有达到完美设置的性能。这表明SEAL在处理复杂的推理任务方面具有巨大的潜力,但仍然有改进的空间。
研究人员还测试了SEAL,使用不同的方式要求模型创建自编辑,比如重写段落或制作问答对。在所有情况下,RL训练将结果提高了6-11%,表明SEAL无论如何提示,都能很好地工作。这体现了SEAL的鲁棒性和灵活性,使其能够适应不同的学习任务和数据类型。
SEAL的意义与未来展望
SEAL是朝着使LLMs能够像人类学习新主题一样保持学习迈出的一步。这在许多方面都可能有用:
- 对于程序员: SEAL可以通过学习新的指南或示例,帮助LLMs及时了解像LangGraph这样的工具,而无需搜索工具。想象一下,一个程序员正在使用一个快速迭代的开源库。使用SEAL,LLM可以自动从最新的文档和代码示例中学习,并为程序员提供准确和及时的建议。
- 对于研究人员: 它可以更容易地改进AI,而无需从头开始重新训练模型。研究人员可以使用SEAL来快速地将最新的研究成果集成到LLM中,从而加速AI技术的创新和发展。
- 对于每个人: 持续学习的LLMs可以在教育或医学等领域提供更好、更最新的答案。例如,一个使用SEAL的医疗咨询AI可以不断学习最新的医学研究和临床指南,为患者提供更准确和可靠的建议。
局限性与挑战
SEAL还不完美。一些挑战包括:
- 忘记旧知识: 当SEAL学习新事物时,有时会忘记旧的信息,这是一个被称为灾难性遗忘的问题。为了解决这个问题,可以使用一些技术,例如知识蒸馏和记忆重放,来帮助模型保留旧的知识。
- 高计算需求: 使用RL训练SEAL需要大量的计算能力,尤其是在测试许多自编辑时。未来的研究可以探索更高效的强化学习算法,以降低计算成本。
- 扩展: 测试使用了较小的模型,目前尚不清楚SEAL在非常大的LLM上的效果如何。将SEAL扩展到更大的模型需要进一步的研究和实验。
未来方向
SEAL开辟了令人兴奋的可能性,但还有更多工作要做:
- 防止遗忘: 新的方法可以帮助SEAL在学习新事物的同时记住旧的知识。
- 无提示学习: SEAL可以尝试自己找出创建自编辑的最佳方式,而无需被告知如何。
- 拆分任务: 一个模型可以创建自编辑,而另一个模型可以从中学习,这可能会更快。
- 新的用途: SEAL可以应用于编码、科学或实时新闻更新等领域。
总而言之,SEAL框架是LLMs的一项令人兴奋的发展,它允许LLMs自行适应和学习新信息。通过创建自编辑并通过RL改进它们,SEAL帮助模型在添加事实和从示例中学习等任务上表现更好,甚至击败了来自像GPT-4.1这样更大的模型的数据。虽然仍然存在挑战,比如忘记旧知识和需要大量的计算能力,但SEAL展示了一条通往可以跟上变化世界的LLMs的道路。对于任何因过时的AI知识而感到沮丧的人来说,SEAL为未来更智能、更灵活的模型提供了希望,为大模型持续学习的未来描绘了美好的蓝图。SEAL的成功也预示着未来的LLMs将不再是静态的知识库,而是能够像人类一样不断学习和适应的智能伙伴,从而在各个领域发挥更大的作用。