掌握 llama.cpp 量化部署与 ollama 导入模型,轻松搞定模型部署难题!_llamacpp部署
文章目录
-
-
-
-
- 一、llama.cpp安装
-
- 1. 克隆llama.cpp
- 2. 更新源
- 3. 安装依赖
- 4. 安装依赖
- 5. 编译llama.cpp
- 二、将导出合并的模型safetensors 格式转成 gguf
-
- 2.1. 背景介绍
- 2.2. safetensors 格式转成 gguf(背景一)
- 2.2. safetensors 格式转成 gguf(背景二)
- 2.3.异常汇总
- 三、gguf模型量化和服务体验
-
- 3.1. gguf模型量化
- 3.2. 服务体验
- 四、ollama导入gguf模型
-
- 1.1 linux安装ollama
- 1.2. 制作Modelfile
- 1.3. ollama导入gguf模型
- 1.4. 查看镜像
- 1.5. 运行模型镜像和体验服务
-
-
-
一、llama.cpp安装
1. 克隆llama.cpp
git clone https://github.com/ggerganov/llama.cppcd llama.cpp
如果下载慢,开启学术加速
source /etc/network_turbo
2. 更新源
apt-get updateapt-get upgrade
3. 安装依赖
sudo apt-get install make cmake gcc g++ locate
4. 安装依赖
sudo apt-get install make cmake gcc g++ locate
5. 编译llama.cpp
cmake -B buildcmake --build build --config Release -j 8
二、将导出合并的模型safetensors 格式转成 gguf
2.1. 背景介绍
-
背景一:基于解锁 DeepSeek R1 微调训练新姿势,LLaMA - Factory、LoRA 与 FastAPI 带你弯道超车!微调到处后的模型或者自己重新下载一个新增模型测试都可以。
-
背景二:重新拉取新模型做测试的话,执行下面命令
cd autodl-tmp/mkdir Hugging-Faceexport HF_ENDPOINT=https://hf-mirror.comexport HF_HOME=/root/autodl-tmp/Hugging-Facepip install -U huggingface_hubhuggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
2.2. safetensors 格式转成 gguf(背景一)
mkdir -p root/autodl-tmp/Models/deepseek-r1-1.5b-GGUFcd /root/autodl-tmp/llama.cpp/python convert_hf_to_gguf.py /root/autodl-tmp/Models/deepseek-r1-1.5b-merged --outfile /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf --outtype q8_0
2.2. safetensors 格式转成 gguf(背景二)
mkdir -p root/autodl-tmp/Models/deepseek-r1-1.5b-GGUFcd /root/autodl-tmp/llama.cpp/python convert_hf_to_gguf.py /root/autodl-tmp/Hugging-Face/hub/models--deepseek-ai--DeepSeek-R1-Distill-Qwen-1.5B/snapshots/ad9f0ae0864d7fbcd1cd905e3c6c5b069cc8b562 --outfile /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf --outtype q8_0
最后输出
INFO:hf-to-gguf:Set model quantization versionINFO:gguf.gguf_writer:Writing the following files:INFO:gguf.gguf_writer:/root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf: n_tensors = 339, total_size = 1.9GWriting: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1.89G/1.89G [00:21<00:00, 88.4Mbyte/s]INFO:hf-to-gguf:Model successfully exported to /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf
2.3.异常汇总
- 问题一:
ModuleNotFoundError: No module named \'sentencepiece\'
解决方案:
pip install sentencepiece
- 问题二:
ModuleNotFoundError: No module named \'safetensors\'\'
解决方案:
pip install safetensors
- 问题三:
ModuleNotFoundError: No module named \'transformers\'\'
解决方案:
pip install transformers
三、gguf模型量化和服务体验
将 gguf 格式模型进行(再)量化
3.1. gguf模型量化
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-quantize --allow-requantize /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q4_0-v1.gguf Q4_1
输出
llama_model_quantize_impl: model size = 1801.09 MBllama_model_quantize_impl: quant size = 1103.16 MBmain: quantize time = 6053.28 msmain: total time = 6053.28 ms
3.2. 服务体验
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-cli -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf \\ -n -1 \\ -ngl 256 \\ -t 12 \\ --color \\ -r \"User:\" \\ --in-prefix \" \" \\ -i \\ -p \\\'User: 你好AI: 你好啊,我是光屿,要聊聊吗?User: 好啊!AI: 你想聊聊什么话题呢?User:\'
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-cli -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q4_0-v1.gguf \\ -n -1 \\ -ngl 256 \\ -t 12 \\ --color \\ -r \"User:\" \\ --in-prefix \" \" \\ -i \\ -p \\\'User: 你好AI: 你好啊,我是光屿,要聊聊吗?User: 好啊!AI: 你想聊聊什么话题呢?User:\'
cd /root/autodl-tmp/llama.cpp/build/bin/./llama-server \\ -m /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/deepseek-r1-1.5b-q8_0-v1.gguf \\ --host \"127.0.0.1\" \\ --port 8080 \\ -c 2048 \\ -ngl 128
http://localhost:8080/
四、ollama导入gguf模型
1.1 linux安装ollama
cd /root/autodl-tmpcurl -fsSL https://ollama.com/install.sh| sh
- 启动ollama
ollama serve
1.2. 制作Modelfile
新建Modelfile文件(不要后缀),输入一下内容和模型在同一个目录下面
FROM ./deepseek-r1-1.5b-q8_0-v1.gguf
1.3. ollama导入gguf模型
cd /root/autodl-tmp/Models/deepseek-r1-1.5b-GGUF/ollama create gblfy-deepseek-r1-1.5b-q8 -f Modelfile
1.4. 查看镜像
ollama list
1.5. 运行模型镜像和体验服务
ollama run gblfy-deepseek-r1-1.5b-q8