模型简介
模型特点
模型能力
使用案例
🚀 LongLoRA:长上下文大语言模型的高效微调
LongLoRA是一种高效的微调方法,它能在有限的计算成本下,扩展预训练大语言模型(LLMs)的上下文长度。通常,训练长上下文的大语言模型需要大量的计算资源和时间,而LongLoRA从注意力机制和权重层面加速了这一过程,让模型在扩展上下文时更加高效。
🔗 相关链接
👨🏫 作者信息
LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models [论文]
陈宇康、
钱盛举、
唐浩天、
赖鑫、
刘志坚、
韩松、
贾佳亚
📚 摘要
我们提出了LongLoRA,这是一种高效的微调方法,能够在有限的计算成本下扩展预训练大语言模型(LLMs)的上下文长度。通常,训练长上下文的大语言模型在计算上是昂贵的,需要大量的训练时间和GPU资源。在本文中,我们从两个方面加速了大语言模型的上下文扩展。一方面,尽管在推理过程中需要密集的全局注意力,但通过稀疏的局部注意力可以有效地对模型进行微调。所提出的偏移短注意力能够有效地实现上下文扩展,在与普通注意力微调性能相似的情况下,显著节省了计算量。另一方面,我们发现,在可训练嵌入和归一化的前提下,用于上下文扩展的LoRA方法效果良好。LongLoRA在从7B/13B到70B的LLaMA2模型的各种任务上展示了强大的实证结果。LongLoRA可以在单个8x A100机器上将LLaMA2 7B模型的上下文从4k扩展到100k,或将LLaMA2 70B模型的上下文扩展到32k。LongLoRA在扩展模型上下文的同时保留了其原始架构,并且与大多数现有技术兼容,如FlashAttention - 2。此外,为了使LongLoRA更具实用性,我们收集了一个数据集LongQA,用于监督微调。它包含了3000多个长上下文问答对。更多细节请参考论文。
✨ 主要特性
LongLoRA 从注意力层面和权重层面加速了预训练大语言模型的上下文扩展。
- 易于实现且兼容:所提出的偏移短注意力易于实现,与Flash - Attention兼容,并且在推理过程中不需要。
- 模型丰富:我们发布了所有模型,包括从7B到70B的模型,上下文长度从8k到100k,如 [LLaMA2 - LongLoRA - 7B - 100k](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 100k - ft)、[LLaMA2 - LongLoRA - 13B - 64k](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 64k) 和 [LLaMA2 - LongLoRA - 70B - 32k](https://huggingface.co/Yukang/Llama - 2 - 70b - longlora - 32k)。
- 数据集支持:我们构建了一个长上下文问答数据集LongQA,用于监督微调(SFT)。我们发布了经过SFT的13B和70B 32k模型,如 [Llama - 2 - 13b - chat - longlora - 32k - sft](https://huggingface.co/Yukang/Llama - 2 - 13b - chat - longlora - 32k - sft) 和 [Llama - 2 - 70b - chat - longlora - 32k - sft](https://huggingface.co/Yukang/Llama - 2 - 70b - chat - longlora - 32k - sft)。我们将在下周进一步发布该数据集。
📦 发布的模型
经过监督微调的模型
模型 | 规模 | 上下文长度 | 训练方式 | 链接 |
---|---|---|---|---|
Llama - 2 - 13b - chat - longlora - 32k - sft | 13B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - chat - longlora - 32k - sft) |
Llama - 2 - 70b - chat - longlora - 32k - sft | 70B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 70b - chat - longlora - 32k - sft) |
通过全量微调扩展上下文的模型
模型 | 规模 | 上下文长度 | 训练方式 | 链接 |
---|---|---|---|---|
Llama - 2 - 7b - longlora - 8k - ft | 7B | 8192 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 8k - ft) |
Llama - 2 - 7b - longlora - 16k - ft | 7B | 16384 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 16k - ft) |
Llama - 2 - 7b - longlora - 32k - ft | 7B | 32768 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 32k - ft) |
Llama - 2 - 7b - longlora - 100k - ft | 7B | 100000 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 100k - ft) |
Llama - 2 - 13b - longlora - 8k - ft | 13B | 8192 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 8k - ft) |
Llama - 2 - 13b - longlora - 16k - ft | 13B | 16384 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 16k - ft) |
Llama - 2 - 13b - longlora - 32k - ft | 13B | 32768 | 全量微调 | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 32k - ft) |
通过改进的LoRA微调扩展上下文的模型
模型 | 规模 | 上下文长度 | 训练方式 | 链接 |
---|---|---|---|---|
Llama - 2 - 7b - longlora - 8k | 7B | 8192 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 8k) |
Llama - 2 - 7b - longlora - 16k | 7B | 16384 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 16k) |
Llama - 2 - 7b - longlora - 32k | 7B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 7b - longlora - 32k) |
Llama - 2 - 13b - longlora - 8k | 13B | 8192 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 8k) |
Llama - 2 - 13b - longlora - 16k | 13B | 16384 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 16k) |
Llama - 2 - 13b - longlora - 32k | 13B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 32k) |
Llama - 2 - 13b - longlora - 64k | 13B | 65536 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 13b - longlora - 64k) |
Llama - 2 - 70b - longlora - 32k | 70B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 70b - longlora - 32k) |
Llama - 2 - 70b - chat - longlora - 32k | 70B | 32768 | LoRA+ | [链接](https://huggingface.co/Yukang/Llama - 2 - 70b - chat - longlora - 32k) |
📖 引用
如果您在研究中发现这个项目很有用,请考虑引用:
@article{longlora,
title={LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models},
author={Yukang Chen and Shengju Qian and Haotian Tang and Xin Lai and Zhijian Liu and Song Han and Jiaya Jia},
journal={arXiv:2309.12307},
year={2023}
}
🙏 致谢



