【AI大模型应用学习笔记】基于llama.cpp的模型转换为GGUF格式+本地ollama部署和open-webui部署

使用环境

  • 软件环境: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

2.4 创建自定义模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值