llama.cpp 使用指南
基于 Windows 11 + AMD 8060S(统一内存 128GB)环境整理。
文件下载
llama.cpp 程序(含 llama-cli、llama-server)
- 官方 Releases 页面(推荐从这里选对应平台压缩包):
https://github.com/ggml-org/llama.cpp/releases Windows 常用构建(在当页的 Assets 里找):
- Vulkan(AMD 显卡推荐):
llama-*-bin-win-vulkan-x64.zip - 仅 CPU:
llama-*-bin-win-cpu-x64.zip - CUDA(NVIDIA):
llama-*-bin-win-cuda-*.zip
不要用rocm/hip的 Windows 包,在 Win 上易报错。
- Vulkan(AMD 显卡推荐):
- 官网说明:
https://llama-cpp.com/
GGUF 模型
- Hugging Face(搜索模型名 + GGUF):
https://huggingface.co/models?search=gguf - Qwen 官方(如 Qwen3-Coder-Next):
https://huggingface.co/Qwen
在模型页的 "Files and versions" 中选.gguf文件或分片包下载。 ModelScope 魔搭(国内访问较稳,可搜 GGUF):
https://www.modelscope.cn
模型库中搜索模型名或「GGUF」,在模型页下载.gguf或分片。- Youtu-VL-4B-Instruct-GGUF(腾讯优图 4B 视觉语言模型):
https://www.modelscope.cn/models/Tencent-YouTu-Research/Youtu-VL-4B-Instruct-GGUF/summary
在模型页「Files」中下载主模型.gguf;若提供mmproj-*.gguf等多模态投影文件,需一并下载并与主模型同目录或按说明指定。
- Youtu-VL-4B-Instruct-GGUF(腾讯优图 4B 视觉语言模型):
- Unsloth(预量化 GGUF,含 Dynamic 2.0 等):
https://huggingface.co/unsloth
在 Unsloth 组织下按模型名选仓库,在 "Files and versions" 中下载 GGUF;说明见 https://docs.unsloth.ai。
解压 llama.cpp 的 zip 后,将 llama-cli.exe、llama-server.exe 等与模型路径配置好即可使用(见下文)。
1. 基本运行
1.1 命令行(llama-cli)
# 指定模型路径(分片模型只需指定第一个文件,会自动加载其余分片)
./llama-cli.exe -m "E:\models\Qwen3-Coder-Next\Qwen3-Coder-Next\Qwen3-Coder-Next-REAM-MXFP4_MOE.gguf"1.2 强制 CPU(GPU 报错时)
./llama-cli.exe -m "你的模型路径.gguf" -ngl 0-ngl 0 表示不加载任何层到 GPU,全部用 CPU。
2. Windows 下 GPU 后端说明
| 后端 | 说明 |
|---|---|
| ROCm/HIP | 主要为 Linux 设计,在 Windows 上对新卡(如 gfx1151)支持差,易出现 ROCm error: unspecified launch failure。 |
| Vulkan | AMD 在 Windows 上推荐,需使用带 Vulkan 的 llama.cpp 发行版。 |
| CPU | -ngl 0,最稳定。 |
若下载的是「Vulkan 版」但日志里仍出现 ROCm/ggml-hip,说明同目录下存在 HIP 相关 DLL 被优先加载。可临时重命名禁用:
Rename-Item ggml-hip.dll ggml-hip.dll.bak
Rename-Item hipblas.dll hipblas.dll.bak
Rename-Item libhipblaslt.dll libhipblaslt.dll.bak然后重新运行,程序会使用 Vulkan。
注意:若本身是 ROCm 专用构建(如路径含 llamacpp-rocm),需从官方 releases 重新下载 Vulkan 或 MSVC 版本,而不是仅改 DLL。
3. llama-server 部署
3.1 基础启动
./llama-server.exe -m "模型路径.gguf" --port 8080 --host 0.0.0.0启动后访问:http://localhost:8080。
3.2 常用参数速查
| 参数 | 含义 | 示例 |
|---|---|---|
-m | 模型路径 | 必填 |
-c / --ctx-size | 上下文长度(token 数) | -c 2048 或 --ctx-size 32768 |
-ngl | 放到 GPU 的层数,0=全 CPU | -ngl 99 全 GPU,-ngl 0 全 CPU |
--port | HTTP 端口 | --port 8080 |
--host | 监听地址,0.0.0.0 允许外网访问 | --host 0.0.0.0 |
--threads | CPU 线程数 | --threads 8 |
--batch-size | 批大小,影响显存/内存 | 512、256、128 |
--ubatch-size | 微批大小 | 256、128、64 |
--cache-type-k | K cache 数据类型,用于省显存 | f16、q8_0、q4_1 |
--cache-type-v | V cache 数据类型 | 同上 |
--flash-attn | 使用 Flash Attention(若已编译) | 可省显存 |
--alias | 模型别名(便于识别) | --alias "Qwen3-Coder-Next" |
4. 显存/内存优化
模型体积远小于「显存占用」是正常现象:除了权重,还有 KV cache 和推理时的中间结果。
4.1 显存不足(例如 8GB 独显)
- 减小上下文:
-c 512或-c 1024 - 减少 GPU 层数:
-ngl 10或-ngl 0(纯 CPU) - 减小批处理:
--batch-size 128 --ubatch-size 64
示例(低显存):
./llama-server.exe -m "模型路径.gguf" -c 512 -ngl 10 --port 8080 --threads 6 --batch-size 128 --ubatch-size 644.2 统一内存(如 8060S + 128GB 系统内存)
可用较大上下文并尽量用 GPU,同时控制 KV cache 类型以控制总内存占用:
- 使用 f16 KV cache(相对 f32 约减半):
--cache-type-k f16 --cache-type-v f16 - 更激进:
--cache-type-k q8_0 --cache-type-v q8_0或q4_1 - 按需限制上下文:
-c 4096或-c 2048
示例(统一内存 + 控制占用):
./llama-server.exe -m "模型路径.gguf" -c 4096 -ngl 99 --port 8080 --threads 8 --batch-size 512 --ubatch-size 256 --cache-type-k f16 --cache-type-v f16若仍占用过高,可把上下文改为 -c 2048,并把 cache 改为 q4_1:
./llama-server.exe -m "模型路径.gguf" -c 2048 -ngl 99 --port 8080 --threads 8 --batch-size 512 --cache-type-k q4_1 --cache-type-v q4_15. Qwen3-Coder-Next 推荐参数(官方风格)
可与上面任意 server 命令组合使用:
| 参数 | 推荐值 | 说明 |
|---|---|---|
--temp | 1.0 | 采样温度 |
--top-p | 0.95 | nucleus sampling |
--top-k | 40 | top-k 采样 |
--min-p | 0.01 | 注意:llama.cpp 默认常为 0.05,Qwen 推荐 0.01 |
--repeat-penalty | 1.0 | 禁用重复惩罚 |
示例(Qwen 推荐 + 内存优化):
./llama-server.exe -m "E:\models\Qwen3-Coder-Next\Qwen3-Coder-Next\Qwen3-Coder-Next-REAM-MXFP4_MOE.gguf" --alias "Qwen3-Coder-Next" --ctx-size 32768 --temp 1.0 --top-p 0.95 --top-k 40 --min-p 0.01 --repeat-penalty 1.0 -ngl 99 --port 8080 --threads 8 --batch-size 512 --cache-type-k q4_1若仍觉内存/显存占用高,可把 --ctx-size 改为 16384 或 8192。
6. 故障排查简表
| 现象 | 处理方向 |
|---|---|
| ROCm 报错、hipMemGetInfo 失败 | 使用 -ngl 0 或换 Vulkan 版本;在 Windows 避免用 ROCm 专用构建。 |
| 想用 Vulkan 却仍加载 HIP | 检查同目录 ggml-hip.dll 等,临时重命名或使用纯 Vulkan 发行版。 |
| 显存/内存占用远大于模型大小 | 降低 -c、减小 --batch-size/--ubatch-size,使用 --cache-type-k/--cache-type-v(如 q4_1、q8_0、f16)。 |
| 大模型在小显存卡上跑不动 | 减小 -ngl(或 -ngl 0),或换更小量化/更小参数量模型。 |
7. 参考命令汇总
纯 CPU、省内存:
./llama-server.exe -m "模型路径.gguf" -c 1024 -ngl 0 --port 8080 --threads 8 --batch-size 256Vulkan GPU + 控制占用(统一内存):
./llama-server.exe -m "模型路径.gguf" -c 4096 -ngl 99 --port 8080 --threads 8 --batch-size 512 --cache-type-k q4_1 --cache-type-v q4_1Qwen3-Coder-Next 推荐 + 32K 上下文:
./llama-server.exe -m "E:\models\Qwen3-Coder-Next\Qwen3-Coder-Next\Qwen3-Coder-Next-REAM-MXFP4_MOE.gguf" --alias "Qwen3-Coder-Next" --ctx-size 32768 --temp 1.0 --top-p 0.95 --top-k 40 --min-p 0.01 --repeat-penalty 1.0 -ngl 99 --port 8080 --threads 8 --batch-size 512 --cache-type-k q4_1 --host 0.0.0.0按实际显存/内存和需求,调整 -c、-ngl、--batch-size 和 --cache-type-* 即可。
8. Qwen3-Next-80B-A3B-Thinking(Thinking 推理模型)
模型说明见 unsloth/Qwen3-Next-80B-A3B-Thinking。仅思维模式,需较长输出空间做推理;官方推荐采样:Temperature=0.6, TopP=0.95, TopK=20, MinP=0;常规请求建议 max 输出 32K token,复杂推理可设更大。
推荐启动命令(统一内存 / 大内存):
./llama-server.exe -m "E:\models\Qwen3-Next-80B-A3B\MXFP4_MOE\Qwen3-Next-80B-A3B-Thinking-MXFP4_MOE-00001-of-00003.gguf" --alias "Qwen3-Next-80B-A3B-Thinking" --ctx-size 32768 -n 32768 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0 -ngl 99 --port 8080 --threads 8 --batch-size 512 --ubatch-size 256 --cache-type-k f16 --cache-type-v f16 --host 0.0.0.0| 参数 | 取值 | 说明 |
|---|---|---|
-m | 分片第一文件路径 | 自动加载 00002、00003 |
--alias | 服务里显示的模型名 | 客户端选模型时用 |
--ctx-size | 32768 | 上下文长度,可改为 65536/131072(更吃内存) |
-n | 32768 | 单次最大生成 token,thinking 需足够长 |
--temp | 0.6 | 官方推荐 |
--top-p | 0.95 | 官方推荐 |
--top-k | 20 | 官方推荐 |
--min-p | 0 | 官方推荐 |
-ngl | 99 | GPU 层数,显存不够可减小或 -ngl 0 纯 CPU |
--cache-type-k/v | f16 | 省内存,可改为 q4_1 进一步省 |
省内存版(减小上下文与批大小):
./llama-server.exe -m "E:\models\Qwen3-Next-80B-A3B\MXFP4_MOE\Qwen3-Next-80B-A3B-Thinking-MXFP4_MOE-00001-of-00003.gguf" --alias "Qwen3-Next-80B-A3B-Thinking" --ctx-size 16384 -n 16384 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0 -ngl 99 --port 8080 --threads 8 --batch-size 256 --ubatch-size 128 --cache-type-k q4_1 --cache-type-v q4_19. Youtu-VL-4B-Instruct-GGUF(腾讯优图视觉语言模型)
- 模型页:
https://www.modelscope.cn/models/Tencent-YouTu-Research/Youtu-VL-4B-Instruct-GGUF/summary - 说明:腾讯优图 4B 视觉语言模型(VLM),支持图像 + 文本输入,需 带多模态支持的 llama.cpp。
- 本地路径示例:
E:\models\Youtu-VL-4B-Instruct\F16\Youtu-VL-4B-Instruct-F16.gguf
若该模型需 mmproj(多模态投影),将mmproj-*.gguf与主模型放同目录,启动时加--mmproj "同目录\mmproj-xxx.gguf"。
推荐启动命令(本地 F16 模型,含 mmproj):
./llama-server.exe -m "E:\models\Youtu-VL-4B-Instruct\F16\Youtu-VL-4B-Instruct-F16.gguf" --mmproj "E:\models\Youtu-VL-4B-Instruct\F16\mmproj-Youtu-VL-4b-Instruct-BF16.gguf" --port 8080 --image-max-tokens 2048 --temp 0.1 --top-p 0.001 --repeat-penalty 1.05 -n 12280 --host 0.0.0.0| 参数 | 取值 | 说明 |
|---|---|---|
-m | 主模型 .gguf 路径 | 必填 |
--mmproj | mmproj-*.gguf 路径 | 多模态视觉编码投影,与主模型同目录时按实际文件名填写 |
--port | 8080 | HTTP 端口 |
--image-max-tokens | 2048 | 图像编码最大 token 数 |
--temp | 0.1 | 低温度,输出更稳定 |
--top-p | 0.001 | nucleus 采样 |
--repeat-penalty | 1.05 | 抑制重复 |
-n | 12280 | 单次最大生成 token 数 |
--host | 0.0.0.0 | 允许外网访问 |
按需可加:-ngl 99(GPU 层数)、--alias "Youtu-VL-4B"、-c 4096(上下文长度)。若显存/内存紧张,可减小 -n、-c 或 --image-max-tokens。
10. GLM-4.7-Flash(MXFP4_MOE / Claude Opus 4.5 推理蒸馏版)
- 模型页:
https://huggingface.co/TeichAI/GLM-4.7-Flash-Claude-Opus-4.5-High-Reasoning-Distill - 本地路径示例:
E:\models\GLM-4.7-Flash\MXFP4_MOE\GLM-4.7-Flash-Claude-4.5-Opus-i1-MXFP4_MOE_XL-exp.gguf - 说明:智谱 GLM-4.7-Flash 经 Claude Opus 4.5 High Reasoning 蒸馏的 MXFP4 MOE 量化版(Coding / Science / Deep Research)。单文件 GGUF;若为分片,
-m只填第一个文件即可。官方建议 llama.cpp 使用--min-p 0.01(默认 0.05)。
推荐启动命令(含官方采样参数):
./llama-server.exe -m "E:\models\GLM-4.7-Flash\MXFP4_MOE\GLM-4.7-Flash-Claude-4.5-Opus-i1-MXFP4_MOE_XL-exp.gguf" --alias "GLM-4.7-Flash" --ctx-size 32768 --temp 1.0 --top-p 0.95 --min-p 0.01 --repeat-penalty 1.0 -ngl 99 --port 8080 --threads 8 --batch-size 512 --cache-type-k f16 --cache-type-v f16 --host 0.0.0.0| 参数 | 取值 | 说明 |
|---|---|---|
-m | 模型 .gguf 路径 | 必填;分片时填第一个文件 |
--alias | 服务中显示的模型名 | 客户端选模型用 |
--ctx-size | 32768 | 上下文长度,可按需改为 16384 等 |
--temp | 1.0 | 通用任务;工具调用/基准可用 0.7 |
--top-p | 0.95 | 通用;工具调用可改为 1.0 |
--min-p | 0.01 | 官方建议(llama.cpp 默认 0.05) |
--repeat-penalty | 1.0 | 关闭或 1.0 |
-ngl | 99 | GPU 层数,显存不足可减小或 -ngl 0 纯 CPU |
--port | 8080 | HTTP 端口 |
--cache-type-k/v | f16 | 省内存,可改为 q4_1 进一步省 |
显存/内存紧张时可将 --ctx-size 改为 16384,--batch-size 改为 256,或加 --cache-type-k q4_1 --cache-type-v q4_1。若效果不佳,可尝试 --temp 0.5 或 0.6。


评论 (0)