LongLoRA(Long Low-Rank Adaptation)是一种高效的微调方法,可以显著扩展预训练大语言模型的上下文长度,同时保持较低的计算成本。它主要包含两个关键技术:
稀疏局部注意力(Shifted Sparse Attention): 在微调阶段使用稀疏局部注意力机制,大幅降低计算成本。
改进的LoRA: 通过开放嵌入层和归一化层进行训练,弥补了原始LoRA在长上下文扩展中的不足。
LongLoRA能够将Llama2-7B模型的上下文从4k扩展到100k,或将Llama2-70B扩展到32k,仅需要单台8 GPU的机器即可完成。
git clone https://github.com/dvlab-research/LongLoRA.git
cd LongLoRA
pip install -r requirements.txt
python train.py --model_name_or_path meta-llama/Llama-2-7b-hf \
--output_dir ./output \
--num_train_epochs 1 \
--per_device_train_batch_size 1 \
--per_device_eval_batch_size 1 \
--gradient_accumulation_steps 16 \
--evaluation_strategy "no" \
--save_strategy "steps" \
--save_steps 2000 \
--save_total_limit 1 \
--learning_rate 2e-5 \
--weight_decay 0. \
--warmup_ratio 0.03 \
--lr_scheduler_type "cosine" \
--logging_steps 1 \
--fsdp "full_shard auto_wrap" \
--fsdp_transformer_layer_cls_to_wrap 'LlamaDecoderLayer' \
--tf32 True \
--model_max_length 8192 \
--gradient_checkpointing True \
--dataloader_num_workers 1
更多详细使用说明请参考GitHub README。
LongLoRA为扩展大语言模型的上下文长度提供了一种高效的解决方案。通过本文提供的资源,读者可以深入了解LongLoRA的原理,并快速上手使用这一技术。随着长上下文处理能力的提升,LLM将在更多复杂任务中发挥重要作用。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。