Mj·Blog知识改变命运

本地大模型量化完整教程:从 HuggingFace 下载到 GGUF 转换,一步跑通 llama.cpp

下面给你一份 Windows 本地把 HuggingFace 模型下载 → 合并转换为 GGUF → 量化 Q4_K_M → 测试运行 的完整教程。你这台 RTX 4080 Super 16GB 跑 8B 模型很合适,建议最终量化成 Q4_K_M / Q5_K_M

注意:llama.cpp 当前要求模型使用 GGUF 格式,HF 模型一般需要用 convert_hf_to_gguf.py 转换。官方仓库也说明,非 GGUF 格式模型可用仓库里的 convert_*.py 脚本转换。(GitHub)
HuggingFace 官方也推荐通过 CLI 下载仓库文件到本地目录。(Hugging Face)


一、准备环境

1. 安装 Git

先安装 Git:

Bash
git --version

能显示版本号就行,例如:

Bash
git version 2.xx.x

没有安装就去安装 Git for Windows。


2. 安装 Python

建议安装:

TEXT
Python 3.10 / 3.11

检查:

Bash
python --version
pip --version

如果 python 不识别,试试:

Bash
py --version

3. 安装 HuggingFace CLI

Bash
pip install -U huggingface_hub

检查:

Bash
huggingface-cli --help

如果提示找不到命令,可以用:

Bash
python -m huggingface_hub.commands.huggingface_cli --help

二、下载 HF 模型

你要下载的模型是:

TEXT
aifeifei798/llama3-8B-DarkIdol-2.3-Uncensored-32K

建议新建一个工作目录,比如:

Bash
mkdir D:\AIModels
cd /d D:\AIModels

然后下载:

Bash
huggingface-cli download aifeifei798/llama3-8B-DarkIdol-2.3-Uncensored-32K --local-dir DarkIdol-HF

如果你原来的命令能用,也可以继续用:

Bash
huggingface-cli download aifeifei798/llama3-8B-DarkIdol-2.3-Uncensored-32K --local-dir DarkIdol-HF --local-dir-use-symlinks False

不过新版 huggingface_hub 里,--local-dir-use-symlinks 相关行为可能已经不推荐依赖,所以优先用第一条更简洁。

下载完成后,目录大概应该有这些文件:

TEXT
DarkIdol-HF/
├─ config.json
├─ generation_config.json
├─ tokenizer.json
├─ tokenizer_config.json
├─ special_tokens_map.json
├─ model-00001-of-000xx.safetensors
├─ model-00002-of-000xx.safetensors
└─ ...

如果模型需要登录授权,先执行:

Bash
huggingface-cli login

然后粘贴你的 HuggingFace Token。


三、下载 llama.cpp

进入你的模型工作目录:

Bash
cd /d D:\AIModels

克隆 llama.cpp:

Bash
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

安装转换依赖:

Bash
pip install -r requirements.txt

官方 llama.cpp 仓库中提供了 convert_hf_to_gguf.py 这类转换脚本,用来把 HuggingFace 模型转换成 GGUF。(GitHub)


四、编译 llama.cpp 工具

新版 llama.cpp 推荐用 CMake 编译。

方案 A:Windows 普通 CPU 编译

llama.cpp 目录下执行:

Bash
cmake -B build
cmake --build build --config Release

编译完成后,工具一般在:

TEXT
llama.cpp\build\bin\Release\

你需要重点找这几个文件:

TEXT
llama-cli.exe
llama-quantize.exe
llama-server.exe

方案 B:NVIDIA 显卡 CUDA 编译

你的 RTX 4080 Super 建议用 CUDA 版,速度更好。

先确保你装了:

TEXT
NVIDIA 驱动
CUDA Toolkit
Visual Studio Build Tools
CMake

然后执行:

Bash
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release

如果成功,后面运行模型时就可以用 GPU 加速。


五、转换 HF 模型为 F16 GGUF

现在你的目录结构应该类似:

TEXT
D:\AIModels\
├─ DarkIdol-HF\
└─ llama.cpp\

进入 llama.cpp:

Bash
cd /d D:\AIModels\llama.cpp

执行转换:

Bash
python convert_hf_to_gguf.py ../DarkIdol-HF --outtype f16 --outfile ../DarkIdol-F16.gguf

完成后会生成:

TEXT
D:\AIModels\DarkIdol-F16.gguf

这个文件会比较大,8B 模型的 F16 GGUF 通常在 15GB 左右。如果你的硬盘空间不够,至少准备:

TEXT
模型 HF 原始文件:约 15GB+
F16 GGUF:约 15GB+
Q4_K_M GGUF:约 4GB~6GB
临时空间:建议再留 10GB+

所以总空间建议至少:

TEXT
50GB 以上

六、量化成 Q4_K_M

进入编译后的目录:

Bash
cd /d D:\AIModels\llama.cpp\build\bin\Release

执行量化:

Bash
llama-quantize.exe ../../../DarkIdol-F16.gguf ../../../DarkIdol-Q4_K_M.gguf Q4_K_M

如果你不确定相对路径是否正确,也可以直接用绝对路径:

Bash
llama-quantize.exe D:\AIModels\DarkIdol-F16.gguf D:\AIModels\DarkIdol-Q4_K_M.gguf Q4_K_M

量化完成后会得到:

TEXT
D:\AIModels\DarkIdol-Q4_K_M.gguf

七、不同量化格式怎么选

常用推荐如下:

格式 体积 质量 速度 推荐场景
F16 最大 最高 慢/占显存 保存母版,不建议日常跑
Q8_0 较大 很高 中等 质量优先
Q6_K 中大 很高 中等 16GB 显存可考虑
Q5_K_M 中等 质量和体积平衡
Q4_K_M 较好 最推荐日常使用
Q3_K_M 更小 一般 显存/内存很紧张
Q2_K 最小 损失明显 不太推荐

你的 RTX 4080 Super 16GB,8B 模型建议:

TEXT
首选:Q4_K_M
更高质量:Q5_K_M
极限质量:Q6_K / Q8_0

如果你只是自己本地聊天、接入 Ollama、LM Studio、Jan、llama.cpp,建议先做:

TEXT
DarkIdol-Q4_K_M.gguf

然后再补一个:

TEXT
DarkIdol-Q5_K_M.gguf

八、测试 GGUF 模型是否可用

进入:

Bash
cd /d D:\AIModels\llama.cpp\build\bin\Release

CPU 测试:

Bash
llama-cli.exe -m D:\AIModels\DarkIdol-Q4_K_M.gguf -p "你好,请介绍一下你自己。" -n 256

CUDA 显卡加速测试:

Bash
llama-cli.exe -m D:\AIModels\DarkIdol-Q4_K_M.gguf -p "你好,请介绍一下你自己。" -n 256 -ngl 999

参数解释:

TEXT
-m     模型路径
-p     提示词
-n     最大生成 token 数
-ngl   放到 GPU 的层数,999 通常表示尽量全放 GPU

九、启动本地 API 服务

如果你想让软件、网页、客户端调用,可以启动 llama-server:

Bash
llama-server.exe -m D:\AIModels\DarkIdol-Q4_K_M.gguf -c 8192 -ngl 999 --host 127.0.0.1 --port 8080

然后一般可以访问:

TEXT
http://127.0.0.1:8080

参数解释:

TEXT
-c 8192        上下文长度
-ngl 999      尽量使用 GPU
--host         监听地址
--port         端口

如果你想开放给局域网其他电脑调用,可以用:

Bash
llama-server.exe -m D:\AIModels\DarkIdol-Q4_K_M.gguf -c 8192 -ngl 999 --host 0.0.0.0 --port 8080

十、导入 Ollama 使用

如果你想用 Ollama 跑这个 GGUF,需要创建一个 Modelfile

新建文件:

TEXT
D:\AIModels\DarkIdol-Modelfile

内容写:

TEXT
FROM D:\AIModels\DarkIdol-Q4_K_M.gguf

PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 8192

TEMPLATE """{{ .Prompt }}"""

然后执行:

Bash
ollama create darkidol -f D:\AIModels\DarkIdol-Modelfile

运行:

Bash
ollama run darkidol

如果要给你的软件调用,Ollama 默认 API 通常是:

TEXT
http://127.0.0.1:11434

十一、推荐完整命令合集

你可以直接按这个流程走:

Bash
mkdir D:\AIModels
cd /d D:\AIModels

pip install -U huggingface_hub

huggingface-cli download aifeifei798/llama3-8B-DarkIdol-2.3-Uncensored-32K --local-dir DarkIdol-HF

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

pip install -r requirements.txt

cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release

python convert_hf_to_gguf.py ../DarkIdol-HF --outtype f16 --outfile ../DarkIdol-F16.gguf

cd build\bin\Release

llama-quantize.exe D:\AIModels\DarkIdol-F16.gguf D:\AIModels\DarkIdol-Q4_K_M.gguf Q4_K_M

llama-cli.exe -m D:\AIModels\DarkIdol-Q4_K_M.gguf -p "你好,请介绍一下你自己。" -n 256 -ngl 999

十二、常见报错处理

1. huggingface-cli 下载太慢

可以尝试:

Bash
set HF_HUB_ENABLE_HF_TRANSFER=1
pip install hf_transfer

然后重新下载。

或者使用代理:

Bash
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890

端口根据你的代理软件实际端口修改。


2. convert_hf_to_gguf.py 找不到

说明你可能在错误目录,先检查:

Bash
dir convert_hf_to_gguf.py

正确位置应该在:

TEXT
D:\AIModels\llama.cpp\convert_hf_to_gguf.py

3. llama-quantize.exe 找不到

编译后找一下:

Bash
dir /s llama-quantize.exe

通常在:

TEXT
llama.cpp\build\bin\Release\llama-quantize.exe

有些版本可能在:

TEXT
llama.cpp\build\bin\llama-quantize.exe

4. CUDA 编译失败

先用 CPU 编译:

Bash
cmake -B build
cmake --build build --config Release

能成功后再折腾 CUDA。

也可以清理重新编译:

Bash
rmdir /s /q build
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release

5. 显存不够

降低上下文长度:

Bash
-c 4096

或者换更小量化:

Bash
Q4_K_M
Q3_K_M

8B 的 Q4_K_M 在 16GB 显存上一般没什么压力。


十三、最终建议

你这个模型是 Llama3 8B 32K 上下文模型,我建议你最终保留三个文件:

TEXT
DarkIdol-HF              原始 HF 模型,可备份
DarkIdol-F16.gguf        母版 GGUF,用于以后重新量化
DarkIdol-Q4_K_M.gguf     日常使用版本

如果硬盘空间紧张,可以保留:

TEXT
DarkIdol-Q4_K_M.gguf
DarkIdol-F16.gguf

原始 DarkIdol-HF 可以删除,后面需要再从 HuggingFace 下载。

小米酒

Editor

系统管理员

已发布 6 篇文章 查看更多文章

评论专区

0 条评论
图片

暂无评论,快来抢沙发吧