适配各种backbone模型架构和各种大小
原标题:标点符号成大模型训练神器!KV缓存狂减一半,可处理400万Tokens长序列,来自华为港大等 | 开源
文章来源:量子位
内容字数:5812字
SepLLM:利用标点符号加速大模型训练与推理
来自华为、港大、KAUST和马普所的研究者提出了一种新颖的自然语言建模方法——SepLLM,通过巧妙利用标点符号(如逗号、句号等)来显著加速大型语言模型的训练和推理过程。该方法的核心在于发现标点符号在注意力得分中占据了不成比例的重要地位,这暗示着它们可以有效地压缩其前后文本片段的信息。
1. SepLLM的核心思想
SepLLM的核心思想是将文本信息压缩到标点符号中。研究者观察到,注意力机制可视化结果显示,标点符号周围的注意力得分往往较高。因此,SepLLM将一段文本划分成由标点符号分割的语义片段,并将其信息压缩进相应的标点符号中,而其他tokens则被丢弃。这种方法基于以下几个关键点:
- 初始tokens保留: 保留初始tokens,以避免生成tokens的困惑度(ppl)显著增加。
- 分隔符tokens作为信息载体: 利用标点符号(分隔符tokens)压缩其分割的文本片段信息,实现免训练场景下的高效推理。
- 相邻tokens考虑: 考虑到语言任务的局部依赖性,保留相邻tokens以维持上下文连贯性。
这种基于标点符号的建模方法,充分利用了自然语言固有的稀疏性,避免了人为定义稀疏性的局限性,使其成为一种更自然的、高效的建模方式。
2. SepLLM的效率提升
SepLLM在训练和推理效率方面都取得了显著提升:
- KV缓存减少: 基于Llama-3-8B模型,SepLLM在GSM8K和MMLU基准测试中减少了超过50%的KV缓存,同时保持了相当的性能表现。
- 流式处理能力增强: SepLLM能够有效处理高达400万甚至更多tokens的超长流式序列生成。
- 推理速度加快: SepLLM优化了推理过程,生成速度更快,困惑度更低,平均KV Cache使用量也减少。
- 训练效率提升: 训练过程FLOPs消耗更低,速度和吞吐率更高,预训练时间缩短1.26倍,训练吞吐率和加速比达到1.53倍。
3. SepLLM的适用性和优势
SepLLM具有广泛的适用性,可以适配各种backbone模型架构(Llama、Pythia、GPTNeoX、GPT2、Falcon等)和不同大小的模型,在各种场景下(免训练、预训练、后训练)均能实现更高的效率和精度。与其他稀疏注意力方法相比,SepLLM根据原生语义动态划分token数,在免训练场景下取得了更好的准确率。
4. 项目信息
SepLLM的代码库已公开,支持高效的多节点分布式训练,并采用了加速注意力机制的模块Sep-Attention。项目地址:https://sepllm.github.io/ 论文地址:https://arxiv.org/abs/2412.12094 代码:https://github.com/HKUDS/SepLLM
联系作者
文章来源:量子位
作者微信:
作者简介:追踪人工智能新趋势,关注科技行业新突破