Releases: ymcui/Chinese-LLaMA-Alpaca
民间版中文羊驼模型 v5.0
本版本针对模型回复较短的问题进行升级,同时推出Plus-33B系列模型。
同时,我们也很高兴地向大家宣布新项目启动:中文LLaMA-2、Alpaca-2大模型🦙
🚀 推出中文Alpaca-Pro系列模型
- 针对早期Alpaca相关模型回复较短的问题进行优化,使其回复长度接近GPT-3.5/GPT-4
- 推荐所有使用Alpaca系列模型的用户升级至Pro版本(7B/13B/33B),合并方式与Plus模型一致,需要同时融合LLaMA-Plus的LoRA
- 如果更喜欢短回复,可以选择Plus系列模型
在此特别感谢所有参与beta评测投票的各位社区成员。
🚀 推出LLaMA-Plus-33B、Alpaca-Plus-33B
- 在基础版33B之上将训练数据扩充至120G,得到LLaMA-Plus-33B;进一步通过指令精调得到Alpaca-Plus-33B
- 在C-Eval、主观体验方面显著优于本项目其他模型
- 本次不再提供GPT-4评价的结果,请通过接下来介绍的ChatBot Arena浏览对比相关模型输出
📊 添加ChatBot Arena
- 仿照fastchat的方式,添加了模型对战页面,题库进一步扩充至360题
- 评测模型包括所有Alpaca-Plus和Alpaca-Pro系列模型,每个模型包含3个参考输出(随机显示其一)
- 可实时查看总体胜率、Elo评分、两两对战胜率等信息
对战地址:http://chinese-alpaca-arena.ymcui.com/
🔬 升级NTK-scaling算法,添加Memory Efficient Attention(#743)
- 升级了NTK-scaling算法,更好地支持长上下文条件下的文本生成
- 可通过参数
alpha
控制上下文扩展长度,支持指定数值和auto两种方式 - 添加了Memory Efficient Attention补丁,显著降低显存消耗,在单张24G显存的显卡上7B模型最大输入长度可达5K+
具体使用方法见 #743 中的说明。
其他更新与修复
For English release note, please refer to Discussion.
民间版中文羊驼模型 v4.2
本版本以功能性更新为主,包括新增8K上下文支持、支持Gradio Demo流式输出、支持仿OpenAI API形式调用等。
🔬 新增8K+上下文支持
新增8K+上下文支持方法,无需对模型权重本身做出修改。
- transformers:提出自适应RoPE,动态适配4K~8K+上下文,已集成在
gradio_demo.py
,inference_hf.py
等(#705) - llama.cpp:可支持8K+上下文,相关修改步骤详见讨论区(#696)
🚀 支持Gradio Demo流式输出(#630)
- Gradio Demo现已支持流式输出形式,参考
gradio_demo.py
. Contribued by @sunyuhan19981208 - 修复流式输出时速度过慢的问题(#707). Contributed by @GoGoJoestar
🤖 支持仿OpenAI API形式调用(#530)
- 使用fastapi实现的仿OpenAI API风格的服务器Demo,使用方法参考Wiki. Contribued by @sunyuhan19981208
- 修复一处system message相关错误(#684). Contribued by @bigbaldy1128
- 增加
do_sample
参数(#699)Contribued by @sunyuhan19981208
其他更新、修复、新闻
- 修复了训练脚本中training steps的问题(#669)
- 修复了
build_dataset.py
和run_clm_sft_with_peft.py
中的一处命名错误,优化log输出(#691、#692) - 修复了低资源模型合并脚本中
vocab_size
更新问题(#703) - llama.cpp已支持仿OpenAI API部署,还可以部署一个简单的web demo,感兴趣的可访问llama.cpp#server
For English release note, please refer to Discussion.
民间版中文羊驼模型 v4.1
本版本以功能性更新为主,包括更新技术报告、添加C-Eval预测脚本、添加低资源模型转换脚本等。
📚 更新技术报告(arXiv-v2)
- 更新模型构建的相关描述,添加Plus版本模型训练参数等
- 生成效果评测部分替换为Alpaca-Plus-7B、Alpaca-Plus-13B、Alpaca-33B对比
- 添加C-Eval完整评测结果,包括原版LLaMA以及本项目所有模型的结果与分析
- 添加不同量化层级(2-bit ~ 8-bit, FP16)的效果对比和分析
- 详细技术报告请查阅:https://arxiv.org/abs/2304.08177
🔬 添加C-Eval预测脚本(#601)
- 添加了论文中使用的C-Eval预测脚本,轻松复现论文中相关模型效果
- 提供了基于上述脚本的Colab notebook,用户可参考相关运行过程
- 详细的介绍请参见Wiki教程
🚀 添加低资源模型转换脚本(#608)
- 添加了新版低资源模型转换脚本
merge_llama_with_chinese_lora_low_mem.py
,大幅降低内存消耗 - 7B需要15GB,13B需要18GB,33B需要22GB(不同机器可能略有不同)
- 使用方法与旧脚本一致,后续将作为主要使用的模型合并脚本
其他更新和修复
- 修复了预训练脚本中文件名的一处错误(#540),Contribution by @alkaideemo
- 修复了模型保存问题,支持LoRA权重和tokenizer的保存 (#555)
- 在预训练和精调脚本中增加了检查项,避免后续模型合并出现异常问题(#595)
For English release note, please refer to Discussion.
民间版中文羊驼模型 v4.0
本次重点发布了33B版本中文LLaMA和Alpaca模型。
🚀 发布中文LLaMA-33B、Alpaca-33B
- 与其他基础版一致,中文LLaMA-33B使用了20G的中文语料进行预训练
- 指令数据仍然是4M级别,并添加了OASST1数据(中文翻译,约10K)
- 生成效果评价:Plus-7B获得75.3,Plus-13B获得79.4,33B获得82.0👍🏻
- Alpaca-33B在数值计算、代码理解等7B/13B不擅长的任务上获得了显著性能提升
具体评测结果和生成示例请参考效果评测。
💯 提供了C-Eval客观评价指标结果
C-Eval是近期推出的一个包含14K样本的选择型问答数据集,涵盖了52个不同的学科和四个难度级别。中文Alpaca-Plus-13B和Alpaca-33B模型在该测试集上达到了较好水平,甚至超越了LLaMA-65B、Bloomz-mt等参数量大几倍甚至十几倍的千亿级模型。
详细结果请参考:https://github.com/ymcui/Chinese-LLaMA-Alpaca/tree/main#客观效果评测
📚 功能性更新
- 提供了privateGPT示例(#410):privateGPT是基于LangChain二次开发的项目,可以对本地文档进行分析并利用大模型进行交互问答。相关使用方法请查看本项目Wiki
- 提供了Colab上可运行的Gradio示例(#364、#536):在Colab上运行notebook,启动基于Gradio的交互式Web服务,可迅速进行部署与体验。Contribution by @sunyuhan19981208
其他更新
- 更新了训练脚本,提升了训练之后进一步合并模型的便利性
- 重构了
scripts
文件夹,使目录结构更清晰 - 更新了合并模型脚本,使之适配33B/65B模型
For English release note, please refer to Discussion.
民间版中文羊驼模型 v3.2
本次以功能性更新为主,包括添加指令精调脚本、LangChain支持、基于Gradio的本地Demo等。
添加了指令精调脚本,优化实验启动流程(#322)
- 添加了指令精调代码 run_clm_sft_with_peft.py
- 优化了预训练和精调启动流程,现在可以更方便地运行实验了
- 添加了预训练启动脚本run_pt.sh和精调启动脚本run_sft.sh
- 添加了预训练notebook和指令精调notebook,可直接在jupyter-notebook或Colab中执行
- 详细使用方法请参考Wiki中的相关教程
添加了LangChain使用示例(#338)
- Chinese-Alpaca可以轻松地与LLM应用程序开发框架LangChain结合进行二次开发
- 添加了使用Chinese-Alpaca和LangChain进行 检索问答(Retrieval QA) 和 摘要生成(Summarization) 的示例
- 详细使用方法请参考Wiki中的LangChain教程
添加了基于Gradio的本地Web Demo(#300)
- 在本地浏览器中使用原生的🤗transformers进行推理,并且支持多轮对话
- 请参考wiki中的使用Transformers推理
感谢@sunyuhan19981208 贡献的PR。
其他更新
- 🤗transformers推理脚本inference_hf.py现在支持使用多GPU进行推理(#272)
- 修复了alpaca_data_zh_51k.json指令精调数据
- 修复了merge_llama_with_chinese_lora.py保存多个分块的一个问题
For English release note, please refer to Discussion.
民间版中文羊驼模型(Plus)v3.1
本次是针对Plus版本的更新,主要聚焦于以下几方面:
🚀 发布中文LLaMA-Plus, Alpaca-Plus 13B版本
发布中文LLaMA-Plus, Alpaca-Plus 13B版本,改进点如下:
- 相比基础版进一步扩充了训练数据,其中LLaMA扩充至120G文本,Alpaca扩充至4.3M指令数据
- 重点增加了科学领域数据,涵盖:物理、化学、生物、医学、地球科学等
- Alpaca训练时采用了更大的rank,相比基础版具有更低的验证集损失
- Alpaca评测结果:13B获得74.3分,Plus-7B获得78.2分,Plus-13B获得80.8分,具体评测结果请参考效果评测
- 多轮回复长度相比旧模型提升明显(可适当增大温度系数)
- 知识问答、写作、翻译等方面效果显著提升
💯 完善了量化评测
llama.cpp提供了多种量化方案,本次针对Alpaca-Plus-7B以及Alpaca-Plus-13B进行了综合评测。
- 默认的量化方法为q4_0,虽然速度最快但损失也是最大的,其余方法各有利弊,按实际情况选择
- 机器资源够用且对速度要求不是那么苛刻的情况下可以使用q8_0,接近F16模型的效果
- 需要注意的是F16以及q8_0并不会因为增加线程数而提高太多速度
- 线程数
-t
与物理核心数一致时速度最快,超过之后速度反而变慢
详细结果见关于量化方法选择及推理速度。
For English release note, please refer to Discussion.
民间版中文羊驼模型(Plus)v3.0
比假期先到来的是我们的最新模型😄,本次更新主要聚焦于以下几方面:
🚀 发布中文LLaMA, Alpaca Plus版(7B)
推出中文LLaMA, Alpaca Plus版(7B),相比基础版本的改进点如下:
- 进一步扩充了训练数据,其中LLaMA扩充至120G文本(通用领域),Alpaca扩充至4M指令数据(重点增加了STEM相关数据)
- Alpaca训练时采用了更大的rank,相比原版具有更低的验证集损失
- 评测结果显示,Alpaca-Plus-7B相比基础版Alpaca-7B效果更优,部分任务接近或超过13B版本
- 这一轮比拼:7B获得65.3分,13B获得70.9分,Plus-7B效果75.3分,具体评测结果请参考效果评测
(Plus-13B在路上)
💯 完善了评测样例
在原有的测试样例的基础上,进一步对评测样例、评测方法进行完善,请参考效果评测。
- 样例总量从160个扩充至200个,每个任务20个样例
- 评测模型由Q4改为Q8,更接近于原始模型的效果,更具有参考价值
- 修正了部分prompt,使得指令意图更明确
📚 简化了模型合并脚本
现在用户可以使用统一的merge_llama_with_chinese_lora.py对模型进行合并和转换了。
- 支持输出
.pth
格式模型:用于后续llama.cpp等的量化和部署 - 支持输出
.bin
格式(huggingface)模型:用于进一步精调或其他训练目的 - Alpaca-Plus合并流程稍有不同,请务必参考最新合并流程教程
📚 添加了预训练脚本
提供了用于训练LLaMA的预训练脚本,基于🤗transformers中的run_clm.py。具体使用方法请参考Wiki中的相关教程。
预祝大家假期愉快~ 🎉🎉🎉
民间版中文羊驼模型 v2.2
本次更新主要聚焦于以下几方面:
📚 添加了词表合并的脚本
现在用户可以利用脚本merge_tokenizers.py对原版LLaMA词表进行扩充。脚本使用说明:链接
🚀 添加了LlamaChat支持
LlamaChat提供了一种面向macOS系统的类LLaMA模型的图形交互界面。macOS用户可以使用LlamaChat软件加载PyTorch以及GGML版本的模型了。LlamaChat使用说明:链接
📚 文档转移至GitHub Wiki
为了更系统地归档相关使用说明,从本版本起相关文档将在Wiki中进行更新。查看:本项目 GitHub Wiki
📝 添加了第一版技术文档
- Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca
- Yiming Cui, Ziqing Yang, Xin Yao
民间版中文羊驼模型 v2.1
-
🚀 合并脚本更新,支持从HF格式LLaMA权重+Chinese-LLaMA/Alpaca LoRA权重合并到HF格式的模型权重
-
🚀 添加了两种新的部署方式:
- 添加了基于text-generation-WebUI的部署指南,无需合并模型即可本地化部署
- 添加了直接使用Transformers进行推理的脚本,可方便快速体验模型效果,无需安装其他库或Python包,支持CPU/GPU
-
⚠️ 移除了权重合并脚本中的--model_size
参数:合并模型时不再需要提供该参数,脚本将自动推测模型大小。
民间版中文羊驼模型 v2.0
🚀 重磅更新中文LLaMA、Alpaca 13B版本!
- 综合评分:7B版本49分,13B版本71分👍🏻
- 优化了训练参数,13B模型相比7B模型具有更好的事实性
- 尤其在知识问答、文学诗词、娱乐、翻译、伦理拒答等分类上获得显著提升
- 实测在llama.cpp程序中,13B量化模型的推理速度仍然很快(M1 Max下测试)
📝 完善了模型评测样例
- 现在一共给出10大类评测样例,涵盖了多轮交互、问答、翻译、写信、代码、伦理等分类。
- 以GPT-4为裁判,给出了中文Alpaca 7B和13B的全面对比评测
- 用户可根据评测结果更快地找到适合自己的模型
📚 添加了Colab在线转换脚本,转换更方便
- 添加了Google Colab在线转换脚本
- 优化了内存使用,现在免费用户也有机会轻松转换和量化7B和13B模型了