Skip to main content
PromptQuorum

llama-bench:衡量本地LLM速度的最佳工具

llama-bench:衡量本地LLM速度的最佳工具

本页包含指向第三方产品的参考链接。PromptQuorum 未加入任何联盟计划——这些是不产生佣金的普通链接。点击链接和后续步骤由您自行承担责任。这些链接不代表 PromptQuorum 的任何认可或验证。

快速回答

llama-bench随llama.cpp附带,是衡量本地LLM速度的最佳工具——它在固定上下文长度和量化级别下,分别报告提示词处理速度和生成速度。若想快速检查当前配置,可改用Ollama的`--verbose`输出。

  • 综合最佳基准工具:llama-bench——将提示词处理速度与生成速度分离,控制上下文长度和量化。
  • 最快的实际检查:Ollama --verbose——从普通聊天回复中获得大致的每秒token数,无需单独的基准测试工具。
  • 最佳图形界面选择:LM Studio——测试和比较模型时实时显示每秒token数,无需命令行。
  • 最适合硬件对比:llama-bench——这里唯一为受控、可重复的并排测试而设计的选项。
Tool Comparisons中级

关键要点

  • llama-bench是综合最佳的基准测试工具——在固定、可重复的设置下将提示词处理速度与生成速度分离
  • Ollama的--verbose标志是检查"我的配置是否够快"最快的方式,但不能替代受控的硬件对比
  • LM Studio是无需命令行即可快速测试、体验模型、实时查看性能的最佳图形界面选择
  • 在多次运行之间保持模型、量化和上下文长度一致——比较不同设置只会得到毫无意义的数字
  • 多次运行并取平均值,切勿相信网上找到的、没有附带设置信息的每秒token数字

最佳选择:llama-bench

对于任何需要可重复、可跨硬件比较的速度数值的人来说,llama-bench都是正确的默认选择。它是llama.cpp的一部分,通过命令行运行,并为每次测试报告两个独立数值:提示词处理速度(模型读取输入的速度)和生成速度(模型生成新token的速度)。这两个数值在负载下的表现差异很大,因此把它们合并成一个数字的工具只能给你看到一半的画面。

在购买前比较两块GPU、测试新的Mac或PC、比较量化级别、公开发布结果,或判断硬件升级是否值得时,都应使用llama-bench。它会自动重复每次测试并报告平均值,你无需手动运行五次。

最常见的后续问题是上下文长度以及提示词/生成长度选项到底控制什么。简而言之:llama-bench可以让你分别固定测试提示词的长度和生成的token数量,因此你可以在不改变其他任何设置的情况下,测试类似聊天的短场景或类似文档的长场景——正是这种分离才让两次结果具备可比性。

llama-bench不是商业产品——它是GitHub上llama.cpp项目的一个免费开源组成部分,只要构建或安装llama.cpp就会自动包含。

快速测试:Ollama --verbose

Ollama的`--verbose`标志是检查当前配置是否足够快的最快方式——但不能替代llama-bench。运行ollama run <model> --verbose会在普通聊天回复结束时打印每秒token数,无需单独的基准测试步骤。

该数值来自单次、不受控的生成过程,而非重复的固定上下文运行,因此噪声更大,不适合比较两种不同的硬件。用它来回答"现在这个配置能不能用来聊天",而当答案需要经得起与另一台机器比较时,请使用llama-bench。

Ollama是免费开源的——安装说明请参见Ollama官网

最佳图形界面选择:LM Studio

如果你想在不打开终端的情况下实时查看每秒token数,LM Studio是最佳选择。它的聊天界面会实时显示生成速度,便于在工作时快速检查硬件、体验模型,并并排比较不同量化。

和Ollama的`--verbose`标志一样,LM Studio的实时读数便捷但不够严谨——它没有提供影响llama-bench结果可信度、用于硬件购买决策的运行次数或上下文长度控制。LM Studio提供免费版本;下载请见LM Studio官网

购买前先做基准测试

大多数基准测试相关搜索背后真正的问题不是"我该用哪个工具",而是"我该买哪种硬件"。陌生人帖子里的通用每秒token数无法回答这个问题——在决定之前,请在你实际考虑的两块GPU上运行相同的模型、量化和上下文长度。

一旦从自己的llama-bench运行中获得真实数据,如果继续使用台式机,可以将其与我们的本地LLM最佳GPU指南中的选项进行比较;如果想要紧凑的常开设备,可参考本地LLM最佳迷你主机指南;如果想用统一内存而非独立GPU,可参考Apple Silicon与NVIDIA GPU对比文章。

什么才是有用的基准测试

有用的比较会在多次运行之间保持模型、量化级别、上下文长度和提示词内容不变,并分别报告提示词处理速度和生成速度。没有这些控制,单次运行得到的每秒token数几乎无法说明同一配置在更长提示词或不同量化下的表现。

多次运行并取平均值——单次运行会受到热节流、后台进程和模型冷启动加载的影响。除非同时注明模型、量化和上下文长度,否则请把论坛或社交媒体上未注明来源的每秒token数当作粗略的轶事,而非基准测试结果。

结论

如需严谨、可跨硬件比较的基准测试,请使用llama-bench。如需快速检查当前配置,请使用Ollama的`--verbose`输出。如需最简单、带实时性能显示的图形界面体验,请使用LM Studio。如果真正的目的是决定买什么,请在决定前,在两台机器上对你真正关心的那个模型和量化进行基准测试——然后将胜出者与我们的GPU迷你主机Mac指南进行比较。

常见问题

llama-bench的上下文大小和提示词/生成选项分别控制什么?
llama-bench可以让你独立于运行所用的上下文长度,固定测试提示词的token数和生成的token数——这样就能在不改变其他任何设置的情况下,测试短上下文或长上下文场景。正是这种对设置的控制,才让两次运行具有可比性。
为什么基准测试结果在不同运行之间会有差异?
热节流、后台进程和模型的冷启动加载都会影响单次运行的结果。请对多次运行取平均值——llama-bench会自动完成这一点——而不是相信单次样本得到的数值。
提示词处理速度和生成速度哪个更重要?
这取决于任务。长文档摘要主要受提示词处理速度影响,因为大部分工作是读取输入。交互式聊天主要受生成速度影响,因为模型在简短提示词之后逐token生成大部分输出。
我能把网上找到的每秒token数数值与自己的硬件比较吗?
只有在模型、量化级别和上下文长度完全一致的情况下才可以。没有这些细节的每秒token数数值无法与你的配置比较——把论坛或社交媒体上未注明来源的数字当作粗略的轶事,而非基准测试结果。