赞
踩
量化模型是将模型中的高精度浮点数转化成低精度的int或其他类型得到的新的,花销更小,运行更快的模型。
Inference of LLaMA model in pure C/C++。
llama.cpp 运行期占用内存更小,推断速度也更快,同样的模型,7B 基础模型举例,32位浮点数的模型占用空间 27G,llama.cpp 量化后占用内存 9G 左右,推断速度为15字/秒。
对于使用 LLaMA 模型来说,无论从花销还是使用体验,量化这个步骤是不可或缺的。
环境配置过程详情参考我的这篇文章;
【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B
llama-33B 模型下载、合并方法也是参考这篇文章:
【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B
得到的模型保存路径:“./Chinese-LLaMA-33B”
git clone https://github.com/ggerganov/llama.cpp
使用GPU执行【推荐】:
cd llama.cpp
make LLAMA_CUBLAS=1
使用CPU执行【安装简单】:
cd llama.cpp
make
将合并模型(选择生成pth格式模型)中最后一步生成的tokenizer.model文件放入zh-models目录下,模型文件consolidated.*.pth和配置文件params.json放入zh-models/33B目录下。
执行:
mkdir zh-models/
cp /notebooks/Chinese-LLaMA-Alpaca/Chinese-LLaMA-33B-pth/tokenizer.model zh-models/
mkdir zh-models/33B
cp /notebooks/Chinese-LLaMA-Alpaca/Chinese-LLaMA-33B-pth/consolidated.0* zh-models/33B/
cp /notebooks/Chinese-LLaMA-Alpaca/Chinese-LLaMA-33B-pth/params.json zh-models/33B/
其中:路径 /notebooks/Chinese-LLaMA-Alpaca/Chinese-LLaMA-33B-pth/ 是 pth 格式模型路径。
结果如下:
llama.cpp/zh-models/
- 33B/
- consolidated.00.pth
- consolidated.01.pth
- consolidated.02.pth
- consolidated.03.pth
- ggml-model-f16.bin
- params.json
- tokenizer.model
执行:
python convert.py zh-models/33B/
生成文件路径为: zh-models/33B/ggml-model-f16.bin
执行:
./quantize ./zh-models/33B/ggml-model-f16.bin ./zh-models/33B/ggml-model-q4_0.bin q4_0
生成量化模型文件路径为zh-models/33B/ggml-model-q4_0.bin
./main -m zh-models/33B/ggml-model-q4_0.bin --color -f prompts/alpaca.txt -ins -c 2048 --temp 0.2 -n 256 --repeat_penalty 1.1
一些常用的参数:
-c 控制上下文的长度,值越大越能参考更长的对话历史(默认:512)
-ins 启动类ChatGPT对话交流的instruction运行模式
-f 指定prompt模板,alpaca模型请加载prompts/alpaca.txt
-n 控制回复生成的最大长度(默认:128)
-b 控制batch size(默认:8),可适当增加
-t 控制线程数量(默认:4),可适当增加
--repeat_penalty 控制生成回复中对重复文本的惩罚力度
--temp 温度系数,值越低回复的随机性越小,反之越大
--top_p, top_k 控制解码采样的相关参数
相关结论:
【AI实战】从零开始搭建中文 LLaMA-33B 语言模型 Chinese-LLaMA-Alpaca-33B
https://github.com/ymcui/Chinese-LLaMA-Alpaca
https://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/llama.cpp%E9%87%8F%E5%8C%96%E9%83%A8%E7%BD%B2
https://github.com/ggerganov/llama.cpp
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。