news 2026/8/28 9:31:42

llama-bench 实测:扫 4 个参数,定位本地 LLM 基准测试的性能瓶颈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
llama-bench 实测:扫 4 个参数,定位本地 LLM 基准测试的性能瓶颈

llama-bench 实测:扫 4 个参数,定位本地 LLM 基准测试的性能瓶颈

【免费下载链接】llama.cppLLM inference in C/C++项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp

同事同一张卡、同一个模型跑出了你的两倍速度,问题多半不在硬件,而在参数。llama-bench 是 llama.cpp 官方的性能测试工具,专门做本地 LLM 基准测试:它把每次推理拆成 PP(prompt processing,提示词处理速度)和 TG(text generation,文本生成速度)两个指标,反复跑多轮取均值,让你用同一把尺子比较量化方案、GPU 层分配和线程数。

矩阵乘法是 LLM 推理的性能核心,也是所有参数调优最终要撬动的东西。

第一次部署:先跑一条默认命令拿到基线

工具在仓库tools/llama-bench/目录下,编译后就在 build 目录里:

git clone https://gitcode.com/GitHub_Trending/ll/llama.cpp cd llama.cpp cmake -B build cmake --build build --config Release -j --target llama-bench

然后直接跑:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf

默认测试是 512 token 提示词 + 128 token 生成,每个配置重复 5 次取均值,输出带标准差:

modelsizebackendngltestt/s
qwen2 7B Q4_K - Medium4.36 GiBCUDA-1pp5127285.68±100.06
qwen2 7B Q4_K - Medium4.36 GiBCUDA-1tg128119.92±0.43

看 tg128 这列就行,那是对话体感的直接反映。标准差大说明机器在飘,先关后台程序再测。注意这个数值不含分词和采样耗时,衡量的是纯推理速度。

生成速度上不去:先查 -ngl,再对比量化版本

扫 -ngl:层数没卸完,速度就卡在 CPU 上

-ngl指定卸载到 GPU 的层数,默认 -1 是全卸。想确认当前分配合不合理,一条命令扫:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf -ngl 10,20,30,35
nglpp512tg128
10373.3613.45
20472.6521.36
30631.8740.04
352400.01131.66

注意最后两档:34→35 层时 tg 从 71.76 跳到 131.66。数没你想的那么线性——7B 模型 Q4 量化后约 4.7 GiB,加上 KV cache,8G 显存装得下,全量卸载才解锁 GPU 的真实算力。中间档速度上不去,说明瓶颈还在 CPU 上那一截层。

Q4_K_M 对 Q8_0:两个量化版本谁更值得部署

-m可以传多个文件,一次测完:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf \ -m models/qwen2.5-7b-q8_0.gguf -p 0 -n 128
modelsizetg128
qwen2 7B Q4_K - Medium4.36 GiB131.42±0.59
qwen2 7B Q8_08.32 GiB87.20±0.31

Q8_0 慢约 34%,体积是 2.4 倍,换来的精度提升值不值,取决于你的场景——这是 GGUF 量化性能对比要回答的问题。显存紧张就留 Q4_K_M,追求质量就 Q8_0,拿数据说话。

一条命令扫完整参数矩阵

参数支持逗号分隔多值、区间first-last,以及first-last+step(步长)和first-last*mult(倍数)两种区间写法。多个参数同时给多值时,llama-bench 会跑完所有组合:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf \ -ngl 8-24+8 -b 128,256,512,1024 -p 1024 -n 0

4 个层数 × 4 个 batch,16 行结果一次出完,比手动一个个试快得多。重复次数用-r控制,默认 5 次;结果飘的时候把它调到 10,同时检查机器温度。

长上下文:-b 和 -t 各管一头

场景换成 RAG 或长文总结,卡点变成提示词处理速度。关掉生成、只测 PP:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf -n 0 -p 1024 -b 128,256,512,1024
n_batchpp1024
1281436.51±3.66
5122254.45±15.59
10242498.61±13.58

1024 相对 128 提升约 74%;再往上报显存不足就降档,小一档的值照样能当参照。

纯 CPU 推理时,线程数用-t扫:

./build/bin/llama-bench -m models/qwen2.5-7b-q4_k_m.gguf -n 0 -n 16 -p 64 -t 4,8,16,32
threadspp64tg16
423.18±0.0612.22±0.07
832.29±1.2116.71±0.66
1633.52±0.0315.32±0.05
3259.00±1.1116.41±0.79

别急着往上加线程:8 到 16 时 tg 不升反降,内存带宽争用的典型信号。最优值通常贴着物理核数,超线程数翻倍往上加多半白搭。

把基线存下来:四种输出格式一张表收完

-o切换输出格式:

格式命令用途
md-o md(默认)直接贴进文档、PR 描述
csv-o csv喂给 Excel 做透视表
json-o jsonsamples_ts每次重复的原始数据和完整硬件配置,方便程序化分析
sql-o sql直接导入 SQLite 长期追踪
./build/bin/llama-bench -o json -m models/qwen2.5-7b-q4_k_m.gguf > baseline.json ./build/bin/llama-bench -o sql -m models/qwen2.5-7b-q4_k_m.gguf | sqlite3 bench.db

之后每次代码或驱动更新后重跑,sqlite3 bench.db "select test_time, avg_ts from llama_bench"一条查询就能看出回退发生在哪次提交。

把基线 JSON 存进仓库,每次 merge 前跑一次再入库,llama.cpp 的性能迭代就不会悄无声息地漏掉。

【免费下载链接】llama.cppLLM inference in C/C++项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 9:28:03

AI办公三巨头竞逐,从工作流到Agent落地的全拆解

你可能已经注意到,阿里、字节、腾讯最近在 AI 办公这件事上动作越来越密。钉钉、飞书、腾讯文档和会议,几乎同步把“AI”从边栏聊天框挪到了产品主界面。但如果你只把这个看成三家公司又在抢流量入口,大概率会低估这件事。 这批产品背后不是…

作者头像 李华
网站建设 2026/8/28 9:25:43

SCUT-HEAD数据集解析与YOLOv8头部检测实战指南

简介:目标检测是计算机视觉的核心任务之一,旨在识别和定位图像中的特定对象。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并利用回归或分类头预测边界框和类别。这项技术的价值在于为高级视觉应用提供基础感知能力&…

作者头像 李华
网站建设 2026/8/28 9:19:53

端侧模型与自研芯片:从玄戒O100看AI本地化最佳实践

今年 AI 硬件的节奏明显变快了,但真正值得开发者注意的消息,往往不是“又发布了一款新品”,而是“把几个原本分散的技术趋势焊在了一起”。小米这次展示的玄戒 O100 原型机和 AI Cube 真机首秀,就属于后者。表面看是自研芯片加一个…

作者头像 李华
网站建设 2026/8/28 9:14:25

LLM生产部署成本全解析:从显存到Token的真实账单

在开发环境里调试 LLM 服务时,控制台经常会弹出一行警告: This is a development server. Do not use it in a production deployment. 很多同学会忽略它,继续用开发服务器做并发测试,直到准备上线时才发现,生产环境…

作者头像 李华
网站建设 2026/8/28 9:12:53

蓝桥杯国赛单片机频率控制器设计:模块化编程与PWM精准控制实战

1. 项目概述:从“频率控制器”看蓝桥杯国赛的实战转向 最近几年带学生备赛蓝桥杯,一个很深的感触是:国赛的题目越来越“实”了。它不再仅仅是考察某个孤立的算法或语法知识点,而是要求你把多个技术模块像搭积木一样组合起来&#…

作者头像 李华