模型记忆的新思路-稀疏内存微调

69 阅读7分钟

模型记忆的新思路-稀疏内存微调

持续学习(Continual Learning)是LLM发展的重要方向,也是通向AGI路上必须要解决的主要技术之一。而持续学习中的关键是解决记忆存储的问题,现有方法包括了参数更新、外挂记忆文件、上下文更新等,但并没有很好的解决这个问题(参见AGI定义)。【AI大模型教程】

    来自Meta和加州伯克利大学的论文《Continual Learning via Sparse Memory Finetuning》在这个方面进行了有益的探索,在Transformer架构中加入了记忆层,并对其进行细化分区,更新参数的时候只涉及极小部分,从而有效解决了“灾难性遗忘”(catastrophic forgetting)的问题,这个问题在微调中非常普遍。这个方法为持续学习贡献了新思路,论文值得一读,而且第一作者的博客也写得非常有意义,持续学习当前面临问题的讨论非常有见地,我将其放在下面解读内容中,提供一个更为深入广泛的视角。

1.持续学习面临的难题

    持续学习(Continual Learning)的核心问题分为两个相互关联的子问题:泛化(Generalization)与整合(Integration)。我们希望AI是像实习生一样可以被不断教导的系统——模型在每次获得新经验、学习新事实或接受反馈时,能够逐渐变得更聪明。

    首先,泛化指的是模型面对新数据时,如何提取其中真正有价值的知识,而不是简单地记忆表面形式。以“Barack Obama was born in Hawaii”为例,模型应当学习到这是一个关于人物与地点的事实关系,而非机械地记住“Hawaii”总是跟在“in”之后。数据增强(augmentation)在这一过程中至关重要,它通过改写、释义或主动阅读等方式,帮助模型理解语义层面的知识,而不仅仅依赖于模式匹配。通过生成例子、重组知识或自我提问等方式,模型能主动建构理解。就像一个优秀的数学学生不会只把教材从头到尾读一遍,而是会自己创造“扩展”:做一些简单例题,把新的定理与自己已经掌握的定理结合起来等等。

    其次,整合则涉及模型如何在学习新知识时保持已有能力,避免“灾难性遗忘”,当然,有时忘记或更新旧知识是必要的。例如,当总统更替后,模型必须更新“现任美国总统是谁”这一事实。仅靠增加MoE 专家模块并不能真正实现智能整合——这种方式虽然避免遗忘,却会造成知识冲突和冗余,理想的系统应能自主判断哪些知识需要覆盖、哪些应当保留。

    《Continual Learning via Sparse Memory Finetuning》中提出的“记忆层”(Memory Layers)便是一种尝试,通过稀疏激活与有选择的参数更新,让模型在学习新信息时仅修改相关的记忆槽位,从而在保持高容量的同时避免遗忘。这篇文章主要解决整合的问题,并不涉及泛化的问题。

2.作为知识存储器的“内存层” (Memory Layers)

    稀疏内存微调依赖于一个关键组件——内存层 (Memory Layers)。在模型架构中,它被用来取代传统 Transformer 模型中的前馈网络层 (FFN),可以将内存层想象成一个巨大、可检索的知识硬盘。它的工作流程可以分为三步:

    -查询 (Query): 模型根据当前正在处理的输入 token,生成一个“查询向量”。这个向量代表了“我现在需要什么信息?”。

    -检索 (Retrieve): 模型使用这个查询向量,在一个包含数百万个“内存插槽” (Memory Slots) 的巨大内存池中进行搜索。每个插槽都有自己的“键 (Key)”和“值 (Value)”。系统会检索出与查询最相关的 k 个内存插槽。

    -输出 (Output): 系统对检索到的 k 个内存插槽的“值 (Value)”进行加权求和,将结果作为这一层的最终输出,传递给模型的下一部分。

    与传统硬盘不同,内存层中的“键”和“值”都是“可训练的参数”。这意味着模型可以通过学习来优化存储在其中的知识。这种设计带来了两大优势,巨大的容量(拥有数百万个内存插槽,为模型提供了庞大的知识存储潜力,远超 LoRA 等方法)和稀疏的访问(模型只会激活和访问极小一部分参数)。

3.如何精确定位要更新的“内存插槽”?

    稀疏内存微调的核心思想是:不更新所有被访问的内存插槽,而是要找到并只更新那些与“新知识”高度相关且专属于这些新知识的插槽。我们可以用一个简单的类比来理解TF-IDF是如何工作的:

    • TF (词频 - Term Frequency): 首先,找到对于“当前这批新知识”最重要的那些内存槽。标准很简单:在处理新知识时,哪些内存槽被访问得最频繁,它们就是重要的候选者。

    • IDF (逆文档频率 - Inverse Document Frequency):但仅有TF还不够。我们还需要确保这些被高频访问的内存槽,对于模型的“通用旧知识”来说是相对“冷门”的。也就是说,它们在庞大的预训练数据中很少被用到。

    结合起来,TF-IDF就像一个高明的外科医生。它精准地定位到那些专门负责存储“新知识”的“专有神经元”进行手术(更新),同时小心翼翼地避开了那些负责通用能力的“通用神经元”。

4.实验告诉我们什么?

    研究人员在一项问答任务实验中,测试了一个13亿参数(1.3B)的模型在学习了一系列新事实后,对原有知识的保持能力。结果显示,传统完全微调方法的遗忘率(即原有任务表现下降幅度)高达89%,而新的稀疏内存微调方法仅为11%——这意味着新方法成功将遗忘程度降低了近78%。

    这种差异是巨大的。它表明,我们可能找到了一个从根本上缓解“灾难性遗忘”的方法。这不仅仅是小幅度的优化,而是从“几乎全忘”到“基本记住”的质变。这组数据有力地暗示了一个方向:要想让模型持续学习,关键可能不在于更新得多,而在于更新得“精准”和“稀疏”。

结论:

    这项研究传递了一个清晰而有力的信息:“稀疏性”(Sparsity)是实现AI持续学习、克服灾难性遗忘的关键原则。而稀疏内存微调,则为我们提供了一条极其有效且优雅的实现路径。它通过精准的、少量的参数更新,让模型在吸收新知识的同时,最大程度地保留了原有的庞大知识体系。

    当然,这个方法是否能够具备在更大尺寸的模型上具备泛化能力现在还没有实验支持,当前的实验模型只有1.3B,而且参数更新的速度,消耗的时间和计算量,论文并没有给出,这对学习能力很重要,同时,当前实验验证的只是事实记忆的能力,并不涉及新知识的推理和泛化能力,所以应该说距离完全解决记忆问题还有工作要做。

    另外,当模型知识过时时,一个常见的解决方案是“检索增强生成”(RAG),即让模型从外部数据库中查找最新信息。然而,RAG更像是一个“外挂”,而稀疏内存微调追求的是一个更根本的目标——让模型本身真正地学习和进化。对于推理、编码这类难以通过简单检索来提升的任务,这种内在的学习能力显得尤为重要。