摘要
长文本压缩是一个关键的研究问题,因为它对于降低与大型语言模型 (LLM) 相关的巨大计算和内存成本至关重要。在本文中,我们提出了 Activation Beacon,一个用于基于 Transformer 的 LLM 的插件模块,旨在有效、高效和灵活地压缩长文本。为了实现这一目标,我们的方法引入了以下技术设计:1) 我们直接压缩激活值(即每一层的键和值),而不是利用软提示来传递信息(这是封装长文本中复杂信息的重大瓶颈)。2) 我们定制了压缩工作流程,其中每个细粒度的输入单元被逐步压缩,从而在训练和推理过程中实现高质量的压缩和高效的计算。3) 我们通过基于压缩的自回归训练模型,充分利用纯文本和指令数据来优化模型的压缩性能。4) 在训练过程中,我们在每一步随机采样一个压缩率,教导模型支持各种压缩配置。我们对各种长文本任务进行了广泛的评估,这些任务的长度(例如 128K)可能远远超过最大训练长度 (20K),例如文档理解、小样本学习和 Needle-in-a-Haystack。虽然现有方法难以处理这些具有挑战性的任务,但 Activation Beacon 在各种情况下保持了与未压缩基线相当的性能,推理时间提高了 2 倍,KV 缓存的内存成本降低了 8 倍。我们的数据、模型和代码已在 \url{https://github.com/FlagOpen/FlagEmbedding/} 发布。