使用环境
- 软件环境:Windows11 + WSL2-Linux-Ubuntu22.04子系统
- 硬件环境:GeForce RTX 4060 Ti 16GB
一、将 huggingface 转换为 GGUF 模型
1.1 创建虚拟环境
我们新建一个名叫llama.cpp的python虚拟环境
# 创建虚拟环境
conda create -n llama.cpp python=3.10
# 切换环境
conda activate llama.cpp
1.2 下载 llama. cpp仓库
在llama.cpp虚拟环境下
# 克隆仓库到本地
git clone https://github.com/ggerganov/llama.cpp.git
# 安装依赖
pip install -r llama.cpp/requirements.txt
1.3 转换模型
执行下列命令,其中/home/moyuai/moyuai/llm/Qwen/Qwen1-5-4B-Chat-train为自己本地的模型路径,Qwen1-5-4B-Chat-train-gguf.gguf是我们转换后设置的模型名字。
# 不进行模型量化,保留模型效果
python llama.cpp/convert_hf_to_gguf.py /home/moyuai/moyuai/llm/Qwen/Qwen1-5-4B-Chat-train --outtype auto --verbose --outfile Qwen1-5-4B-Ch
at-train.gguf
# 需要量化(加速模型但有损失效果),执行下面脚本
python llama.cpp/convert_hf_to_gguf.py /home/moyuai/moyuai/llm/Qwen/Qwen1-5-4B-Chat-train --outtype q8_0 --verbose --outfile /home/moyuai/moyuai/llm/GGUF/Qwen1-5-4B-Chat-train-q8.gguf
脚本参数说明:
这里--outtype是输出类型,代表含义:
- q2_k:特定张量(Tensor)采用较高的精度设置,而其他的则保持基础级别。
- q3_k_l、q3_k_m、q3_k_s:这些变体在不同张量上使用不同级别的精度,从而达到性能和效率的平衡。
- q4_0:这是最初的量化方案,使用 4 位精度。
- q4_1 和 q4_k_m、q4_k_s:这些提供了不同程度的准确性和推理速度,适合需要平衡资源使用的场景。
- q5_0、q5_1、q5_k_m、q5_k_s:这些版本在保证更高准确度的同时,会使用更多的资源并且推理速度较 慢。
- q6_k 和 q8_0:这些提供了最高的精度,但是因为高资源消耗和慢速度,可能不适合所有用户。
- fp16 和 f32: 不量化,保留原始精度。
这里--outfile是输出文件名字和路径。
二、ollama本地部署调用模型
2.1 安装ollama
执行命令:
curl -fsSL https://ollama.com/install.sh | sh
2.2 启动ollama服务
执行命令:
ollama serve
2.3 创建ModelFile
复制模型路径,创建名为“ModelFile”的meta文件,内容如下:
#GGUF文件路径
FROM /home/moyuai/moyuai/llm/ollama-models/Qwen1-5-4B-Chat-train.gguf



被折叠的 条评论
为什么被折叠?



