一、定义
- 定义
- 配置环境
- 遇到的问题,交互模式下模型一直输出,不会停止
- 模型量化
- Qwen1.5-7B 案例demo
二、实现
- 定义
主要应用与cpu 上的部署框架。由c++完成。 - 配置环境
https://github.com/ggerganov/llama.cpp
https://github.com/echonoshy/cgft-llm/blob/master/llama-cpp/README.md
安装:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
编译环境
sudo apt update
sudo apt install cmake
cpu:
cmake -B build_cpu
cmake --build build_cpu --config Release
部署:
cd /root/code/llama.cpp/build_cpu/bin/
#交互模式
./llama-cli -m /home/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf \
-n -1 \
-t 12 \ #多线程
--color \ #输入有颜色
-r "User:" \ #-r: 遇到User: 停止,等待输入
--in-prefix " " \ #输入前缀
-i \ #交互模式
-p \ #输入prompt
'User: 你好
AI: 你好啊,我是光屿,要聊聊吗?
User: 好啊!
AI: 你想聊聊什么话题呢?
User:'
#接口模式
./llama-server \
-m /home/Llama3-8B-Chinese-Chat-GGUF/Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf \
--host "0.0.0.0" \
--port 8080 \
-c 2048 \
-ngl 128 \
--api-key "echo in the moon"
3. 遇到的问题,交互模式下模型一直输出,不会停止,参数-r 不起作用
原因: 容器内不支持中文,添加上中文输入法,问题解决。
安装语言包
apt update
apt install -y language-pack-zh-hans
设置环境变量
export LANG=zh_CN.UTF-8
启动终端
exec bash
- Qwen1.5-7B 案例demo
1. 将qwen1.5 转为gguf
python convert-hf-to-gguf.py /home/Qwen1.5_7b --outfile /home/Qwen1.5_7b-GGUF/Qwen1.5_7b_v1.gguf
量化
cd llama.cpp/build_cuda/bin
./llama-quantize --allow-requantize /home/Qwen1.5_7b-GGUF/Qwen1.5_7b_v1.gguf /home/Qwen1.5_7b-GGUF/Qwen1.5_7b-q4_1-v1.gguf Q4_1
3. 测试
./llama-cli -m /home/Qwen1.5_7b-GGUF/Qwen1.5_7b-q4_1-v1.gguf \
-n -1 \
-ngl 256 \
-t 12 \
--color \
-r "user:" \
--in-prefix " " \
-i \
-p \
"user:: 你好
AI: 你好啊,我是光屿,要聊聊吗?
user: 好啊!
AI: 你想聊聊什么话题呢?
user:"