链载Ai

标题: AI大模型火热,将 Hugging Face大模型转换为 GGUF 为何受关注? [打印本页]

作者: 链载Ai    时间: 昨天 18:03
标题: AI大模型火热,将 Hugging Face大模型转换为 GGUF 为何受关注?

GGUF到底是什么?

GGUF是一种专为大语言模型设计的二进制文件存储格式,全称为 GPT - Generated Unified Format 。它是一种新型的文件格式,通常用于表示和存储神经网络模型及其相关数据。它是一种统一的、通用的图形格式,旨在简化不同深度学习框架和硬件平台之间的模型交换和转换。

GGUF 的主要目标是提供一个标准化的格式,使得神经网络的图结构、权重、参数以及其他相关信息可以在各种平台和工具之间顺利传递。它可以减少不同框架(如 TensorFlow、PyTorch 等)之间的互操作性问题,并帮助优化硬件资源的使用,特别是在多卡训练和分布式训练的场景下。

应用范围


GGUF 格式的大模型具有以下优点

将 Hugging Face(HF)模型转换为 GGUF(Guanaco General Universal Format)格式,通常需要借助llama.cpp工具。


一、 安装llama.cpp

1、下载llama.cpp源码到本地

首先,要把 llama.cpp 仓库克隆到本地,它包含了转换模型所需的工具。在终端里执行如下命令:

gitclonehttps://github.com/ggerganov/llama.cpp.git

2、安装llama.cpp的python包

condacreate-nllamacpppython==3.10-ycondaactivatellamacpppipinstall-rllama.cpp/requirements.txt

llama

二、转化

可以对hf模型直接转gguf,不量化;也可以量化转。

#如果不量化,保留模型的效果#python llama.cpp/convert_hf_to_gguf.py 模型的绝对路径 --outtype f16 --verbose --outfile 输出的文件路径pythonllama.cpp/convert_hf_to_gguf.py /root/autodl-tmp/llm/Qwen/Qwen2.5-3B-Instruct-merge --outtype f16 --verbose --outfile /root/autodl-tmp/llm/Qwen/Qwen2.5-3B-Instruct-merge-gguf.gguf
#如果需要量化(加速并有损效果),直接执行下面脚本就可以pythonllama.cpp/convert_hf_to_gguf.py /root/autodl-tmp/llm/Qwen/Qwen2.5-3B-Instruct-merge --outtype q8_0 --verbose --outfile /root/autodl-tmp/llm/Qwen/Qwen2.5-3B-Instruct-merge-gguf_q8_0.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:不量化,保留原始精度。

转换后的模型如下:

三、Ollama运行gguf

1、安装Ollama

Ollama官网:

https://ollama.com/download/linux

https://github.com/ollama/ollama/blob/main/docs/linux.md

我们选择ubuntu环境部署。

#autodl算力云学术加速#source/etc/network_turbo
# 安装ollamacurl -fsSL https://ollama.com/install.sh | sh

这个过程耗时较长,请耐心等待。也可以手动下载:

curl-Lhttps://ollama.com/download/ollama-linux-amd64.tgz-oollama-linux-amd64.tgzsudotar-C/usr-xzfollama-linux-amd64.tgz

下载可以使用本地下载好后上传到服务器。


2、启动Ollama服务

ollamaserve

注意这个命令窗口要一直开着。不然服务就断了。也可以使用后台执行方式。


3、创建ModelFile

复制模型路径,创建名为 “ModelFile” 的 meta 文件,内容如下

#GGUF文件路径FROM/root/autodl-tmp/llm/Qwen/Qwen2.5-3B-Instruct-merge-gguf.gguf

4、创建自定义模型

使用 ollama create命令创建自定义模型。模型名称可自定义,比如下面的“qwen2.5-3B-Instruct” 。名字要保证唯一。

ollamacreateqwen2.5-3B-Instruct--fileModeFile

看到success就说明成功了。可以用命令 ollama list 查看。

5、 运行模型

#可以加上:latest,也可以不加#ollamarunqwen2.5-3B-Instruct:latestollamarunqwen2.5-3B-Instruct






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5