论文
SFT-as-Context 减少监督微调中的遗忘
SFT-as-Context Mitigates Forgetting in Supervised Fine-Tuning
摘要
有监督微调(SFT)为大型语言模型(LLM)配备了专门的功能,但通常是以忘记其父模型(即微调之前的预训练模型)的一般功能为代价的。对于同时需要专用功能和通用功能的查询,这种权衡尤其受到限制。我们引入了 SFT-as-context,这是一种免训练方法,其中父模型使用 SFT 模型的响应作为上下文来回答查询。这使得父模型能够通过上下文学习从 SFT 响应中获取微调功能,同时保留其自身的通用功能。在 19 个父 SFT 模型对和 11 个基准测试中,SFT-as-context 在微调能力上仍然接近 SFT 模型,在 AIME 2024 和 LiveCodeBench 上仅相差 2.2 和 2.1 个百分点,在 NutriBench-English 上只有 2.0 个宏 MAE,而在一般能力上与父模型的平均差距保持在 2.2 个百分点以内。值得注意的是,它可以解决需要微调和通用功能的查询,即使 父模型或 SFT 模型都不会单独成功。这种方法还超出了父 SFT 对的范围:小型开源 SFT 模型的响应可以改进强大的闭源 LLM,优于单独的任何一个模型。此外,我们使用贝叶斯框架来导出理论保证,以限制 SFT-as-context 相对于微调功能上的 SFT 模型和一般功能上的父模型的误差。此外,我们将注意力权重可视化,发现父模型更多地关注有用的 SFT 响应,而较少关注不相关的响应,这表明选择性注意力有助于父模型通过上下文学习使用 SFT 响应。