Llama 及 中文Alpaca模型部署测试

这篇具有很好参考价值的文章主要介绍了Llama 及 中文Alpaca模型部署测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

Xeon  E5-2680v4 16C

40G RAM

WinServer 2019 Standard Edition

Python 3.10


依赖库:

accelerate==0.18.0
anyio==3.5.0
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
asttokens==2.0.5
attrs==22.1.0
Babel==2.11.0
backcall==0.2.0
beautifulsoup4==4.12.2
bleach==4.1.0
brotlipy==0.7.0
certifi==2022.12.7
cffi==1.15.1
chardet==5.1.0
charset-normalizer==3.1.0
colorama==0.4.6
comm==0.1.2
cryptography==39.0.1
debugpy==1.5.1
decorator==5.1.1
defusedxml==0.7.1
entrypoints==0.4
executing==0.8.3
fastjsonschema==2.16.2
filelock==3.12.0
fsspec==2023.4.0
huggingface-hub==0.14.0
idna==3.4
importlib-metadata==6.0.0
importlib-resources==5.2.0
ipykernel==6.19.2
ipython==8.12.0
ipython-genutils==0.2.0
jedi==0.18.1
Jinja2==3.1.2
json5==0.9.6
jsonschema==4.17.3
jupyter_client==8.1.0
jupyter_core==5.3.0
jupyter-server==1.23.4
jupyterlab==3.5.3
jupyterlab-pygments==0.1.2
jupyterlab_server==2.22.0
lxml==4.9.2
MarkupSafe==2.1.2
matplotlib-inline==0.1.6
mistune==0.8.4
mpmath==1.3.0
nbclassic==0.5.5
nbclient==0.5.13
nbconvert==6.5.4
nbformat==5.7.0
nest-asyncio==1.5.6
networkx==3.1
notebook==6.5.4
notebook_shim==0.2.2
numpy==1.24.3
packaging==23.1
pandocfilters==1.5.0
parso==0.8.3
peft==0.2.0
pickleshare==0.7.5
pip==23.0.1
pkgutil_resolve_name==1.3.10
platformdirs==2.5.2
prometheus-client==0.14.1
prompt-toolkit==3.0.36
protobuf==3.19.0
psutil==5.9.4
pure-eval==0.2.2
pycparser==2.21
Pygments==2.11.2
pyOpenSSL==23.0.0
pyrsistent==0.18.0
PySocks==1.7.1
python-dateutil==2.8.2
pytz==2022.7
pywin32==305.1
pywinpty==2.0.10
PyYAML==6.0
pyzmq==23.2.0
regex==2023.3.23
requests==2.28.2
Send2Trash==1.8.0
sentencepiece==0.1.98
setuptools==66.0.0
six==1.16.0
sniffio==1.2.0
soupsieve==2.4
stack-data==0.2.0
sympy==1.11.1
terminado==0.17.1
tinycss2==1.2.1
tokenizers==0.13.3
tomli==2.0.1
torch==2.0.0
tornado==6.2
tqdm==4.65.0
traitlets==5.7.1
transformers==4.29.0.dev0
typing_extensions==4.5.0
urllib3==1.26.15
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==0.58.0
wheel==0.38.4
win-inet-pton==1.1.0
zipp==3.11.0


c++编译工具:w64devkit-1.16.1


Pretrained Model:

*原板LLaMa 13B;

下载链接:


LoRa:

中文LLaMa 13B LoRa; 【后改为中文Alpaca 13B LoRa】

下载链接:


测试部署过程:

1、操作原始版本LLaMa

        转换模型格式: 使用🤗transformers提供的脚本convert_llama_weights_to_hf.py,将原版LLaMA模型转换为HuggingFace格式。将原版LLaMA的tokenizer.model放在--input_dir指定的目录,其余文件放在${input_dir}/${model_size}下。执行以下命令后,--output_dir中将存放转换好的HF版权重。

python src/transformers/models/llama/convert_llama_weights_to_hf.py \
    --input_dir path_to_original_llama_root_dir \
    --model_size 13B \
    --output_dir path_to_original_llama_hf_dir

   Llama 及 中文Alpaca模型部署测试

 

2、合并LoRa权重:

        这一个步骤是将LLaMA模型进行中文词表的扩展,合并LoRa权重,生成全量模型权重。可以选责生成PyTorch版本权重文件(.pth)文件,或者生成HuggingFace版本权重(.bin)文件。

.pth 文件用于使用llama.cpp工具量化部署;

.bin文件用于: a) 使用Transformer进行推理; b) 使用text-generation-webUI进行模型部署;

使用合并代码merge_llama_with_chinese_lora.py进行合并:

python scripts/merge_llama_with_chinese_lora.py \
    --base_model path_to_original_llama_hf_dir \
    --lora_model path_to_chinese_llama_or_alpaca_lora \
    --output_type [pth|huggingface]
    --output_dir path_to_output_dir 

参数说明:


    --base_model:存放HF格式的LLaMA模型权重和配置文件的目录(第一步生成)
    --lora_model:中文LLaMA/Alpaca LoRA解压后文件所在目录,合并多个lora文件需要用逗号隔开;
    -output_type: 指定输出格式,可为pth或huggingface。若不指定,默认为pth
    --output_dir:指定保存全量模型权重的目录,默认为./
    (可选)--offload_dir:对于低内存用户需要指定一个offload缓存路径

本项目中,lora的顺序是 先  llama-lora,后Alpaca-lora。
⚠️模型顺序不能弄错⚠️

运行过程中,占用28G左右的内存,逐层合并权重:

Llama 及 中文Alpaca模型部署测试

 Llama 及 中文Alpaca模型部署测试

代码运行结束后,生成合并权重后的模型文件。文章来源地址https://www.toymoban.com/news/detail-483300.html

到了这里,关于Llama 及 中文Alpaca模型部署测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 中文大模型 Chinese-LLaMA-Alpaca-2 开源且可以商用

    “  Meta 开源 LLAMA2 后,国内出现了不少以此为基座模型训练的中文模型,这次我们来看看其中一个不错的中文模型:Chinese-LLaMA-Alpaca-2 。 ” 01 — 目前在开源大模型中,比较有名的是Meta的LLAMA模型系列和清华的ChatGLM模型。 特别是在中文领域上,ChatGLM模型经过中文问答和对

    2024年02月06日
    浏览(34)
  • 【类ChatGPT】中文LLaMA-2、Alpaca-2 二代羊驼大模型体验

    Meta发布的一代LLaMA已经掀起了一股开源大模型热潮,也有很多相关工作不断涌现。最近Meta全新发布了Llama-2,效果更上一层楼。而且最重要的是模型可以相对随意分发了,不像一代一样,meta不让开发者发布基于llama模型训练出来的权重(原版当然更不可以)。 既然有了Llama-

    2024年02月12日
    浏览(35)
  • 类ChatGPT的部署与微调(上):LLaMA到Alpaca、Vicuna、BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2023年04月25日
    浏览(27)
  • 类ChatGPT的部署与微调(上):从LLaMA、Alpaca/Vicuna/BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2024年02月04日
    浏览(39)
  • 类ChatGPT模型LLaMA的解读与其微调:Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子牙

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2024年02月16日
    浏览(37)
  • 中文LLaMA模型和指令精调的Alpaca大模型:中文数据进行二次预训练,进一步提升了中文基础语义理解能力

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月12日
    浏览(21)
  • LLM-LLaMA中文衍生模型:Chinese-LLaMA-Alpaca【扩充词表、Lora部分参数预训练、微调】

    GitHub:GitHub - ymcui/Chinese-LLaMA-Alpaca: 中文LLaMAAlpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA Alpaca LLMs) 中文LLaMA模型 中文LLaMA模型在原版的基础上扩充了中文词表,使用了中文通用纯文本数据进行二次预训练。 模型名称 训练数据 重构模型[1] 大小[2] LoRA下载[3] Chinese-LLaMA-7B 通用

    2024年02月15日
    浏览(53)
  • 【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B

    2023年2月25日消息,Meta 推出了一种针对研究社区的基于人工智能 (AI) 的新型大型语言模型,与微软、谷歌等一众受到 ChatGPT 刺激的公司一同加入人工智能竞赛。 Meta 的 LLaMA 是“大型语言模型 Meta AI” (Large Language Model Meta AI)的缩写,它可以在非商业许可下提供给政府、社区

    2024年02月13日
    浏览(34)
  • 类ChatGPT的部署与微调(上):从TRL到LLaMA、Alpaca/Vicuna/BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2023年04月27日
    浏览(30)
  • NLP-分词器:SentencePiece【参考Chinese-LLaMA-Alpaca在通用中文语料上训练的20K中文词表并与原版LLaMA模型的32K词表进行合并的代码】

    随着ChatGPT迅速出圈,最近几个月开源的大模型也是遍地开花。目前,开源的大语言模型主要有三大类:ChatGLM衍生的大模型(wenda、ChatSQL等)、LLaMA衍生的大模型(Alpaca、Vicuna、BELLE、Phoenix、Chimera等)、Bloom衍生的大模型(Bloomz、BELLE、Phoenix等)。其中,ChatGLM-6B主要以中英双

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包