本文是LLM系列文章,针对《LONGLORA: EFFICIENT FINE-TUNING OF LONGCONTEXT LARGE LANGUAGE MODELS》的翻译。
Longlora:长上下文大型语言模型的高效微调
- 摘要
- [1 引言](#1 引言)
- [2 相关工作](#2 相关工作)
- [3 LongLoRA](#3 LongLoRA)
- [4 实验](#4 实验)
- [5 结论](#5 结论)
摘要
我们提出了LongLoRA,一种有效的微调方法,以有限的计算成本扩展预训练的大型语言模型(llm)的上下文大小。通常,训练具有长上下文大小的llm在计算上是昂贵的,需要大量的训练时间和GPU资源。例如,在上下文长度为8192的情况下进行训练,自注意力层的计算成本是在上下文长度为2048的情况下的16倍。本文从两个方面加快LLM的语境扩展。一方面,虽然在推理过程中需要密集的全局关注,但通过稀疏的局部关注可以有效地对模型进行微调。所提出的转移短注意力(S2 -Attn)有效地支持上下文扩展,从而节省大量计算,性能与使用普通注意力进行微调相似。特别的是,它可以在训练中仅用两行代码实现,而在推理中是可选的。另一方面,我们重新审视了上下文扩展的参数有效微调机制。值得注意的是,我们发现LoRA在可训练的嵌入和规范化的前提下可以很好地进行上下文扩展。LongLoRA在LLaMA2模型从7B/13B到70B的各种任务上证明了强有力的实证结果。LongLoRA在单个8× A100机器上采用LLaMA2 7B从4k上下文到100k,或LLaMA2 70B到32k。LongLoRA扩展了模型的上下文,同时保留了它们原来的架构,并且与大多数现有技术兼容,比如FlashAttention-2。此外,为了使LongLoRA实用,我们收集了一个数据集LongQA,用于监督微调。它包含超过3k长的上下文问答对。我们所有的代码、模型、数据集和演示都可以在github.com/dvlab-research/LongLoRA上获得。
1 引言
2 相关工作
3 LongLoRA
4 实验
5 结论
在这项工作中,我们提出了LongLoRA,可以有效地扩展llm的上下文长度,使其显着变大。与标准的完全微调相比,LongLoRA具有更少的GPU内存成本和训练时间,并且具有最小的精度折衷。在体系结构层面,我们建议在训练期间将短暂注意力转移到接近标准的自注意力模式。转移短暂注意力很容易实现,只需要两行代码。此外,通过转移短注意力训练的模型在推理过程中保留了原始的标准注意力结构,使大多数预先存在的基础设施和优化可重用。在训练层面,我们用可训练的归一化和嵌入弥合了LoRA和完全微调之间的差距。我们的方法可以在一台8× A100机器上将LLaMA2 7B模型扩展到100k上下文长度,将70B模型扩展到32k上下文长度。我们认为LongLoRA是一种通用的方法,可以兼容更多类型的llm和位置编码,我们计划在未来进行研究。