将transformer权重参数文件转化为gguf文件以适用于Ollama客户端

将transformer权重参数文件转化为gguf文件以适用于Ollama客户端 1.前置条件Python 3.10 环境足够内存8B 模型至少要十几 GB 内存转 Q4_K_M 时会更多安装依赖pip install torch transformers accelerate pip install -U huggingface_hub[cli]2.下载 Transformers 权重在你准备放模型的目录打开终端比如 D:\models\granite-4.1-8b# 下载整个仓库到当前目录huggingface-cli download ibm-granite/granite-4.1-8b --local-dir这会下载 config.json、tokenizer.json、model-000xx-of-000xx.safetensors 等文件geeksforgeeks.org。3.安装 llama.cpp 并准备转换脚本克隆 llama.cppgit clone https://github.com/ggml-org/llama.cpp cd llama.cpp安依赖pip install -r requirements.txt这一步是为了让 convert-hf-to-gguf.py 能跑。确认脚本存在python convert-hf-to-gguf.py --help能看到帮助说明就说明没问题。4.用 convert-hf-to-gguf.py 转 GGUF先转 F16/BF16假设你已经回到模型目录D:\models\granite-4.1-8b文件夹llama.cpp 在 D:\models\llama.cpp先转一个 高精度 GGUFf16/bf16之后再量化python D:\models\llama.cpp\convert-hf-to-gguf.py D:\models\granite-4.1-8b --outfile granite-4.1-8b-f16.gguf --outtype f16说明第 1 个参数本地 HF 模型目录里面有 config.json safetensorsgeeksforgeeks.org。--outfile输出的 GGUF 文件名。--outtypef16 / bf16 / q8_0 等f16 先保真后面再量化。5.用 llama.cpp 量化可选但推荐GGUF 文件可以进一步量化成 Q4_K_M、Q5_K_M 等减小体积并加速推理。在 llama.cpp 目录下# 量化为 Q4_K_Mpython D:\models\llama.cpp\quantize.exe D:\models\granite-4.1-8b\granite-4.1-8b-f16.gguf D:\models\granite-4.1-8b\granite-4.1-8b-Q4_K_M.gguf Q4_K_M注意quantize.exe 是编译出来的二进制需要你用 CMake 先编译 llama.cpp。6.把 GGUF 导入 Ollama在 GGUF 所在目录写 Modelfile.txt例如 D:\models\granite-4.1-8b\ModelfileFROM ./granite-4.1-8b-Q4_K_M.gguf SYSTEM You are a helpful assistant that can call tools to control CATIA V5. 然后ollama create granite4.1-local -f Modelfile ollama run granite4.1-local7.关键点与坑提醒不是所有 Transformers 模型都能转 GGUFconvert-hf-to-gguf.py 只支持“decoder-only 自回归”架构比如 LLaMA、Mistral、Gemma、Phi 等。Granite-4.1-8B 属于这类所以是支持的IBM 官方 GGUF 仓库也用它做转换。必须用 llama.cpp 官方脚本不要随便用其他脚本否则 GGUF 结构不对Ollama / llama.cpp 跑不起来。8.量化顺序推荐先转 f16/bf16 GGUF → 再用 llama.cpp 量化这样精度更可控。9.内存和时间8B 模型转 GGUF 量化内存可能要 32GB 以上全流程可能几十分钟到一小时取决于 CPU/磁盘速度。