9 大模型部署手记LLaMa2+Chinese-LLaMA-Plus( 二 )


2.原版模型对应的Lora模型
根据- ymcui/-LLaMA-: 中文LLaMA&大语言模型+本地CPU/GPU训练部署 ( LLaMA &LLMs)提供的 模型推荐清单 , 原版LLaMa-7B对应的基座模型只有 -LLaMA-Plus-7B:
点击链接 百度网盘 请输入提取码下载百度网盘的压缩包:--lora-7b.zip
将其解压到D:\llama.cpp\ 目录:注意由于zip不带目录 , 使用压缩软件解压时要选择 解压到--lora-7b
3.安装依赖
cd -LLaMA-
其中合并的脚本.py 在 D:\-LLaMA-\ 目录下:
可将其复制到 d:\llama.cpp 目录:
将 /.py 文件也复制过来:
下载
保存到 d:\llama.cpp 目录
4.部署验证
打开
condallama
在目录下 , 创建以下几个目录:
在7B目录下 , 上次是将 原始模型转换成了 ggml-model-f16.gguf , 并int4量化成了 ggml-model-q4_0.gguf
(1)使用提供的脚本.py , 将原版LLaMA模型转换为格式
cd D:\llama.cpp
.py -- /7B -- 7B --
pip==0.13.3
再来:
.py -- /7B -- 7B --
将7B上层目录的 .model 复制到 /7B目录下:
再来:
.py -- /7B -- 7B --
这个需要耐心等待一会儿 。
不好意思 , 目的目录应该是 /
将结果挪过去吧!
mv /* //
rmdir
(2)单LoRA权重合并
.py -- / -- / -- pth -- /
合并好的模型放到了 / 目录:
(3)SHA检查
- \\.00.pth
找不到这个值 。。。
原版pth的:
- \7B\.00.pth
【9大模型部署手记LLaMa2+Chinese-LLaMA-Plus】这个可以找到:
Lora .model :
- \\.model
(llama) PS D:\llama.cpp> certutil -hashfile models\chinese_llama_plus_lora_7b\tokenizer.model sha256SHA256 的 models\chinese_llama_plus_lora_7b\tokenizer.model 哈希:e2676d4ca29ca1750f6ff203328d73b189321dc5776ceede037cbd36541d70c0CertUtil: -hashfile 命令成功完成 。(llama) PS D:\llama.cpp>
这个可以找到:
Lora权重 .bin :
- \\.bin
(llama) PS D:\llama.cpp> certutil -hashfile models\chinese_llama_plus_lora_7b\adapter_model.bin sha256SHA256 的 models\chinese_llama_plus_lora_7b\adapter_model.bin 哈希:8c928db86b2a0cf73f019832f921eb7e1e069ca21441b4bfa12c4381c6cc46beCertUtil: -hashfile 命令成功完成 。(llama) PS D:\llama.cpp>
这个可以找到:
那就是合并之后的模型权重文件不对吗?张小白也不知道 。。。
(4)合并完了之后 , 进行以下操作:
将合并后的模型权重 \\.00.pth 转换为ggml的FP16格式:ggml-model-f16.gguf , 保存在 / 目录下 。
.py /
结果写到了 \\ggml-model-f16.gguf 文件中:13G左右 。
刚才转换好的FP16模型进行4-bit量化:
./ .///ggml-model-f16.gguf .///ggml-model-q4_0.gguf q4_0
大小只有3.8G了 。
进行推理:
./main -m .///ggml-model-q4_0.gguf -n 512 -- "我给大家介绍一下加拿大"
好像有点不大对头 。但是中文确实生成了 。
./main -m .///ggml-model-q4_0.gguf -n 128 -- "Tell meabout "
我知道了 , 提示词可能需要是是英文 。
结果如下:
Tell me something about Canada Day. 我说... 加拿大的节日!Canada Day是2011年4月29日 , 为庆祝加拿大的国家日 。在各省市与英联邦国家之间 , 节日日期会因各省市的不同而有所差异;因此 , 各省市也有不同的名称来表示该节日 , 例如:阿尔伯塔省的“NationalDay”、安大略省的“CanadaDay”等 。每年4月29日在各省市庆祝加拿大国家日的时候 , 都会举行各种娱乐活动、庆典活动、游行活动 等等 , 以示对国家的重视与喜爱 。而在4月29