本项目基于Meta发布的可商用大模型Llama-2开发,是中文LLaMA&Alpaca大模型的第二期项目,开源了中文LLaMA-2基座模型和Alpaca-2指令精调大模型。这些模型在原版Llama-2的基础上扩充并优化了中文词表,使用了大规模中文数据进行增量预训练,进一步提升了中文基础语义和指令理解能力,相比一代相关模型获得了显著性能提升。相关模型支持4K上下文并可通过NTK方法最高扩展至18K+。
本项目主要内容:
-
针对Llama-2模型扩充了新版中文词表,开源了中文LLaMA-2和Alpaca-2大模型
-
开源了预训练脚本、指令精调脚本,用户可根据需要进一步训练模型
-
使用个人电脑的CPU/GPU快速在本地进行大模型量化和部署体验
-
支持transformers, llama.cpp, text-generation-webui, LangChain, vLLM等LLaMA生态
-
目前已开源的模型:Chinese-LLaMA-2-7B, Chinese-Alpaca-2-7B
模型简介
本项目推出了基于Llama-2的中文LLaMA-2以及Alpaca-2系列模型,相比一期项目其主要特点如下:
📖 经过优化的中文词表
⚡ 基于FlashAttention-2的高效注意力
-
FlashAttention-2是高效注意力机制的一种实现,相比其一代技术具有更快的速度和更优化的显存占用
-
当上下文长度更长时,为了避免显存爆炸式的增长,使用此类高效注意力技术尤为重要
-
本项目的所有模型均使用了FlashAttention-2技术进行训练
🚄 基于NTK的自适应上下文扩展技术
-
在一期项目中,我们实现了基于NTK的上下文扩展技术,可在不继续训练模型的情况下支持更长的上下文
-
在上述基础上,我们进一步设计了方便的自适应经验公式,无需针对不同的上下文长度设置相应超参
-
本项目模型原生支持4K上下文,利用上述技术可扩展至12K,并最高支持扩展至18K+(精度有一定损失)
🤖 简化的中英双语系统提示语
-
在一期项目中,中文Alpaca系列模型使用了Stanford Alpaca的指令模板和系统提示语
-
初步实验发现,Llama-2-Chat系列模型的默认系统提示语未能带来统计显著的性能提升,且其内容过于冗长
-
本项目中的Alpaca-2系列模型简化了系统提示语,同时遵循Llama-2-Chat指令模板,以便更好地适配相关生态
https://github.com/ymcui/Chinese-LLaMA-Alpaca-2
出自:https://mp.weixin.qq.com/s/sJ_imBdHCD4NibVy58EO2w