下载安装llama.cpp

https://github.com/ggml-org/llama.cpp/releases/tag/b9190

  • 根据自己的cuda版本,下载不同的dll

2026-05-17T08:04:12.png

  • 下载llama.cpp程序
    2026-05-17T08:04:55.png
  • 安装
    解压缩 llama.cpp,替换 cuda dll

启动脚本(带说明)

cc.bat 注意修改路径 D:\llama\llama-b9190-bin-win-cuda-12.4-x64

@echo off
cd D:\llama\llama-b9190-bin-win-cuda-12.4-x64
taskkill /f /im llama-server.exe >nul 2>&1

:: =====================================================
:: 重要:每行末尾的 ^ 是换行续行符
:: ^ 前面必须有空格,否则参数会和 ^ 连在一起导致解析错误
:: 最后一个参数行不需要 ^
:: =====================================================

:: GGML_CUDA_FORCE_MMQ=1
:: 强制使用矩阵乘法量化(MMQ)内核,专为量化模型优化,比标准 cuBLAS 更快
set GGML_CUDA_FORCE_MMQ=1

:: GGML_CUDA_ENABLE_GRAPHS=1
:: 启用 CUDA Graph,将 GPU 操作序列化为图结构,减少 CPU 调度开销,提升推理速度
set GGML_CUDA_ENABLE_GRAPHS=1

.\llama-server.exe ^
  :: -m 模型文件路径
  :: 指定要加载的 GGUF 格式模型文件完整路径
  -m "D:\models\huihui-qwen3.6-35b-a3b-claude-4.7-opus-abliterated-q4_k_m.gguf" ^

  :: --host 监听地址
  :: 0.0.0.0 表示监听所有网卡,局域网内其他设备可以访问
  :: 如果只想本机访问,改为 127.0.0.1
  --host 0.0.0.0 ^

  :: --port 监听端口
  :: API 服务端口,客户端连接地址为 http://IP:8080
  --port 8080 ^

  :: --alias 模型别名
  :: 在 API 响应中显示的模型名称,客户端通过此名称识别模型
  --alias Qwen3.6-35B-MoE ^

  :: --ctx-size 上下文长度
  :: 单次对话最大 token 数,越大占用显存越多
  :: 当前 32768 约占用 14742 MiB 显存,在安全范围内
  --ctx-size 32768 ^

  :: --parallel 并发槽位数
  :: 同时处理的请求数量,单用户场景设为 1 即可
  :: 增大会成倍增加显存占用
  --parallel 1 ^

  :: --cont-batching 连续批处理
  :: 允许在处理一个请求时插入新请求,提高多用户场景吞吐量
  :: 单用户也建议开启,对性能无负面影响
  --cont-batching ^

  :: --batch-size 提示词批处理大小
  :: 处理输入(prefill 阶段)时每批最大 token 数
  :: 越大处理长输入越快,但瞬间显存占用更高,512 是平衡值
  --batch-size 512 ^

  :: --ubatch-size 微批处理大小
  :: batch 内部的物理计算单元大小,影响 GPU 利用率
  :: 通常与 batch-size 保持一致
  --ubatch-size 512 ^

  :: --cache-type-k K缓存量化类型
  :: KV Cache 中 Key 部分的量化格式
  :: q4_0 比默认 f16 节省约 75% 显存,对质量影响极小
  --cache-type-k q4_0 ^

  :: --cache-type-v V缓存量化类型
  :: KV Cache 中 Value 部分的量化格式,同上
  --cache-type-v q4_0 ^

  :: --flash-attn 闪存注意力
  :: 使用 FlashAttention 算法计算注意力,显著降低显存占用并提升速度
  :: 对长上下文效果尤为明显
  --flash-attn on ^

  :: --no-mmap 禁用内存映射
  :: 禁止将模型文件内存映射到磁盘,改为完整加载到内存
  :: 避免推理时触发磁盘 IO,提升稳定性和速度
  --no-mmap ^

  :: --mlock 锁定内存
  :: 将模型数据锁定在物理内存中,防止被系统换页到磁盘
  :: 避免因内存不足导致的性能抖动
  --mlock ^

  :: --reasoning-budget 思考预算
  :: 限制模型思考(<think> 标签内)的最大 token 数
  :: 防止模型陷入无限思考循环,512 约对应几百字的思考内容
  --reasoning-budget 512 ^

  :: --repeat-penalty 重复惩罚
  :: 对已出现过的 token 施加惩罚,值越大越不容易重复
  :: 1.0 表示不惩罚,1.05 轻度惩罚,有效减少循环输出
  --repeat-penalty 1.05 ^

  :: --frequency-penalty 频率惩罚
  :: 根据 token 出现频率动态增加惩罚,出现越多惩罚越重
  :: 比 repeat-penalty 更细腻,0.03 为轻度设置
  --frequency-penalty 0.03 ^

  :: --temp 温度
  :: 控制输出的随机性,值越低输出越确定,值越高越发散
  :: 0.6 适合推理任务,创意写作可调高到 0.8-1.0
  --temp 0.6 ^

  :: --top-p 核采样
  :: 只从累计概率达到 top-p 的候选 token 中采样
  :: 0.95 表示保留概率前 95% 的 token,过滤掉低概率噪声
  --top-p 0.95 ^

  :: --top-k топ-K采样
  :: 只从概率最高的 K 个 token 中采样
  :: 40 是常用值,与 top-p 配合使用双重过滤低质量 token
  --top-k 40 ^

  :: --min-p 最小概率过滤
  :: 过滤掉概率低于最高概率 × min-p 的 token
  :: 0.05 表示过滤掉概率不足最高概率 5% 的候选,比 top-k 更动态
  --min-p 0.05
pause

访问和测试

http://ip:8080/ ,大概速度:50toks/s

2026-05-17T08:06:52.png