使用分层记忆进行预训练:分离长尾知识和常识

现代语言模型令人印象深刻的性能提升目前依赖于缩放参数:较大的模型可以存储更多的世界知识并更好地进行推理。然而,将所有世界知识压缩为参数是不必要的,因为每个提示只使用一小部分,并且对于推理时间内存和计算有限的边缘设备来说是不切实际的。我们通过内存增强架构和与现有硬件范例相一致的预训练策略来解决这个缺点。我们引入了小型语言模型,可以访问编码世界知识的大型分层参数存储库。期间...

来源:Apple机器学习研究

现代语言模型令人印象深刻的性能提升目前依赖于缩放参数:较大的模型可以存储更多的世界知识并更好地进行推理。然而,将所有世界知识压缩为参数是不必要的,因为每个提示只使用一小部分,并且对于推理时间内存和计算有限的边缘设备来说是不切实际的。我们通过内存增强架构和与现有硬件范例相一致的预训练策略来解决这个缺点。我们引入了小型语言模型,可以访问编码世界知识的大型分层参数存储库。在预训练和推理过程中,我们获取一个小的、上下文相关的内存块并将其添加到模型中。我们的预训练学习将长尾世界知识存储在内存参数中,而小语言模型则充当捕获常识和一般推理能力的锚。通过万亿代币规模的实验,我们展示了显着的收益:使用从 4.6B 内存库获取的 18M 参数内存增强的 160M 参数模型获得了与参数超过 2 倍的常规模型相当的性能。通过大量实验,我们研究了 Transformer 中参数存储器的最佳类型和大小,将其扩展到超过 21B 个参数。我们发现,我们提出的分层前馈记忆在 Transformer 架构中都能稳健地工作,无论是在预训练期间还是事后添加。