Recent Releases of chinese-llama-alpaca
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 中的说明。
其他更新与修复
- 推理脚本inference_hf.py中添加了8比特量化推理支持(#756)
- 修复了推理脚本
repeat_penalty默认值过高的问题(#760)
For English release note, please refer to Discussion.
- Python
Published by ymcui over 2 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 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.
- Python
Published by ymcui over 2 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 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.
- Python
Published by ymcui over 2 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 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.
- Python
Published by ymcui over 2 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 v3.2
本次以功能性更新为主,包括添加指令精调脚本、LangChain支持、基于Gradio的本地Demo等。
添加了指令精调脚本,优化实验启动流程(#322)
- 添加了指令精调代码 runclmsftwithpeft.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)
- 修复了alpacadatazh_51k.json指令精调数据
- 修复了mergellamawithchineselora.py保存多个分块的一个问题
For English release note, please refer to Discussion.
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型(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分,具体评测结果请参考效果评测 - 多轮回复长度相比旧模型提升明显(可适当增大温度系数) - 知识问答、写作、翻译等方面效果显著提升
⚠️ 注意:Alpaca-Plus-7B/13B的模型合并流程稍有不同,请参考合并教程。
💯 完善了量化评测
llama.cpp提供了多种量化方案,本次针对Alpaca-Plus-7B以及Alpaca-Plus-13B进行了综合评测。
- 默认的量化方法为q40,虽然速度最快但损失也是最大的,其余方法各有利弊,按实际情况选择
- 机器资源够用且对速度要求不是那么苛刻的情况下可以使用q80,接近F16模型的效果
- 需要注意的是F16以及q8_0并不会因为增加线程数而提高太多速度
- 线程数-t与物理核心数一致时速度最快,超过之后速度反而变慢
详细结果见关于量化方法选择及推理速度。
For English release note, please refer to Discussion.
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型(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,使得指令意图更明确
📚 简化了模型合并脚本
现在用户可以使用统一的mergellamawithchineselora.py对模型进行合并和转换了。
- 支持输出.pth格式模型:用于后续llama.cpp等的量化和部署
- 支持输出.bin格式(huggingface)模型:用于进一步精调或其他训练目的
- Alpaca-Plus合并流程稍有不同,请务必参考最新合并流程教程
📚 添加了预训练脚本
提供了用于训练LLaMA的预训练脚本,基于🤗transformers中的run_clm.py。具体使用方法请参考Wiki中的相关教程。
预祝大家假期愉快~ 🎉🎉🎉
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 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
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 v2.1
- 🚀 合并脚本更新,支持从HF格式LLaMA权重+Chinese-LLaMA/Alpaca LoRA权重合并到HF格式的模型权重
🚀 添加了两种新的部署方式:
- 添加了基于text-generation-WebUI的部署指南,无需合并模型即可本地化部署
- 添加了直接使用Transformers进行推理的脚本,可方便快速体验模型效果,无需安装其他库或Python包,支持CPU/GPU
⚠️ 移除了权重合并脚本中的
--model_size参数:合并模型时不再需要提供该参数,脚本将自动推测模型大小。
- Python
Published by airaria almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 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模型了
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 v1.1
- 🚀 进一步简化模型合并步骤,从原来的三步变为两步
- 🚀 知名LLaMA量化和部署工具llama.cpp迎来大更新,官方称加载速度可提升10-100x,建议所有用户更新最新版本。特别说明:llama.cpp旧代码生成的量化模型不能在新代码上使用,因此需要以下二选一步骤:
- 选项一:如果你还保存了合并模型后的
.pth文件,可以使用llama.cpp最新代码进行重新量化,步骤与之前相同 - 选项二:如果你已经删除了合并模型后的
.pth文件,可以使用llama.cpp最新提供的migrate-ggml-2023-03-30-pr613.py脚本将旧模型直接转换为新模型
- 选项一:如果你还保存了合并模型后的
- 📚 添加了数据爬取脚本(利用官方
gpt-3.5-turboAPI接口),用户可根据需要自行修改模板并爬取数据
- Python
Published by ymcui almost 3 years ago
chinese-llama-alpaca - 民间版中文羊驼模型 v1.0
- 🦙 开源了经过中文文本数据预训练的中文LLaMA大模型
- 🦙 开源了进一步经过指令精调的中文Alpaca大模型
- 🚀 无缝衔接知名LLaMA量化和部署工具llama.cpp
- 🚀 快速地使用笔记本电脑(个人PC)本地部署和体验量化版大模型
- Python
Published by ymcui almost 3 years ago