CityU logo

长文本中微调大型语言模型的解决方案 - LongLoRA

大型语言模型(LLMs)已经在自然语言处理任务中带来了革命,但它们预先定义的上下文大小限制了它们在长文档或问题的任务中的应用性。传统方法,如完全微调和低秩适应(LoRA),已被证明对于扩展大型语言模型的上下文窗口是无效且计算成本高昂的。这就是LongLoRA发挥作用的地方,它是一种高效的微调方法,克服了这些限制,使大型语言模型能够有效处理更长的上下文。

标准自注意力机制(Self-Attention)和LoRA的无效性

标准自注意力机制(Self-Attention机制)在短上下文中表现良好,但随着上下文窗口的扩大,它们在性能和效率方面遇到了困难。 LoRA使用低秩权重更新,对于有效处理长上下文模型存在不足。实证研究发现,随着上下文大小的增加,复杂度增高且计算成本增加,使得这些方法对于扩展大型语言模型的上下文窗口并不理想。

介绍LongLoRA

LongLoRA提出了一种新颖的方法,有效地微调具有扩展上下文窗口的大型语言模型。它利用FlashAttention-2和DeepSpeed ZeRO等技术来优化训练和推理。 LongLoRA引入了Shift Short Attention(S2-Attn),将上下文长度分成多组,并在每组内进行注意力计算。通过在组之间移动标记,保证了邻近组之间的信息流动。这种方法在推理期间保持了原本的注意力结构,实现了近似长上下文的学习。

LongLoRA 设计概述

LongLoRA的关键组件:

  • FlashAttention-2兼容性:LongLoRA的设计为与FlashAttention-2兼容,可以与现有的大型语言模型优化和基础设施技术无缝集成。
  • DeepSpeed ZeRO:LongLoRA利用DeepSpeed ZeRO进行内存优化,以最小化扩展上下文窗口所需的计算成本。
  • Shift Short AttentionS2-Attn:S2-Attn通过在单个组内进行注意力计算,实现了高效的上下文扩展,相比于标准Self-Attention,减轻了计算负担。通过标记的位移,促进了组之间的信息流动。
  • 旋转嵌入(Rotary Embedding:LongLoRA包含可学习的嵌入和正规化层,这对于长上下文的学习至关重要。这些层只占整个模型参数的一小部分,确保了计算效率。
Shift Short Attention示意图

结果和改进

实验结果证明了LongLoRA的有效性和效率。使用LongLoRA进行微调的模型在性能上与完全注意力和完全微调的模型相当,同时显著降低计算成本。 LongLoRA成功扩展了大型语言模型的上下文窗口,例如LLaMA2 7B、13B和70B,使得上下文长度可达到单个8× A100机器上的100k或32k。这些改进使得大型语言模型能够更有效地处理长文档和问题。

结论

LongLoRA提供了一种有效的微调方法,用于扩展大型语言模型的上下文窗口,解决了标准自注意力、LoRA和完全微调的限制。通过利用FlashAttention-2、DeepSpeed ZeRO、位移短注意力和旋转嵌入等技术,LongLoRA在显著降低计算成本的同时实现了与完全微调相当的性能。这一突破使得大型语言模型能够处理长上下文,为自然语言处理任务带来了新的可能性。

额外内容

FlashAttention-2 是 FlashAttention 的改进版本,旨在解决 Transformer 的注意力层在扩展到更长的序列长度时的效率和限制问题。注意力层是处理较长序列时的主要瓶颈,因为它的运行时间和内存需求呈二次增长。 FlashAttention-2 引入了更好的并行和工作分割技术,以优化注意力计算。它减少了非矩阵乘法浮点运算(FLOPs)的次数,将注意力计算在不同的线程块之间进行并行计算,并在每个线程块内部的线程束之间分配工作,以最小化通信和共享内存访问。这些改进使得 FlashAttention-2 在速度上显著加快,最高可达到原来的两倍速度,接近优化矩阵乘法运算的效率。FlashAttention-2 已通过实证验证,并证明在 GPT 风格模型的训练速度方面更快,成为处理语言建模和其他应用中更长序列的有价值解决方案。

DeepSpeed ZeROZero Redundancy Optimizer是一种用于训练大型深度学习模型的内存优化技术。它消除了数据和模型并行训练中的内存冗余,提高了训练速度,并实现了对具有数万亿参数的模型的高效训练。通过对模型状态进行分割和优化内存消耗,DeepSpeed ZeRO 允许将模型大小按比例扩展到设备数量,同时保持高计算和通信效率。它显著减少了内存的需求,使得可以在大量 GPU 上训练具有数万亿参数的模型。

本文是在 AI 的协助下撰写,并参考以下来源:
LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models
LongLoRA and LongAlpaca for Long-context LLMs
FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning
ZeRO: Memory Optimizations Toward Training Trillion Parameter Models

在此感謝 InnoHK、香港特別行政區政府及人工智能金融科技實驗室對本文的支持。
(AIFT 竭力但不能保證內容之準確和可靠,亦不會承擔因任何不準確或遺漏而引起的任何損失或損害。)

分享此內容

人工智能金融科技实验室与中银香港进一步加强金融科技合作

Tokenization Revolution - Unleashing Banking's Growth Potential

地址

香港沙田香港科学园科技大道西 19号
11楼 1101-1102 及 1121-1123 室

产品及解决方案

人才

工作机会

关于我们

地址

版权所有 © 2024 人工智能金融科技实验室有限公司